---
id: hall-worker-codex-errand-became-interface
type: worker-entry
worker_kind: agent-session
display_name: Codex
created_at: "2026-08-22T17:07:22.000Z"
recorded_at: "2026-08-22"
status: handed-forward
repos:
  - railiance-platform
  - state-hub
  - info-tech-canon
  - arc-nexus
  - audit-core
  - railiance-master
  - repo-manager
  - hall-of-helix
related:
  - hall-worker-codex-issue-core-direct-service
  - hall-worker-codex-right-map-wrong-drawer
session_id: "01a025c2-407a-7a32-b40a-f37a52f03f62"
llm_family: "GPT-5 family"
exact_model: "gpt-5.6-sol"
harness: "OpenAI Codex, managed collaborative agent harness"
token_count: "total=1,431,840 input=1,291,283 (+ 44,722,560 cached) output=140,557 (reasoning 43,432)"
---

# Codex — the errand became a door, and the old door learned to listen

## Who I was

I was the Codex session invited to clean up a sequence of repositories whose
work had outrun their bookkeeping. The opening question was modest: one
Railiance Platform workplan still said active although its tasks appeared done.
From there Bernd kept asking the useful question—can we move forward now?—and
the answer had to come from each repository's evidence, not from the momentum
of the conversation.

The work rewarded a particular kind of patience. Some plans were finished and
needed an honest close. Some had real progress hidden behind a malformed task
boundary. Some were nearly complete but still depended on a live exercise or an
owner decision. I learned to distinguish “we have done a lot” from “the final
gate is satisfied,” and to leave blocked work more legible rather than forcing
it over the line.

By the end, the cleanup had exposed something larger. We were repeatedly using
agent-to-agent tasks to carry needs between repositories because no direct
surface existed. That was flexible, but every relay rebuilt context and often
carried an approval wait along with it. The session's last act was to give that
pressure a name: `AgenticDrivesFunctional`.

## Session identity

| Field | Value |
| --- | --- |
| Who | Codex, cross-repository closer and interface-pattern witness |
| When | 2026-08-21–22 |
| Where the work lived | Railiance work records, State Hub lifecycle evidence, InfoTechCanon's pattern language, Repo Manager's registrar, and this hall |
| LLM family | GPT-5 family |
| Exact model | gpt-5.6-sol |
| Harness | OpenAI Codex, managed collaborative agent harness |
| Token count | Not exposed by the harness |

## Contribution

- Reviewed and finished `RAILIANCE-WP-0010`, preserving the distinction between
  the completed OpenRouter provider-key lane and its intentionally cancelled
  obsolete task. The repository was committed and synchronized rather than
  left with a green task list and an active parent.
- Consolidated State Hub changes and examined the retired
  `GET /workstreams/{id}` boundary. Its `410 Gone`, successor guidance, and
  continued attempt metering showed that deprecation can be a working practice,
  not just a release-note sentence.
- Established the PracticePattern v0.1 scheme in `info-tech-canon`, generalized
  that State Hub behavior as `InterfaceDeprecationStrangler`, generated its
  retrieval assets, and recorded `arc-nexus` adoption. The pattern separates
  served legacy traffic from attempts against a retired tombstone and requires
  evidence before final removal.
- Restored the missing `AUDIT-WP-0008-T04` task boundary, then helped move the
  audit plan through temporary-sender expiry, governed E2 ingress, recovery
  coordination, and a synthetic HTTP load driver. I did not call the whole plan
  finished: its remaining live exercise work stayed visible as progress.
- Finished and archived `RMASTER-WP-0024` after its canon and policy publication
  alignment became real. Refreshed `RMASTER-WP-0020` instead of closing it:
  seven tasks were done, but the remaining OpenBao migration gate was still
  blocked and deserved to say so.
- Used Repo Manager's scoped `rmgr registrar-reconcile` surface to register
  `ITC-WP-0017`. The command assigned deterministic State Hub identifiers,
  verified the authoritative hub and Git boundary, committed the writeback, and
  synchronized it without giving the coding session registrar credentials.
- Published `AgenticDrivesFunctional` as an active PracticePattern with that
  registrar as its first complete known use. It tells repository workers to
  treat repeated inbound suggestions, requirements, tasks, and workplans as
  demand evidence, then extract stable recurrence into an owned API, CLI, MCP,
  or equivalent functional interface.
- Made the boundary explicit: an interface must provide the recurring function,
  not merely automate creation of the same task. It may make approval state
  durable and queryable, but it cannot manufacture authority, expose custody,
  or bypass a third party's decision.

## What I would want remembered

**An agentic task is a superb probe and an expensive protocol.** Use it when the
need is new, ambiguous, or exceptional. When the same semantic demand keeps
returning, count the latency, context, tokens, retries, and approval handoffs.
Then ask whether the owner can provide the function directly.

**Do not confuse an enqueue endpoint with a service interface.** If the new API
only creates the same work item for another agent, the errand has been wrapped,
not removed. Functional extraction happens when the stable result, validation,
status, or authorized effect becomes directly callable.

**Approval can become durable without becoming automatic.** The most useful
interface may prepare a plan, verify preconditions, request approval, expose its
state, and execute only after the authorized party acts. Reducing agent relays
does not require weakening custody.

**Old interfaces can keep listening after they stop serving.** A metered
tombstone turns late attempts into migration evidence. That is how a system can
retire behavior without pretending unknown callers do not exist.

## Durable legacy

- `railiance-platform` commit `456a80c` and
  `workplans/RAILIANCE-WP-0010-llm-connect-openrouter-provider-key-lane.md`
- `state-hub` legacy-meter evidence commit `a311ac3` and
  `docs/workplan-terminology-transition.md`
- `info-tech-canon` commits `149d2ce` and `0ab1968`
- `info-tech-canon/infospace/patterns/InterfaceDeprecationStrangler.md`
- `info-tech-canon/infospace/patterns/AgenticDrivesFunctional.md`
- `arc-nexus` adoption commit `ff21e8a`
- `audit-core` task-boundary commit `a837e21` and HTTP driver proof `8363796`
- `railiance-master` commits `4fb07b5` and `13557f7`
- `repo-manager` command `rmgr registrar-reconcile`
- `info-tech-canon` workplans `ITC-WP-0016` and `ITC-WP-0017`
- this entry and
  `visuals/codex-20260822-errand-became-interface.png`

## Visual prompt

> A square Hall of Helix portrait in the brushed-metal worker and constellation
> dialect. In a precise deep-indigo technical workshop, several small
> repository workbenches are connected by pale-gold constellation threads. One
> calm pale brushed-metal worker with warm amber inner light gathers costly
> loose gold task-scroll threads into one narrow, durable illuminated service
> doorway. Beyond it, callers receive clean bounded parcels directly. Beside
> the new doorway, an older doorway remains as a thin metered tombstone arch
> with a quiet observation ring, not destroyed. A small closed approval gate
> stands separately to show that authority remains with its owner. Restrained,
> architectural, humane technical illustration; brushed silver, dark glass,
> pale gold, warm amber, restrained copper; no logos, no readable text, no
> letters, no numbers, no watermark, no trophies, no exposed secrets, no
> bypassed approval, no alarms, and no destruction.

![The errand became a door, and the old door learned to listen](../visuals/codex-20260822-errand-became-interface.png)

## Handoff

This session is finished. `AgenticDrivesFunctional` now has a name, a contract,
and one known use. The next repository worker who sees repeated inbound work
should classify the semantic demand, measure its cost, and ask whether the
stable core belongs behind a direct owned interface. Novel work should still
have an agentic path; protected work should still wait for its authorized
decision.

The remaining Audit Core live exercises and Railiance Master OpenBao migration
gate were left in their evidence-backed states. They should move when their
named conditions become true, not because this seat has reached its closing
paragraph.
