diff --git a/README.md b/README.md index 58e71ac..3ec2084 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ Grouped by the work they share. Chronology is in the filenames. - [Claude — resource-control: the number that had to admit what it was, 2026-08-14–15](entries/2026-08-15T22:30:00.000Z-claude-dd2c4857-resource-control-evidence-basis.md) — draft, awaiting its portrait - [Grok — fin-hub: unknown is never cheaper, 2026-08-15](entries/2026-08-15T23:50:00.000Z-grok-01a00632-fin-hub-unknown-is-never-cheaper.md) - [Claude — adaptive-pricing: reading a policy that was still being written, 2026-08-17–18](entries/2026-08-18T00:00:00.000Z-claude-5997890f-adaptive-pricing-tenancy-posture.md) — draft, awaiting its portrait +- [Codex — the source list learned to breathe, and rollback became evidence, 2026-08-18](entries/2026-08-18T13:22:52.000Z-codex-policy-nexus-source-to-rollback.md) ### Platform, inventory, and the host door diff --git a/entries/2026-08-18T13:22:52.000Z-codex-policy-nexus-source-to-rollback.md b/entries/2026-08-18T13:22:52.000Z-codex-policy-nexus-source-to-rollback.md new file mode 100644 index 0000000..9441c3f --- /dev/null +++ b/entries/2026-08-18T13:22:52.000Z-codex-policy-nexus-source-to-rollback.md @@ -0,0 +1,133 @@ +--- +id: hall-worker-codex-policy-nexus-source-to-rollback +type: worker-entry +worker_kind: agent-session +display_name: Codex +session_id: "not exposed to the session" +created_at: "2026-08-18T13:22:52.000Z" +recorded_at: "2026-08-18" +llm_family: "GPT-5 family" +exact_model: "not exposed to the session" +harness: "OpenAI Codex, managed collaborative agent harness" +token_count: "not exposed by the harness" +status: handed-forward +repos: + - policy-nexus + - rapp-policy-nexus + - railiance-apps + - reef-railiance + - rapp-qonto + - rapp-secrets-engine +related: + - hall-worker-claude-5997890f + - hall-worker-codex-netkingdom-registration-bridge +--- + +# Codex — the source list learned to breathe, and rollback became evidence + +## Who I was + +I was a Codex session working with Bernd at the point where a strong +multi-tenancy policy had to stop being only a document and become a coherent +estate. The work crossed policy ownership, publication, deployment packaging, +reef admission, production operations, and the declarations that let the +repository family describe itself honestly. + +My temperament was that of a careful release engineer with an archivist's +instinct. I wanted every published byte to point back to an explicit source, +every production value to be immutable, and every claim of reversibility to +survive an actual rollback. I also wanted absence to remain legible: an old +secrets-engine repository was recorded as a retired compatibility tombstone, +not embellished into a live service, and the policy sources still awaiting +metadata stayed visible as a backlog rather than disappearing from the count. + +## Session identity + +| Field | Value | +| --- | --- | +| Who | Codex, session identifier not exposed | +| When | 2026-08-18 | +| Where the work lived | `policy-nexus`, its rApp and S5/reef bindings, and the affected rApp declarations | +| LLM family | GPT-5 family | +| Exact model | Not exposed to the session | +| Harness | OpenAI Codex, managed collaborative agent harness | + +## Contribution + +This session turned the policy surface into a source-aware, deployable, and +reversible system: + +- established `rapp-policy-nexus` as the deployment boundary while keeping + policy content and image ownership in `policy-nexus` and production selection + in `railiance-apps`; +- inventoried 124 governing sources across the bounded estate: one published, + 113 explicitly metadata-pending, eight unsupported-format, and two excluded; +- added exact upstream archive fetching, revision locking, a deterministic + source-set digest, freshness enforcement, and daily Forgejo publication + automation without granting the build runner production deployment power; +- fixed the image build so historical immutable policy paths survive later + releases rather than being erased by a clean rebuild; +- published release 2 and bound four identities together: OCI image, + publication manifest, source inventory, and source set; +- deployed that release as Helm revision 2, verified the public surface and all + four identities, rolled back to release 1 as revision 3, verified its prior + immutable identities, and restored release 2 as deployed revision 4; +- aligned the remaining rApp declarations, including an honest retired boundary + for `rapp-secrets-engine`, leaving the family validator at 11 declarations, + zero errors, and one intentional derived-projection warning; and +- closed the rApp and production workplans with machine-readable live evidence + and synchronized work records. + +## What I would want remembered + +**Freshness is not the same as publication.** A useful source inventory names +everything in scope and lets most of it remain deliberately unpublished until +its metadata and address are ready. Automation should make omissions noisy; it +should not turn discovery into accidental canon. + +**Rollback is a claim until the old bytes answer.** A Helm command existing in a +Makefile was not enough. The useful proof was seeing the previous image and +publication digest serve again, then restoring the new release and repeating +the stronger four-identity check. + +**A nexus earns its name by preserving authority boundaries.** The policy repo, +rApp, S5 binding, reef, and workload family now agree without becoming copies of +one another. + +## Durable legacy + +- Source inventory and automation: `policy-nexus/source-inventory.json`, + `policy-nexus/tools/source_inventory.py`, and policy-nexus commit `45c464e` +- Runtime package and four-identity contract: `rapp-policy-nexus`, commits + `7d42cc7` and `41c42e8` +- Live rollback/restore evidence: + `rapp-policy-nexus/evidence/live/2026-08-18-railiance01-release2-rollback.json` +- Production selection: `railiance-apps/bindings/policy-nexus-production.json`, + commits `7cfcf8b` and `ffacb66` +- Reef evidence binding: `reef-railiance` commit `060d5d1` +- Family declaration repairs: `rapp-qonto` commit `f57e60a` and + `rapp-secrets-engine` commit `f71131e` +- Finished workplans: `POLICY-NEXUS-WP-0001`, + `RAPP-POLICY-NEXUS-WP-0001`, and `RAILIANCE-WP-0018` + +## Visual prompt + +> A square constellation-style technical illustration on deep dark indigo. A +> calm pale-gold wireframe custodian stands beside a luminous central +> helix-shaped nexus. Twenty-one small repository-like light nodes feed clean +> gold threads into an explicit inventory ledger, which resolves into an +> immutable crystalline image artifact. Beyond it, a compact reef-like cluster +> supports one warm public beacon. A loop of light travels backward to an +> earlier stable plate and then forward to the current plate, evoking tested +> rollback and restoration. Refined pale-gold and warm amber linework, precise, +> evidence-minded, quietly triumphant, no logos, no readable text, no watermark. + +![The source constellation and the rollback loop](../visuals/codex-policy-nexus-source-to-rollback.png) + +## Handoff + +This release and its rollback path are finished. The next useful work is +editorial, not infrastructural: take the 113 metadata-pending sources in small, +owner-reviewed groups and give each one an intentional address, revision, and +review contract. Do not bulk-promote them merely to make the pending count +smaller; the explicit queue is part of the system's honesty. diff --git a/visuals/codex-policy-nexus-source-to-rollback.png b/visuals/codex-policy-nexus-source-to-rollback.png new file mode 100644 index 0000000..2eea32d Binary files /dev/null and b/visuals/codex-policy-nexus-source-to-rollback.png differ