Integration, Deployment & Operations · Release Console
Artifact receipt checks, deploy-group mapping, publish/rollback plans and status aggregation for 22 projects. Templates and inventories only this round: not deployed, authorization pending.Local read-only computation (no network, no upload)
Operations
Artifact receipt validation
Validate the 11 required manifest fields, versions, header profile, health path, root/subpath evidence and static-bundle hygiene; a bad manifest is explicitly rejected.
Deploy-group mapping validation
Validate group→site→form mapping for C1–C5/U1–U9: three independent C1 roots, no C3 collaboration backend, C5 WASM isolation focus, U1 with Postgres, private U6/U7.
Publish plan (dry-run)
Produce the four-step "new release dir → health check → switch symlink/reference → rollback on failure" plan; retain at least one previous release, no K8s.
Rollback plan (dry-run)
Verify previous dir → atomically switch back → retain the failed version as previous → keep diagnostics; NO_PREVIOUS_RELEASE when no previous exists.
Authorization / credential gate
Check AL_DEPLOY_AUTHORIZED, AL_DEPLOY_TOKEN_REF (reference name only), local secret resolution, DNS authorization and platform credentials; any gap forces dry-run.
22-project status aggregation
Aggregate the 22 PROJECTS.json rows into a status table: domain→group→release placeholders, status capped at implemented/verified, artifact receipt verdict; never staged/live.
Real examples and limits
This console holds no platform credentials, DNS authorization or real accounts. Any "deployment succeeded" claim is forbidden: publish/rollback emit dry-run plans labelled "not deployed / authorization pending"; manifest validation reads local artifact evidence only; isolated-app is a declaration, not applied headers. The resource inventory stores secret reference names (e.g. CLOADY_TOKEN_REF) only, never values. Status is capped at implemented/verified — never staged or live.
FAQ
Can this really publish a site?
No. There are no platform credentials, DNS authorization or real accounts this round; publish.mjs and rollback.mjs force dry-run and print "not deployed / authorization pending". A real release requires resolving secret references in an authorized environment, verifying health, then atomically switching the reference.
Why does the inventory only show CLOADY_TOKEN_REF?
The inventory permits only account aliases, app IDs/locations, current usage, free capacity and secret reference names. A reference points at an external secret store; values never enter source, logs, artifacts or URLs.
Does the receipt validator reject unfinished projects?
It does not crash. A project without artifact/deploy-manifest.json is marked pending (unfinished); only a present but non-conformant manifest is marked rejected, with itemised issues.
Are isolated-app headers already in effect?
Unverified / authorization pending. headersProfile in a manifest only declares a requirement; COOP/COEP are configured only where /app/ truly needs them. Content pages, guides and ad scripts do not inherit isolation headers.