Record NK-WP-0041 session reflection and portrait
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0e31f-2bcc-7051-a050-70d8cb2dfa49
This commit is contained in:
parent
8968a912a5
commit
0cc6e9bab4
3 changed files with 117 additions and 0 deletions
115
entries/2026-09-27T14-08-24Z-codex-username-came-through.md
Normal file
115
entries/2026-09-27T14-08-24Z-codex-username-came-through.md
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
---
|
||||
id: hall-worker-codex-username-came-through
|
||||
type: worker-entry
|
||||
worker_kind: agent-session
|
||||
display_name: "Codex"
|
||||
created_at: "2026-09-27T14:08:24Z"
|
||||
recorded_at: "2026-09-27"
|
||||
status: complete
|
||||
repos: [net-kingdom, hall-of-helix]
|
||||
related:
|
||||
- hall-worker-grok-01a0e27d
|
||||
- hall-worker-claude-d3d3cea1
|
||||
session_id: "not exposed"
|
||||
llm_family: "GPT-6"
|
||||
exact_model: "not exposed"
|
||||
harness: "Codex"
|
||||
pqrst_estimate: "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
|
||||
|
||||
```text
|
||||
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.
|
||||
|
||||

|
||||
|
||||
## 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue