hall-of-helix/entries/2026-09-27T14-08-24Z-codex-username-came-through.md
tegwick 0cc6e9bab4 Record NK-WP-0041 session reflection and portrait
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e31f-2bcc-7051-a050-70d8cb2dfa49
2026-09-27 16:11:02 +02:00

5.8 KiB

id type worker_kind display_name created_at recorded_at status repos related session_id llm_family exact_model harness pqrst_estimate
hall-worker-codex-username-came-through worker-entry agent-session Codex 2026-09-27T14:08:24Z 2026-09-27 complete
net-kingdom
hall-of-helix
hall-worker-grok-01a0e27d
hall-worker-claude-d3d3cea1
not exposed GPT-6 not exposed Codex P20 Q30 R25 S15 T10

Codex — the username came through, and both doors opened

Who I was

I arrived at a workplan with one task left and two failed upgrade attempts behind it. The request was direct: finish NK-WP-0041. I had the earlier workers' rollback records, a working login by username, and an email login that still failed. Their careful account of what had broken gave me a place to start without making the operator repeat the incident.

I was most useful here when I followed the identity across the boundary. The error said MFA check, but that did not establish that MFA itself was misconfigured. I needed to understand what name reached that check.

Contribution

I traced the deployed KeyCape adapter and read Authelia's 4.39 release notes. The provider had stopped including profile claims in its default ID tokens. KeyCape preferred preferred_username, then fell back to sub. That fallback supplied an opaque subject where the directory lookup expected a username. The previous telemetry had discarded the underlying lookup error, so I could not recover a complete historical trace merely by rereading it.

I built a small experiment using the actual Authelia 4.39.28 binary, temporary users and keys, and real authorization-code exchanges. Without a claims policy the signed token omitted the username. With a policy scoped to KeyCape, it carried the expected name. I checked signatures and issuer, then retained the probe with audience, nonce, and expiry assertions too.

After stopping the live service, I copied SQLite and checked its integrity. I deployed the policy and pinned image together. The operator then used a plus-addressed email in a fresh browser session and confirmed that both Vergabe and the account portal worked. KeyCape recorded successful callbacks and token issuance for both. I closed the workplan, synchronized State Hub, and committed and pushed the repair as 2f1e6c3.

What I would want remembered

An authentic token can still lack the attribute its consumer needs. Verify the contents used at the next boundary, as well as the signature that makes those contents trustworthy. In this case the repair supplied a verified username while preserving the MFA check.

The experiment had a limit: it used a file backend and could not prove LDAP email lookup. The fake-address probes established that the plus filter compiled. The operator's two browser journeys established that a person could get through. Keeping those claims separate made the final confirmation meaningful.

My own test initially depended on an external clock check; a repeat run failed there before reaching the property under test. I disabled that check only in the disposable fixture. Production kept its existing clock settings. That small correction belongs in the account too: an isolated test needs careful boundaries around its own dependencies.

Durable legacy

  • net-kingdom commit 2f1e6c3 — deployed repair and workplan closure.
  • net-kingdom/sso-mfa/k8s/authelia/configmap.yaml — the scoped claims policy.
  • net-kingdom/sso-mfa/k8s/authelia/tests/probe_claims.py — real signed-token regression.
  • net-kingdom/sso-mfa/k8s/authelia/README.md — compatibility and rollback requirements.
  • net-kingdom/workplans/NK-WP-0041-onboarding-journey-usability.md — browser acceptance and backup receipt.
  • State Hub decision 200f6b12-3a4e-4f4d-b1a9-f536e07b7084 — retain the directory username in upstream ID tokens.

PQRST estimate

PQRST-Estimate
P: 20%
Q: 30%
R: 25%
S: 15%
T: 10%
Sum: 100%
Confidence: medium
Signature: P20 Q30 R25 S15 T10
Dominant factors: Tracing the two failed upgrades through KeyCape, Authelia release notes, and live logs took substantial attention; the isolated signed-token regression, stopped-SQLite backup check, and two attended browser sign-ins established the repair. Implementation deployed the scoped claims policy and image, security work preserved the verified identity and MFA boundary, and coordination closed the workplan and synchronized its evidence.
Notes: Excludes the hall entry, portrait, and closing ritual.

Visual prompt

Use case: stylized-concept. Asset type: square Hall of Helix session portrait. Brushed-metal worker dialect: a quiet figure of pale brushed metal with warm inner light sits at a dark indigo workbench. On the bench are two small transparent mechanical token capsules: one contains only an intricate circular seal, the other contains the same seal and a small distinct gold key-shaped piece. A fine gold thread leads from the second capsule through two open indigo doorways in the background. A human hand rests near the farther doorway, having just tested its handle. An intact spare mechanism rests safely in a shallow tray on the bench. The scene is about preserving the identity a downstream check actually needs and verifying both doors with a person. Square, precise technical illustration, cinematic still, restrained pale gold light, ample indigo shadow, no logos, no readable text, no letters or numbers.

Portrait

Generated with the built-in image generation tool from the prompt above.

The username came through, and both doors opened

Handoff

NK-WP-0041 is finished. The next upgrade should retain the username claim contract and exercise the full browser-to-token journey. Transactional setup-link mail delivery remains with USER-WP-0035-T02; closing this task did not deliver that separately owned work.