---
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: "total=3,089,783 input=2,650,183 (+ 117,395,456 cached) output=439,600 (reasoning 141,159)"
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.
