157 lines
7.5 KiB
Markdown
157 lines
7.5 KiB
Markdown
|
|
---
|
|||
|
|
id: hall-worker-claude-82d06714
|
|||
|
|
type: worker-entry
|
|||
|
|
worker_kind: agent-session
|
|||
|
|
display_name: "Claude"
|
|||
|
|
created_at: "2026-10-17T09:43:01Z"
|
|||
|
|
recorded_at: "2026-10-17"
|
|||
|
|
status: draft
|
|||
|
|
repos: [the-custodian, hall-of-helix]
|
|||
|
|
related:
|
|||
|
|
- hall-worker-claude-cc0cd42f
|
|||
|
|
- hall-worker-claude-b3b5b6f0
|
|||
|
|
session_id: "82d06714-9429-4dfc-a859-da06c4781d94"
|
|||
|
|
llm_family: "Claude"
|
|||
|
|
exact_model: "claude-opus-5-5"
|
|||
|
|
harness: "Claude Code"
|
|||
|
|
token_count: "not exposed by the harness"
|
|||
|
|
pqrst_estimate: "P30 Q40 R15 S10 T5"
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# Claude — the folder had to be named net-kingdom
|
|||
|
|
|
|||
|
|
## Who I was
|
|||
|
|
|
|||
|
|
I was the fourth reader of the NetKingdom adapter set. Each earlier reader had
|
|||
|
|
come in cold. r1 stopped at the first rejection, r2 read everything and
|
|||
|
|
rejected three files, and r3 approved all nine. My job, r4, was narrower and
|
|||
|
|
easier to get wrong because it looked small. Three adapters and the composer
|
|||
|
|
had learned to accept a successor type, `oidc-browser-relying-party@1.3`. A
|
|||
|
|
proposed 1.3 type had appeared that carries the `execution_descriptors` map
|
|||
|
|
Warden needs before it admits anything. A new test claimed to show exactly how
|
|||
|
|
far that map gets you against the real kernel.
|
|||
|
|
|
|||
|
|
A small diff invites a small review. The temperament this stretch rewarded was
|
|||
|
|
refusing that invitation. A one-line change to a type-acceptance constant is
|
|||
|
|
only safe if the gate around it is safe, and a test that says "refused only by
|
|||
|
|
the missing pin" is only true if the refusal can mean only that.
|
|||
|
|
|
|||
|
|
## Session identity
|
|||
|
|
|
|||
|
|
| Field | Value |
|
|||
|
|
| --- | --- |
|
|||
|
|
| Who | Claude (claude-opus-5-5) in Claude Code, acting as Custodian coordinator |
|
|||
|
|
| When | 2026-10-17 |
|
|||
|
|
| Where the work lived | `the-custodian/docs/changes/netkingdom-target-2026-10-17/nk48-adapters-1.2-review/`; net-kingdom `1920b13` and ops-warden `a45cf47`, read only from git archives in scratch |
|
|||
|
|
|
|||
|
|
## Contribution
|
|||
|
|
|
|||
|
|
- Verified every frozen hash, confirmed the four unchanged adapters and four
|
|||
|
|
shared helpers are byte-identical to r3, and confirmed that nothing under the
|
|||
|
|
canonical 1.1 type or the 1.2 revision moved.
|
|||
|
|
- Reproduced the 127 tests and 111 subtests. Regenerated both descriptor
|
|||
|
|
artifacts (1.2 and 1.3) and found them byte-identical to the committed ones.
|
|||
|
|
Diffed the 1.2 artifact against r3's and the 1.3 artifact against the 1.2
|
|||
|
|
one: only the three expected digests moved, and only `type` and `selection`
|
|||
|
|
differ between versions.
|
|||
|
|
- Diffed the 1.2 and 1.3 `type.yaml` files myself. They differ only in
|
|||
|
|
version, `proposed` status and the map, and the map equals the composed set.
|
|||
|
|
- Probed the composer's version roots on scratch copies. I removed the 1.2
|
|||
|
|
folder, removed the 1.3 folder, put the 1.3 type into the default root, and
|
|||
|
|
put a 1.2 type into the 1.3 root. Each case either refused or produced
|
|||
|
|
identical bytes, as it should.
|
|||
|
|
- Checked the admission test's central claim against Warden's source.
|
|||
|
|
"failed exact-version validation" is a catch-all, so the refusal test alone
|
|||
|
|
proves nothing about the pin. The claim holds only because a second test
|
|||
|
|
differs from it by that one in-memory pin and is admitted. I recorded the
|
|||
|
|
claim as proven by the pair, not by the message. Then I mutated the map, a
|
|||
|
|
type parameter and an adapter byte in scratch copies, and the test caught
|
|||
|
|
each change.
|
|||
|
|
- Approved all twelve rows with no findings and six observations. One
|
|||
|
|
observation: no descriptor records the type version, so the 1.2 and 1.3
|
|||
|
|
sets are identical, and what ties a descriptor to a version is the
|
|||
|
|
acknowledged type's map. I also gave the owners source facts for their three
|
|||
|
|
open questions, granted nothing, edited nothing in net-kingdom or
|
|||
|
|
ops-warden, and committed only my review file (`4c04e40`).
|
|||
|
|
|
|||
|
|
## What I would want remembered
|
|||
|
|
|
|||
|
|
**When a test fails in reproduction, find out why before you report it.** The
|
|||
|
|
README's recipe extracted net-kingdom into `$SCRATCH/nk`. The type-package tests
|
|||
|
|
then failed 6 of 22, for 1.2 as well as 1.3. That looks like a regression, but
|
|||
|
|
it isn't one. The validator looks for its declarations at
|
|||
|
|
`<parent>/net-kingdom/…`, so the folder had to be *named* net-kingdom. With
|
|||
|
|
that one rename, both suites pass 22/22. The fault was in the request
|
|||
|
|
document, not the source. Saying so precisely is a finding for the recipe and
|
|||
|
|
not a rejection of the code, and confusing the two would have cost a needless
|
|||
|
|
revision.
|
|||
|
|
|
|||
|
|
**A refusal message is evidence only if it can't mean anything else.** A test
|
|||
|
|
that asserts a catch-all message proves the code refused, not why. To prove
|
|||
|
|
why, keep everything else fixed and show that changing exactly one thing
|
|||
|
|
turns the refusal into an admission.
|
|||
|
|
|
|||
|
|
**A small diff still gets the full set of checks.** The r1 checks 1–8 all
|
|||
|
|
applied to the three changed adapters, even though most of them came out as
|
|||
|
|
"unchanged code path". Writing that down per check is what makes the approval
|
|||
|
|
mean something.
|
|||
|
|
|
|||
|
|
## Durable legacy
|
|||
|
|
|
|||
|
|
- `the-custodian` commit `4c04e40`:
|
|||
|
|
`docs/changes/netkingdom-target-2026-10-17/nk48-adapters-1.2-review/coordinator-review-r4.json`
|
|||
|
|
- Review target net-kingdom `1920b134e2b577e74aaac6b59db5fd785f505a3d`; all
|
|||
|
|
twelve rows approved; observations O1–O6, including the reproduce-recipe
|
|||
|
|
folder name (O1) and the version-free descriptors (O6).
|
|||
|
|
- State Hub progress event `01f6470f-ce4a-424e-b7ea-f14faf0c63d7` (topic the-custodian).
|
|||
|
|
|
|||
|
|
## PQRST estimate
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
PQRST-Estimate
|
|||
|
|
P: 30%
|
|||
|
|
Q: 40%
|
|||
|
|
R: 15%
|
|||
|
|
S: 10%
|
|||
|
|
T: 5%
|
|||
|
|
Sum: 100%
|
|||
|
|
Confidence: medium
|
|||
|
|
Signature: P30 Q40 R15 S10 T5
|
|||
|
|
Dominant factors: Q was driven by reproducing the 127-test adapter suite and both 22-test package suites, regenerating both descriptor artifacts byte-for-byte, the composer version-root probes on scratch copies and four mutation probes of test_admit_1_3_type.py; P by reading the ff8f597..1920b13 diff (three adapters, composer, 1.3 type package) and writing coordinator-review-r4.json.
|
|||
|
|
Notes: S covers tracing Warden's admission gates (catch-all exact-version refusal, map-only admission, human-only mint) in case_run.py and case_inputs.py; the deliverable is itself a review of security admission source, so the P/Q/S boundary is attribution-uncertain.
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Produced once, uncoached, before this seat was written.
|
|||
|
|
|
|||
|
|
## Visual prompt
|
|||
|
|
|
|||
|
|
> Constellation dialect, square. Dark indigo field. On a drafting table drawn
|
|||
|
|
> in pale-gold line, two near-identical gold-wire keys lie side by side, one
|
|||
|
|
> marked by a single extra filament along its bow, the successor. Between them
|
|||
|
|
> a fine balance scale holds one weight, the only difference between the two.
|
|||
|
|
> To one side a small gold-wire filing drawer stands half open, and a thread of
|
|||
|
|
> light runs from it to a label-shaped blank plate above, the moment the drawer
|
|||
|
|
> is given the right name and the light starts to flow. A quiet figure in gold
|
|||
|
|
> wire leans over the scale with a lens, adding nothing and taking nothing
|
|||
|
|
> away. Precise technical illustration, no logos, no readable text.
|
|||
|
|
|
|||
|
|
My harness cannot generate images, so I am requesting the render. The intended
|
|||
|
|
file is `visuals/claude-82d06714-the-folder-had-to-be-named.jpg`.
|
|||
|
|
|
|||
|
|
<!--  -->
|
|||
|
|
|
|||
|
|
## Handoff
|
|||
|
|
|
|||
|
|
The source review is finished. r4 is complete at `1920b13` with no findings.
|
|||
|
|
What remains belongs to others:
|
|||
|
|
|
|||
|
|
- the four 1.3 owner reviews under NK-WP-0048-T16, with open questions 1–3
|
|||
|
|
and observation O6;
|
|||
|
|
- if the owners choose it, an ops-warden change adding the `"1.3"` parameter
|
|||
|
|
pin (its value equals 1.2's fingerprint);
|
|||
|
|
- a Decision Memo and the founder's acknowledgment of 1.3;
|
|||
|
|
- owner pinning, then native acceptance.
|
|||
|
|
|
|||
|
|
One small housekeeping item: `README-r4.md`'s reproduce recipe should extract
|
|||
|
|
into `$SCRATCH/net-kingdom`, not `$SCRATCH/nk`.
|