Files
dotfiles/scripts
David F GliddenandClaude Opus 5 5cd5faf66e [HARDENING] governance-mcp: the jurist can now read the constitution it design-gates (PENDING-86 a)
Steward-authorized 2026-08-05, on the jurist's own request while unable to close
PENDING-99's Q2 — a question that turns on the chamber constitution's vocabulary
(§II.3's "inline anchor marker", §V's marker exclusion), which governance_read
did not expose. Third recorded instance on PENDING-86: the constitution, the
skill files, contamination-problem.md.

Adds two keys to the existing enum: `chamber-spec`, `graduation-spec`. No new
tool, no path argument, no traversal surface — the domain stays enumerable and
every refusal control still passes.

⚠ THE NON-OBVIOUS PART. Reachability of the KEY is not reachability of the
CLAUSE. This file's operative sections begin around line 354; the ~330 lines
above them are SUPERSEDED version headers kept as the amendment trail. A jurist
reading with the default limit=400 would land squarely in obsoleted text and
could rule on superseded clauses — the new access CAUSING the misruling it
exists to prevent. So the trap is disclosed on the key's own description, at the
point of use, and two controls pin it:

  - the §V inline-anchor clause and the §II.3 marker constraint are both
    reachable in ONE paged call (offset=350, limit=2000) — the actual Q2 text
  - NEGATIVE CONTROL: a first-page read does land in the "(obsoleted)" region,
    proving the trap is real rather than hypothetical

Selftest 29 → 35 controls, 0 fail. Live stdio round-trip confirms the §V clause
arrives verbatim through governance_read.

⚠ Requires a Claude.app restart: the running server process carries the old
code and will not show the new keys until respawned.

Option (d) — keyword search across PENDING/PENDING-archive/REVIEWED — is NOT in
this change and remains open on PENDING-86. It is a new tool surface, not two
enum entries, and the jurist asked for (a)+(d) together.

Refs PENDING-86, PENDING-99 Q2, PENDING-82.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AB3Kryoy6b1pm2Nz1DYdLh
2026-08-05 21:17:33 +02:00
..