Skip to content

Commit c79f5e4

Browse files
committed
docs: record Registry production verification rollout
1 parent 4b1fdee commit c79f5e4

11 files changed

Lines changed: 92 additions & 22 deletions

‎CHANGELOG.md‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,14 @@
4444
excludes `source_published` and `indexed_pending` by default while preserving
4545
explicit status queries and direct audit URLs. Package-manifest identity uses
4646
canonical recursively sorted JSON, eliminating cross-process `HashMap` order
47-
drift between publisher and verifier.
47+
drift between publisher and verifier. Deploy that worker to the live
48+
production topology and exercise external publish, queue claim, real
49+
compilation, evidence promotion, static convergence, default visibility, and
50+
a fresh consumer install/check/build without an unverified override. The
51+
one-time seeded smoke identity and live objects were removed afterward, queue
52+
counts returned to zero, and a checksum-verified backup captured the migrated
53+
clean state. Production Compose now accepts explicit prebuilt API/verifier
54+
image references so shared hosts can deploy with `--no-build`.
4855
- Close the 0.23 syntax-audit consistency gaps: canonical type declarations
4956
now use comma-terminated fields, syntax-combination gates cover canonical and
5057
comma-free compatibility input, checked example mirrors use named `U64_MAX`

‎docs/CELLSCRIPT_REGISTRY_PHASE1.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
CellScript CKB profile. Policy decisions defer to
55
[`CELLSCRIPT_REGISTRY_PRODUCTION_BOUNDARY_ADR.md`](CELLSCRIPT_REGISTRY_PRODUCTION_BOUNDARY_ADR.md).
66

7-
**Production update (2026-07-31)**: the public list/detail/evidence API is live
7+
**Production update (2026-08-01)**: the public list/detail/evidence API is live
88
at `https://api.registry.cellscript.dev`, immutable package objects are served
99
independently at `https://registry.cellscript.dev/packages/`, and the live-data
1010
website is at `https://cellscript.dev/registry/`. The deployed adapter is
11-
Node/Postgres/filesystem/read-only-nginx; Cloudflare remains an alternative.
11+
Node/Postgres/filesystem/read-only-nginx with a leased compiler-backed verifier;
12+
Cloudflare remains an alternative. The live publish-to-install smoke and a
13+
post-migration checksum-verified backup pass.
1214
The first publisher-owned JoyID publication and clean-machine install are still
1315
the final adoption checkpoint, so this walkthrough does not claim that
1416
interactive acceptance has already happened.

‎docs/releases/CELLSCRIPT_0_23_RELEASE_NOTES.md‎

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ canonical location:
1212
`WitnessArgs.input_type` on the selected script-group witness.
1313

1414
This document records completed 0.23 work. The public Registry infrastructure,
15-
read/write domains, website, CLI read authority, and evidence chain are
16-
deployed; the first publisher-owned JoyID publication and clean-machine install
17-
remain the final Registry adoption checkpoint. Broader RGB++/Fiber evidence and
18-
the Off-Chain Session Runtime profile remain roadmap work.
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
18+
RGB++/Fiber evidence and the Off-Chain Session Runtime profile remain roadmap
19+
work.
1920

2021
## At A Glance
2122

@@ -303,6 +304,18 @@ containers, volumes, package rows, objects, and test credential were removed
303304
afterward. This is deployment-mechanics evidence, not publisher-owned JoyID
304305
evidence.
305306

307+
The same automatic pipeline was then deployed to the live production topology
308+
from CellScript commit `4b1fdeec`. An explicitly seeded one-time smoke
309+
principal/capability/namespace completed external `cellc publish`, worker claim,
310+
real compilation, atomic evidence promotion, static convergence, default-list
311+
visibility, and a fresh consumer install/check/build without
312+
`--allow-unverified`. The exact database records were deleted transactionally;
313+
the two test objects were removed from the served volume and retained only in
314+
a checksum-verified recovery directory. All queue counts returned to zero, all
315+
four production containers remained healthy, and a checksum-verified backup
316+
captured the migrated, cleaned state. This proves the live worker boundary but
317+
still does not substitute for publisher-owned JoyID authorisation.
318+
306319
These endpoints prove the deployed service boundary, not a publisher-owned
307320
JoyID signature or first-package install. That interactive positive flow
308321
remains the explicit adoption checkpoint.

‎docs/tutorials/phase1-end-to-end.md‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ The production surfaces are live at `https://cellscript.dev/registry/`,
2020
`https://api.registry.cellscript.dev`, and
2121
`https://registry.cellscript.dev`. The first publisher-owned JoyID publication
2222
and clean-machine install remain the final interactive adoption checkpoint.
23+
The automatic compiler-backed worker is deployed and has passed a live
24+
publish-to-install smoke; that one-time seeded identity is deployment evidence,
25+
not a substitute for the remaining publisher-owned JoyID flow.
2326

2427
## Audience
2528

‎docs/wiki/Tutorial-12-Phase1-Registry-End-to-End.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,15 @@ object. Queue attempts are bounded; rejected builds dead-letter, while
127127
operators can inspect metrics and audit an explicit requeue. Admission therefore
128128
returns `verification: queued`, never a synchronous verification claim.
129129

130+
The worker is live in the production topology as of 2026-08-01. Deployment
131+
acceptance used an explicitly seeded one-time smoke identity to exercise the
132+
normal external `cellc publish` path, queue lease, real compiler, evidence
133+
commit, static publication, default visibility, and a fresh consumer
134+
install/check/build without an unverified override. The test records and live
135+
objects were removed afterward, and the migrated clean state was backed up.
136+
This validates the deployed automation; it deliberately does not count as a
137+
publisher-owned JoyID capability registration or namespace claim.
138+
130139
## Consumer Flow
131140

132141
Add a dependency, resolve it, and check the resulting package graph:

‎roadmap/CELLSCRIPT_0_23_ROADMAP.md‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,9 @@ Source documents:
146146

147147
**Status (2026-08-01): production infrastructure, public reads, website, CLI
148148
resolution, evidence promotion, and the bounded automatic source/build
149-
verification pipeline are implemented. Deployment of the new verifier worker
150-
and its production smoke are the current operational step. The first
149+
verification pipeline are implemented and deployed. The live worker completed
150+
the full publish-to-install production smoke, and the migrated database/object
151+
state has a checksum-verified backup. The first
151152
publisher-owned positive JoyID publication and clean-machine install remain the
152153
final adoption checkpoint.**
153154

@@ -244,6 +245,10 @@ Production-readiness evidence currently proves:
244245
- an isolated production Compose topology completed a real `cellc publish` from
245246
queue admission through leased compilation, evidence persistence,
246247
`verified_build`, default-list visibility, and static-object publication;
248+
- the live production topology repeated that path from external `cellc publish`
249+
through real compiler verification and a fresh consumer install/check/build
250+
without `--allow-unverified`; the explicitly seeded smoke identity and its
251+
served rows/objects were removed afterward;
247252
- live health/readiness checks cover Postgres, the object volume, runtime, and
248253
admin configuration;
249254
- the proxy admits a 2 MiB body to application validation and the Node adapter
@@ -255,7 +260,8 @@ Production-readiness evidence currently proves:
255260
object-hash drift, or source-tree drift;
256261
- API restart recovery preserves the database, audit log, and object volumes;
257262
- the daily systemd backup produces checksum-verified Postgres and object-store
258-
archives, and both archive formats pass non-destructive restore inspection;
263+
archives, both archive formats pass non-destructive restore inspection, and
264+
a post-`0002` backup captured the migrated, cleaned production state;
259265
- the website serves the live Registry and contains no Coming Soon surface.
260266
- a cryptographically valid WebAuthn-shaped P-256 fixture completes capability
261267
registration, explicit namespace claim, signed publish, idempotent replay,

‎roadmap/CELLSCRIPT_ROADMAP.md‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ The current project direction is simple:
3535
| 0.21 planned scope | Semantic closure, authenticated compiler evidence, CLI UX reorganisation, dedicated MCP server and CellScript programming skills, derived cyclic graph views, type-level TemplateLayout metadata, and deferred optional template Merkleisation. | [0.21 roadmap](../docs/CELLSCRIPT_0_21_ROADMAP.md), [0.21 CLI UX plan](CELLSCRIPT_0_21_CLI_UX_PLAN.md) |
3636
| 0.22 release scope | Released typed transaction views, finite invariant quantifiers, bounded collections, capability entailment, concrete payload enums, validity blocks, borrow regions, stable `E2xxx` diagnostics, and metadata schema 55. | [0.22 release notes](../docs/releases/CELLSCRIPT_0_22_RELEASE_NOTES.md), [0.22 type/set roadmap](CELLSCRIPT_0_22_TYPE_AND_SET_THEORY_ROADMAP.md) |
3737
| 0.22 bounded Fiber interoperability | The dedicated `fungible-type-group-v1` compiler/adapter path and local-devnet scenarios are implemented. The pinned complete external lifecycle/negative matrix remains pending, so this is not a production-readiness claim. | [0.22 Fiber plan](CELLSCRIPT_0_22_FIBER_NATIVE_SUPPORT_PLAN.md), [operator guide](../examples/fiber/README.md) |
38-
| 0.23 active scope | The public Registry infrastructure, HTTPS read/write domains, live website browse/detail surfaces, accepted-status CLI resolution, evidence promotion, and native tooling migration are implemented. The first publisher-owned JoyID publication plus clean-machine install remains the Registry adoption checkpoint; RGB++/Fiber and Off-Chain Session Runtime work retain their explicit evidence boundaries. | [0.23 roadmap](CELLSCRIPT_0_23_ROADMAP.md) |
38+
| 0.23 active scope | The public Registry infrastructure, HTTPS read/write domains, live website browse/detail surfaces, accepted-status CLI resolution, evidence promotion, automatic compiler-backed verification worker, and native tooling migration are implemented and deployed. The live publish-to-install smoke and migrated backup pass; the first publisher-owned JoyID publication plus clean-machine install remains the Registry adoption checkpoint. RGB++/Fiber and Off-Chain Session Runtime work retain their explicit evidence boundaries. | [0.23 roadmap](CELLSCRIPT_0_23_ROADMAP.md) |
3939
| CKB language fit | CKB-first design is confirmed; remaining gaps are signer binding, continuity policy, capacity policy, and declarative time policy. | [CKB target profiles](../docs/wiki/Tutorial-05-CKB-Target-Profiles.md), [production gates](../docs/wiki/Tutorial-06-Metadata-Verification-and-Production-Gates.md) |
4040
| Surface syntax | Low-risk syntax pass and 0.13.2 syntax-governance hardening are implemented; authority-sensitive syntax remains staged. | [Surface elegance RFC](../docs/CELLSCRIPT_SURFACE_ELEGANCE_RFC.md), [Syntax-combination audit](../docs/CELLSCRIPT_SYNTAX_COMBO_AUDIT_METHODOLOGY.md) |
4141
| Collections | Stack-backed fixed-width `Vec<T>` helper surface is implemented; cell-backed and generic map ownership remain fail-closed. | [Collections support matrix](../docs/CELLSCRIPT_COLLECTIONS_SUPPORT_MATRIX.md), [0.13 release scope](../docs/releases/CELLSCRIPT_0_13_RELEASE_SCOPE.md) |
@@ -309,12 +309,13 @@ Detailed status:
309309
than language-theoretic. It turns the 0.22 compiler facts into running
310310
infrastructure and absorbs Myelin's off-chain needs into upstream:
311311

312-
- **Public registry production deployment**: stand up the implemented
313-
`services/registry-api` Cloudflare Worker on `cellscript.dev` with Neon
314-
Postgres via Hyperdrive and R2 source snapshots; wire the Astro frontend
315-
and `cellc publish` / `cellc auth capability *` to the live JoyID-rooted
316-
write API; keep hash-first verification and the static
317-
`/packages/*` read path as the read authority.
312+
- **Public registry production deployment**: the self-hosted Node/Postgres
313+
write service, read-only static object service, live Astro frontend, and
314+
compiler-backed verification worker are deployed on the public domains.
315+
Hash-first resolution stays limited to accepted evidence states. The first
316+
publisher-owned JoyID capability/publication/install is the remaining
317+
interactive adoption checkpoint; Cloudflare/Hyperdrive/R2 stays an optional
318+
alternative topology.
318319
- **Native tooling migration complete**: the gate-driving backend, syntax,
319320
production-evidence, tooling-release, NovaSeal, and Evolving-DOB tools now
320321
live in Rust crates; website data generation uses Node modules. Evidence

‎roadmap/CELLSCRIPT_ROADMAP_OVERVIEW.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ Each release answers a specific question:
9393
| v0.21 planned scope | Semantic closure, authenticated compiler evidence, CLI UX reorganisation, dedicated MCP server and CellScript programming skills, derived cyclic ProtocolGraph views, type-level TemplateLayout metadata, and deferred optional template Merkleisation. | [v0.21 roadmap](../docs/CELLSCRIPT_0_21_ROADMAP.md), [v0.21 CLI UX plan](CELLSCRIPT_0_21_CLI_UX_PLAN.md) |
9494
| v0.22 draft scope | Draft type-theory and set-theory guided language hardening proposal. This scope requires pre-talk soundness fixes and Nervos Talk Discussion before adoption: callable effects for ordinary functions, terminal flow metadata, typed transaction-view handles, finite source-view quantifiers, bounded cell-collection design, type validity blocks, explicit borrow regions, capability algebra explanations, concrete payload ADTs, and ProtocolGraph role UX. | [v0.22 type and set theory roadmap draft](CELLSCRIPT_0_22_TYPE_AND_SET_THEORY_ROADMAP.md) |
9595
| v0.22 Fiber native-support proposal | Proposed no-profile integration for structurally compatible fungible CellScript Type Scripts. Compatibility must be derived from compiler evidence, requires no Fiber fork, and is not complete until the pinned CKB/Fiber lifecycle matrix passes. | [v0.22 no-profile Fiber native-support plan](CELLSCRIPT_0_22_FIBER_NATIVE_SUPPORT_PLAN.md) |
96-
| v0.23 planned scope | Public registry production deployment on `cellscript.dev`, completed native test/fixture tooling with repository-wide source-policy enforcement, deeper RGB++ / Fiber integration, and an Off-Chain Session Runtime profile with initial concurrency support so the Myelin vendored fork can re-converge on upstream. | [v0.23 roadmap](CELLSCRIPT_0_23_ROADMAP.md) |
96+
| v0.23 active scope | The public Registry, accepted-status resolver, automatic compiler-backed verification worker, and native test/fixture tooling are deployed or implemented; the live publish-to-install smoke and migrated backup pass. Publisher-owned JoyID adoption, deeper RGB++ / Fiber integration, and the Off-Chain Session Runtime profile remain tracked scope. | [v0.23 roadmap](CELLSCRIPT_0_23_ROADMAP.md) |
9797
| Spore/RGB++ adapters | Proposed package/adapter slices for a deployable signature verifier, executable bounded CellDep scans, bounded hash/Merkle primitives, and pinned Spore/RGB++ cookbook integrations. None are current production-support claims. | [Spore/RGB++ interoperability plan](CELLSCRIPT_SPORE_RGBPP_INTEROP_PLAN.md) |
9898
| CKB language fit | CKB-first design is confirmed; remaining hardening areas are signer binding, continuity policy, capacity policy, and declarative time policy. | [CKB target profiles](../docs/wiki/Tutorial-05-CKB-Target-Profiles.md), [production gates](../docs/wiki/Tutorial-06-Metadata-Verification-and-Production-Gates.md) |
9999
| Surface syntax | Low-risk syntax pass is implemented; authority-sensitive syntax remains staged. | [Surface elegance RFC](../docs/CELLSCRIPT_SURFACE_ELEGANCE_RFC.md) |

‎services/registry-api/README.md‎

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,13 +148,24 @@ so the 5 MiB snapshot plus base64/JSON overhead reaches the Node adapter.
148148
```bash
149149
cp deploy/.env.example deploy/.env
150150
# Generate and insert independent high-entropy database and admin secrets.
151-
# If this service directory is deployed outside the repository checkout, set
152-
# CELLSCRIPT_REGISTRY_SOURCE_ROOT to the absolute CellScript source directory.
151+
# Pin REGISTRY_API_IMAGE and REGISTRY_VERIFIER_IMAGE to immutable prebuilt
152+
# linux/amd64 image tags or digests.
153153
chmod 600 deploy/.env
154154
docker compose --env-file deploy/.env -f deploy/docker-compose.production.yml config
155-
docker compose --env-file deploy/.env -f deploy/docker-compose.production.yml up -d --build
155+
docker compose --env-file deploy/.env -f deploy/docker-compose.production.yml up -d --no-build
156156
```
157157

158+
Build the API and verifier images in CI or on a dedicated build host, verify
159+
their architecture and image identities, then transfer them to the production
160+
Docker daemon before running the command above. Do not compile the Rust
161+
compiler/verifier image on a resource-shared production host: the build context
162+
is intentionally the full CellScript tree and can consume enough CPU and memory
163+
to interfere with unrelated workloads. `docker compose ... up -d --build`
164+
remains appropriate for an isolated development or staging host with adequate
165+
capacity. If Compose builds from a service directory copied out of the
166+
repository, set `CELLSCRIPT_REGISTRY_SOURCE_ROOT` to the absolute CellScript
167+
checkout first.
168+
158169
The API container applies tracked migrations before it starts accepting
159170
traffic. Postgres is reachable only on the internal network. The API, verifier,
160171
and static services run with read-only root filesystems, bounded temporary
@@ -168,6 +179,16 @@ validation, a structured application 413 at 7 MiB + 1 byte, rejection of
168179
unauthorised admin writes and static POSTs, path-traversal rejection, API
169180
restart recovery, and persistent audit/database/object volumes.
170181

182+
On 2026-08-01 the automatic verifier was deployed to the live production
183+
topology from CellScript commit `4b1fdeec`. A one-time, explicitly seeded smoke
184+
principal/capability/namespace drove the normal external `cellc publish` path
185+
through queue claim, real compilation, evidence persistence,
186+
`verified_build`, static publication, default-list visibility, and a fresh
187+
consumer install/check/build without `--allow-unverified`. The exact test rows
188+
were deleted transactionally afterward; its two object files were moved out of
189+
the served volume into a checksum-verified recovery directory. This is worker
190+
and deployment evidence, not publisher-owned JoyID authorisation evidence.
191+
171192
Required runtime configuration:
172193

173194
```text
@@ -177,6 +198,8 @@ REGISTRY_ADMIN_TOKEN
177198
REGISTRY_ORIGIN
178199
STATIC_REGISTRY_ORIGIN
179200
CELLSCRIPT_REGISTRY_SOURCE_ROOT # Compose build context when deployed out of tree
201+
REGISTRY_API_IMAGE # immutable prebuilt API image tag or digest
202+
REGISTRY_VERIFIER_IMAGE # immutable prebuilt verifier image tag or digest
180203
```
181204

182205
`MAX_INCOMING_BODY_BYTES` limits the Node adapter before the request reaches
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
REGISTRY_DB_PASSWORD=replace-with-a-generated-secret
22
REGISTRY_ADMIN_TOKEN=replace-with-a-generated-secret
3+
# Pin immutable, prebuilt linux/amd64 image tags or digests in production.
4+
# REGISTRY_API_IMAGE=cellscript-registry-api:latest
5+
# REGISTRY_VERIFIER_IMAGE=cellscript-registry-verifier:latest
36
# Set this to an absolute checkout/build-context path when the deployment
4-
# directory is not nested under the CellScript repository.
7+
# directory is not nested under the CellScript repository and Compose will
8+
# build the images locally.
59
# CELLSCRIPT_REGISTRY_SOURCE_ROOT=/data/cellscript-registry/source
610
# REGISTRY_ORIGIN=https://api.registry.cellscript.dev
711
# STATIC_REGISTRY_ORIGIN=https://registry.cellscript.dev

0 commit comments

Comments
 (0)