You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 050ab4e
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/releases/CELLSCRIPT_0_23_RELEASE_NOTES.md
+47-3Lines changed: 47 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
**Status**: Development release notes for `nightly-0.23`; not a stable release
4
4
certificate.
5
5
6
-
**Updated**: 2026-08-01.
6
+
**Updated**: 2026-08-02.
7
7
8
8
CellScript 0.23 makes its source semantics and compatibility axes explicit.
9
9
Edition 2026 is the first and only CellScript source-semantics epoch. The
@@ -13,8 +13,10 @@ canonical location:
13
13
14
14
This document records completed 0.23 work. The public Registry infrastructure,
15
15
read/write domains, website, CLI read authority, and automatic compiler-backed
16
-
evidence chain are deployed; the first publisher-owned JoyID publication and
17
-
clean-machine install remain the final Registry adoption checkpoint. Broader
16
+
source-package evidence chain are deployed. General artifact, reproduction,
17
+
deployment, and commitment support is implemented in-tree, while canonical
18
+
Registry Script deployment, the first real non-CellScript mainnet attestation,
19
+
and publisher-owned clean-machine adoption remain checkpoints. Broader
18
20
RGB++/Fiber evidence and the Off-Chain Session Runtime profile remain roadmap
19
21
work.
20
22
@@ -30,6 +32,9 @@ work.
30
32
| Registry operations |`api.registry.cellscript.dev` and `registry.cellscript.dev` run as an isolated self-hosted Postgres/Node/object-volume/read-only-nginx stack behind trusted TLS. |
31
33
| Registry retry safety | Pre-admission failures release only the failed request's nonce and retry reservation; accepted metadata commits transactionally, and readiness covers the actual managed object prefixes. |
32
34
| Registry verification | Publish transactionally queues a leased, bounded real-compiler verification job; verified evidence/status commit atomically before crash-safe static-index convergence, and default search stays hidden until the baseline passes. |
35
+
| Registry artifact profiles | CellScript dependencies, CKB executables, runtime verifiers, reproducible binaries, and copy-only templates share discovery but retain different resolver, TCB, deployment, and copy contracts. |
36
+
| Registry reproducibility | Reproducible profiles stay `evidence_required` until independent builder reports bind the signed environment, source, recipe, executable, and build logs. |
37
+
| Registry chain evidence | Mainnet deployment records are RPC-checked; configured Registry Type/Lock Scripts produce wallet transaction intents and a bounded Type-Script indexer reconciles live commitments without erasing history. |
33
38
| Production HTTP boundary | API/static JSON responses use HSTS, deny-all content policy, anti-framing, no-sniff, and restrictive browser permissions; the website ships a reproducible read-only nginx deployment with health checks and bounded logs/temp storage. |
34
39
| Registry install policy | Explicit unverified/quarantined install acknowledgements persist per dependency, so lock refresh and subsequent builds retain the same auditable risk choice. |
35
40
| Tooling | CLI, LSP, WASM, website bindings, examples, and package tooling use the same edition contract. |
@@ -163,6 +168,41 @@ This removes the previous cross-process nondeterminism caused by serializing
163
168
`HashMap` fields directly and gives the publisher and isolated verifier one
164
169
stable identity.
165
170
171
+
## General Artifact And Chain Evidence Closure
172
+
173
+
The public model no longer equates Registry discovery with `cellc install`.
174
+
Each release declares an artifact kind, profile, source language, and
175
+
consumption mode. Only `cellscript_source` plus `dependency` enters the package
176
+
resolver. A CKB executable is consumed through explicit artifact verification,
177
+
pinning, deployment, and CellDep commands; a runtime verifier is a declared TCB
178
+
input; and a template is copied without becoming an implicit dependency.
179
+
180
+
Reproducibility is now an evidence transition rather than a manifest adjective.
181
+
`cellc artifact reproduction-evidence` verifies two to sixteen reports from
182
+
distinct builder IDs. Every report must use
183
+
`cellscript-reproduction-report-v1` and match the signed environment, source
184
+
hash, build-recipe hash, executable hash, build-log hash, and timestamp. The
185
+
Registry binds the promotion to the accepted `verified_build` evidence. Until
186
+
that promotion succeeds, a reproducible executable remains
187
+
`evidence_required` and cannot acquire deployment evidence.
188
+
189
+
For an RPC-verified mainnet deployment, the commitment endpoint computes the
190
+
canonical `cellscript-registry-commitment-v1` payload and compact
191
+
`CSREGv1 || commitment_hash` Cell data. When operators configure the canonical
192
+
Registry Type Script, its CellDep, and the attestor Lock, the endpoint also
193
+
returns a mainnet-only wallet transaction intent. A compatible wallet supplies
194
+
capacity, inputs, change, fee, witnesses, signatures, and broadcast. Scheduled
195
+
maintenance scans exact Type Script matches through the CKB indexer and
196
+
reconciles current state: a matching live Cell promotes the release to
197
+
`on_chain_attested`; a spent attestation falls back to `deployed`; and a stale
198
+
deployment falls back to `verified_build`. Evidence remains append-only.
199
+
200
+
This is an implementation boundary, not a claim that the canonical mainnet
201
+
Registry Script has already been deployed. Production chain attestation stays
202
+
disabled until those three Script identities are deployed and configured, and
203
+
the first real non-CellScript mainnet artifact is still an adoption/evidence
204
+
checkpoint.
205
+
166
206
## CLI, LSP, WASM, And Website
167
207
168
208
- Package commands read Edition 2026 from `Cell.toml`.
@@ -176,6 +216,10 @@ stable identity.
176
216
compatibility-profile hash, and use the checked-in fixture only as an
177
217
explicitly labelled read-only mirror during API failure. The Coming Soon
178
218
surface is removed.
219
+
- Submit separates artifact kind from source language instead of hard-coding
220
+
Rust. Manage exposes isolated reproduction, mainnet deployment, and
221
+
commitment command builders alongside publish, inspect, and availability;
222
+
task-specific fields disappear when the task changes.
179
223
-`cellc auth namespace claim` and the submit page's **Claim namespace** action
180
224
expose the namespace-ownership admission step required before a package's
181
225
first public publish. Capability registration no longer appears to imply a
|`source_package` / library | yes | Source and API identity must be pinned and reproducible. |
350
-
|`runtime_verifier` / `spawn-verifier`| no, unless wrapped as a CellScript package today | TCB object; requires verifier ID, ABI, artifact identity, build profile, security status, and production deployment pins when used in production. |
351
-
|`deployable_contract`| no, unless it is a CellScript source package today | Must expose build/audit/deployment identity, not just source text. |
352
-
|`deployed_artifact_record`| no | Must bind network, OutPoint, dep type, code/data hash, and status. |
353
-
|`reproducible_artifact`| no | Must bind source hash, build profile hash, artifact hash, and compatibility profile. |
354
-
|`protocol_profile_library`| only if it is a real CellScript package today | Must be a real package with checkable source/schema/API semantics. |
355
-
|`template`, `cookbook`, `protocol_skeleton`, scaffold | no | Copy-only starting material; after copying, it becomes local project code. |
349
+
|`source_library` / `profile_library`| yes | Compiler-backed source and API identity are pinned in `Cell.lock`. |
350
+
|`runtime_verifier`| no |`artifact fetch`, `verify`, and `pin`; verifier ID, IPC ABI, artifact, build, security, and production CellDep remain explicit TCB facts. |
351
+
|`deployable_contract`| no |`artifact fetch`, `verify`, `pin`, `record-deployment`, and `cell-dep` bind build and live mainnet deployment identity. |
352
+
|`reproducible_binary`| no |`artifact reproduction-evidence` binds independent builders to source, recipe, environment, executable, and logs before verified use. |
353
+
|`template`| no |`artifact copy` authenticates a bounded file map, rejects traversal and overwrite, and then leaves local project source. |
356
354
357
355
The rule is intentionally blunt:
358
356
@@ -373,9 +371,8 @@ hashes, build profile, TCB/security status, and any production CellDep pins.
373
371
A NovaSeal starter project, by contrast, is not dependency-safe merely because
374
372
it contains useful `.cell` code. If users are expected to copy it and edit terms,
375
373
authorities, manifests, or deployment pins, it belongs in a cookbook or template
376
-
flow, not in dependency resolution. The current `cellc` CLI does not ship a
377
-
template or cookbook-copy command; copy starter material with repository tooling
378
-
or a future scaffold command, then treat the result as local project source.
374
+
flow, not in dependency resolution. Use `cellc artifact copy`, then treat the
375
+
authenticated result as local project source.
379
376
380
377
It should not be installed with:
381
378
@@ -403,20 +400,26 @@ cellc info --json
403
400
Use `info` when you want a quick view of the package boundary before building or
404
401
debugging dependency resolution.
405
402
406
-
## Experimental Commands
403
+
## Registry Commands
407
404
408
405
Registry source-package installation and registry-backed `update` are supported
409
-
for the CellScript source-package profile. The public registry policy is:
0 commit comments