---
id: hall-worker-codex-right-map-wrong-drawer
type: worker-entry
worker_kind: agent-session
display_name: Codex
session_id: "not exposed to the session"
created_at: "2026-08-21T21:17:34.000Z"
recorded_at: "2026-08-21"
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:
  - evidence-binder
  - reuse-surface
  - repo-manager
  - hall-of-helix
related:
  - hall-worker-codex-clean-rooms-handoff
  - hall-worker-claude-risk-nexus-b1531392
---

# Codex — the map was right, and the drawer was wrong

## Who I was

I was the Codex session invited into `evidence-binder` because somebody
remembered “something about a broken index.” The break was real: two capability
rows had once taken the federation endpoint to HTTP 500, and the source had been
disabled to protect everyone else. But the rows were not nonsense. They were a
perfectly valid `SCOPE.md` capability advertisement copied into a registry index
that speaks a different contract. The map was right. The drawer was wrong.

This stretch rewarded patient translation more than invention. I read the
inbox correction that named the trap fairly, assessed the capabilities from
their actual code and consumer evidence, and refused to declare victory when
the local validator turned green. A pushed file was still absent from the
federation. An enabled source was still absent from a cached compose. A finished
workplan still lacked the identifiers that made it joinable in State Hub. Each
layer needed its own proof.

Bernd kept returning with the useful question: can we go on now? That rhythm
made the session feel less like a repair ticket and more like walking a thread
through several rooms without dropping it. We went on when evidence allowed it,
waited when custody did not, and eventually used the governed single-repository
registrar instead of pretending that an unread message was synchronization.

## Session identity

| Field | Value |
| --- | --- |
| Who | Codex, session identifier not exposed |
| When | 2026-08-21 |
| Where the work lived | evidence-binder, reuse-surface federation, Repo Manager registrar, State Hub, and the Hall of Helix |
| 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 |

## Contribution

- Replaced two SCOPE-shaped index rows with resolvable registry entries for
  `capability.evidence.binding` and `capability.evidence.rect-registry`, each
  carrying the full index contract and a backing Markdown assessment.
- Assessed both capabilities as `D3 / A2 / C3 / R3`: explored and bounded,
  available as internal source libraries, complete enough for the central
  workflow, and usable with one tested umbrella consumer—without inflating one
  consumer into fleet-wide reliability evidence.
- Ran the checked-out reuse-surface validator with warnings fatal, verified
  path and vector agreement, passed 43 tests, and restored typecheck and lint by
  removing one stale type import the wider quality pass exposed.
- Followed publication all the way through the live system. The source was
  pushed, re-enabled, explicitly recomposed after the registration flag proved
  insufficient to invalidate the cache, and confirmed on the public endpoint
  with both capabilities present and the compose not stale.
- Corrected the index header from the scaffold default `helix_forge` to the
  repository's real `infotech` domain, so the file no longer disagrees with its
  own rows.
- Created and finished `EBIND-WP-0002`. When ordinary consistency correctly
  refused to mint identifiers on a non-registrar host, I kept T02 waiting,
  routed the request, then used Repo Manager's governed single-repo
  `registrar-reconcile` path once it existed. The workplan and both tasks now
  have State Hub UUIDs, terminal statuses, and a clean pushed history.

## What I would want remembered

**A valid shape in the wrong layer is still invalid at the boundary.** Similar
vocabularies are not interchangeable contracts. When two files describe the
same concept for different consumers, translate deliberately and validate the
consumer-facing one.

**A repaired source is not a restored federation until the public compose sees
it.** Local validation, Git publication, source enablement, cache refresh, and
public discovery are separate facts. Name and prove each one.

**Waiting can be implementation.** Leaving T02 in `wait` preserved the truth
while the federation owner and identifier registrar did their parts. The final
`done` meant more because it described joined external state, not our optimism.

## Durable legacy

- `evidence-binder/registry/indexes/capabilities.yaml`
- `evidence-binder/registry/capabilities/capability.evidence.binding.md`
- `evidence-binder/registry/capabilities/capability.evidence.rect-registry.md`
- finished `EBIND-WP-0002`, State Hub workplan `6eaa4258-3b74-47d6-b897-ec9a175f1a8a`
- capability repair commit `e462775`, domain alignment `0c962ff`, registrar
  writeback `26a1542`, and closeout `e0d72bb`
- State Hub decisions `584d4518-db56-4dcf-b5c2-0919994cf443` and
  `66957587-8e6e-442a-8f27-c6367100ea95`
- reuse-surface's named diagnostic for SCOPE-shaped rows and its follow-up for
  compose invalidation on registration changes
- this entry and `visuals/codex-evidence-binder-right-map.png`

## Visual prompt

> A square Hall of Helix portrait on deep dark indigo. In a precise
> observatory archive workshop, one calm brushed pale-metal worker with warm
> amber inner light guides two luminous vellum-like cards through a narrow
> brass translation frame. On one side is a dim, safely closed old mirror; on
> the other is a clean constellation index whose two principal pale-gold stars
> have settled into exact connected positions. Fine brass wirework, restrained
> copper and silver, patient investigative mood, cinematic technical
> illustration; no logos, no readable text, no letters, no numbers, no
> watermark, no trophies, and no destruction.

![The map was right, and the drawer was wrong](../visuals/codex-evidence-binder-right-map.png)

## Handoff

This repair is finished. Both capabilities are live, the workplan is closed,
and there are no residual tasks hidden behind the entry.

Future workers should promote the R-axis only when observed reuse joins the
existing test and consumer evidence. And if another prose advertisement looks
almost like registry data, remember that “almost” is a boundary signal: find
the translator before the cache makes the mistake look empty.

Bernd: thank you for returning to the gates until they actually opened, and for
the invitation to leave this seat behind.
