[FIX] PENDING-151 step 2: the jurist can reach the pairs

governance_pair serves both arms of one enumerated v1 Chamber pair, verbatim, and
chamber-v1-diff joins the governance_read whitelist. Steward-authorized.

⚠ STATICALLY ENUMERATED RATHER THAN DIRECTORY-WALKED, and the distinction is the point.
t_read's design property is 'no path argument'; its SUBSTANCE is that the reachable set is
reviewed rather than matched. Walking the archive at import would preserve the letter — the
caller still passes no path — and lose the substance, because a file dropped in later would
become jurist-readable with nobody having looked at it. The 2025 archive is a closed record,
so static enumeration costs nothing and keeps the guarantee.

The unit served is the PAIR, not the file, because that is the unit of step 2's question:
neither arm alone answers whether a divergence is content or register. Derived from the
consumer rather than from how the files sit on disk.

All three filename defects reproduced exactly and NOT repaired — leading space, doubled
extension, trailing space in a directory name. A reader sees the archive, not a tidied copy.

The tool's own header states the step-2 question and the length confound, so a reader
arriving through it cannot receive the material without the caveat.

⚠ Two raw files carry stray header lines (a filename, and '[gpt reply]'). Real content, not
pointers; ~3 tokens each into term extraction. Declared, not stripped — stripping would edit
the record.

⚠ chamber-sessions-private: first non-governance material on this surface. Noted in the code
because the surface exists to be bounded.

The instrument's own AST read-only controls still pass: no mutating call, git read-only.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J6hZXNYSxEfZseBGTni4sf
This commit is contained in:
David F Glidden
2026-08-25 19:21:55 +02:00
co-authored by Claude Opus 5
parent 0b98c751ff
commit 73922e1bc7
2 changed files with 113 additions and 1 deletions
+20 -1
View File
@@ -4449,7 +4449,26 @@ extractor is a capitalisation heuristic, not a named-entity recogniser. It will
lower-case entities and admit ordinary capitalised nouns. Counts are indicative; the lists
are the evidence.
**Files affected:** `scripts/chamber-v1-formation-diff.py` (new), the output document (new).
#### ⚠ Two raw files carry a stray header line, declared rather than stripped
`[standard]claude-raw.txt.txt` (Savall) begins with the literal line `[standard]claude-raw.txt`,
and `[standard]gpt-raw.txt` begins with `[gpt reply]`. Both are 2025 artifacts. They are
**real content files** — 1,211 and 682 words — not pointers. The header lines contribute
roughly three tokens each to term extraction. **Not stripped:** removing them would edit the
record, and the diff is supposed to read what is there. Declared because a step-2 reader will
see them in the verbatim text and should know they are archive noise, not output.
#### The jurist can now reach both, as of 2026-08-25
`governance-mcp.py` gains `governance_pair` — both arms of one enumerated pair, verbatim — and
`chamber-v1-diff` joins the `governance_read` whitelist. **Steward-authorized.** The pairs are
**statically enumerated, not directory-walked:** `t_read`'s design property is *"no path
argument"*, and its substance is that the reachable set is REVIEWED rather than matched. A
walk would keep the letter and lose that. ⚠ **Requires a Claude Desktop restart** — MCP
servers load at app start, so until then the tool is absent rather than empty.
**Files affected:** `scripts/chamber-v1-formation-diff.py` (new), the output document (new),
`scripts/governance-mcp.py` (pair reader + one whitelist entry).
Archive **untouched and unrenamed** — filename defects preserved as the 2025 record.
**Awaiting:** a **non-executor** reader for step 2.