session 2026-07-20: /jurist-package built + PENDING-67/REVIEWED-67 + F2 ruled + v2.3.0/REVIEWED-68 operative

This commit is contained in:
David F Glidden
2026-07-20 21:13:05 +02:00
parent c200aaf039
commit f67bf6e582
9 changed files with 330 additions and 7 deletions
+93
View File
@@ -0,0 +1,93 @@
---
name: jurist-package
description: Author a self-contained jurist package — a repo-blind PROPOSAL the jurist (Claude.app) can design-gate with NO repository access. Use when a governance change (a chamber-library spec amendment/supersession, an engine V0/fidelity-relation bump, any [PROPOSAL]/[ESCALATE] that needs a jurist ruling) must go to the jurist: everything the ruling needs is inlined and grounded in the ratified text quoted verbatim. Also carries the after-ruling Addendum + copy-paste-clean REVIEWED draft. Absorbs the old /spec-amendment (supersession mechanics live in the verification ladder).
---
# Jurist Package — the self-contained design-gate request
The jurist (Claude.app) has **no repository access**. A package that assumes it — that references a file the jurist can't open, or asserts what a spec says instead of quoting it — cannot be ruled on. This skill authors the one artifact that can: a PROPOSAL where the ruling's every input is inlined, and every claim about the ratified constitution is grounded in its actual words.
Proven across the 2026-07 governance arc; the two cleanest worked exemplars, read them before authoring:
- `~/_Dev/chamber-library/docs/one-door-promotion-JURIST-PACKAGE-2026-07-19.md` (chamber spec, PROPOSAL → design gate → Addendum → REVIEWED-66)
- `~/_Dev/studium-engine/docs/fidelity-equivalence-2-JURIST-PACKAGE-2026-07-19.md` (engine V0-lane, the one D-1 exception routed to the jurist)
## When this is the right instrument
- A **chamber-library** change that alters what a gate accepts (the change-class test: *"does this change what any gate accepts?"*) → reverts to Review → mandatory jurist ruling + steward authorization.
- An **engine** change to **V0 / the verifier contract / a `fidelity_equivalence@N` bump** — the one named exception to D-1 (everything else engine-side is steward-direct; do NOT route routine engine work through the jurist).
- Any `[PROPOSAL]` / `[ESCALATE]` in `~/PENDING.md` that needs a jurist ruling before it can land.
NOT this instrument: a scoped `[FIX]` against existing spec (implement directly); routine D-1 engine work; a steward-only question (ask the steward, no package). If unsure whether a change is FIX or PROPOSAL, run the change-class test first — the answer decides whether you need this skill at all.
## The self-containment law (non-negotiable)
Everything the jurist needs to rule is **in the document**. No "see the runbook", no "as §VII establishes" without the quote, no count the jurist would have to trust rather than read. The test: **could the jurist rule correctly with only this file open and nothing else?** If not, it isn't a package yet.
## The GROUNDED-IN gate (author the Grounding first, always)
Chamber-library constitutional writes (the spec, `graduation-spec.yaml`, any `*amendment*` / `*FOR-JURIST*` / `*JURIST-PACKAGE*` file) are **blocked** by the `verify-before-compose` PreToolUse hook unless the payload carries, as its very first line:
```
<!-- GROUNDED-IN: §<sections> (read <date>) -->
```
…and the artifact opens with a **Grounding section that quotes the ratified sections verbatim.** The hook is correct — don't fight it. It exists because the recurring failure is *composing a claim about the spec from memory when the spec already ratifies it* (drafting "#2 introduces the CTS-URN model" when §IV already adopts it). So:
1. **Read the sections you build on, in this session, from the substrate** — not from memory, not from a prior brief. Note the read date.
2. **Quote them verbatim** in the Grounding section, each with its § label.
3. **Then** write the attestation comment + draft the rest.
Engine-side packages carry **no hook**, but the discipline is identical — the fidelity exemplar quoted the V0 Ruling verbatim voluntarily. Ground everything, everywhere; the hook only enforces what integrity already requires.
**Pre-hook / first-edit note:** a constitutional file written before the hook existed carries no attestation, so its first gated edit is denied outright. The hook reads the attestation from the *payload*, so make the first edit itself add the `<!-- GROUNDED-IN … -->` line; flag that attestation-add in the report as an edit beyond the ratified set.
## The invariant skeleton (roles, not rigid numbers)
Both exemplars carry these roles in order. Part *numbers* vary with the proposal (one-door ran I–VII, fidelity I–IX); the *roles* are fixed. Omit a role only when it genuinely doesn't apply, and say so.
1. **`<!-- GROUNDED-IN … -->`** — first line (see above).
2. **Frontmatter** — `title` · `date` · `type` (PROPOSAL + the gate class + the authorization chain: *executor drafts → jurist design-gates → steward authorizes*) · `audience` (*the jurist, who has NO repository access — this document is self-contained*) · `status` (*DRAFT for the design gate. Nothing in this document is built, run, or landed* — or, engine-lane, *governs-until-ruled*).
3. **`## How to read this`** — a one-paragraph map naming each Part's job, ending with **the one-sentence claim to test** (bolded). This is the jurist's entry point; write it last, once the Parts are settled.
4. **`## Grounding — the ratified sections this builds on (quoted)`** — verbatim quotes, § by §, with the standing note that this section exists *because the recurring failure is composing about the spec from memory; these are the actual words.*
5. **Terrain / the question (censused, dated).** The state of the world the proposal acts on — every count a **dated observation** (declared-data discipline), never fixed prose. Where a known instance demonstrates the class, name it (Eichmann's residue count; the orthography census).
6. **Why the implicit default collapses / the evidence** — trace the default operation (or the inherited question) against the quoted ratified clauses. Show the collapse *from the text*, not from assertion.
7. **The proposal proper** — the requirement stated as the constitution would state it; the mechanism named as **declared data** (the requirement/mechanism split is the house pattern). Surface any sub-question you are *not* answering as an explicit, numbered question with your lean.
8. **`## Part N — Consequence-trace (each quoted clause → the proposal's end-state)`** — the discipline that quoting is not tracing. A table: `ratified clause | post-proposal end-state | verdict`. **Then go one level deeper** (the costliest misses live here): for each traced clause also ask **(a) which way does the inference run in the new state** (a comparison that was non-vacuous against the old artifact may be vacuous against a fresh one), and **(b) is any class you yourself named actually two kinds with opposite dispositions** (the split that stops one disposition laundering the other). Both PENDING-65 corrections the jurist struck were at this depth — the trace checked clauses against end-states but not the inference direction (Q2) or the sub-kinds inside a named class (Q6).
9. **Change-class & landing shape** — run the ratified test (*does this change what any gate accepts?*) → FIX or PROPOSAL; state the landing: constitutional supersession (semver bump, the *requirement* only) + declared data (the *mechanism*, revisable without supersession). Confirm no re-verify storm is created, or price it if one is.
10. **Scope boundary — `what this package does NOT do`** — runs no code, touches no file, lifts no block it isn't lifting, decides no steward-only question. Explicit, bulleted, honest.
11. **Gate questions for the jurist** — Q1…Qn, each a real decision the jurist must make, **each with the executor's lean where one exists** (and the reasoning for it). The lean is a proposal, not a pre-emption — phrase so the jurist can overrule cleanly.
12. **Footer** — *Filed by the executor <date>. Companion entry: `~/PENDING.md` PENDING-N.* No code, no corpus mutation, no spec text in the package itself — it is a design-gate request.
## Load-bearing disciplines (each earned; violate at the ruling's peril)
- **Quote, never paraphrase, the ratified text.** A paraphrase is where re-derivation hides. If you can't find the clause to quote, that inability is the finding — maybe the spec doesn't say what you thought.
- **Frame as already-ratified → what-#N-adds.** The strongest packages show the constitution *already holds most of this* and the proposal adds only the bounded remainder (fidelity: *"@2 completes the typographic-in/orthography-out line the @1 Ruling itself drew, for the classes its enumeration didn't reach"*). This is the anti-re-derivation shape made rhetorical: it forces you to locate what's already there before claiming what's new.
- **Counts are dated observations.** `1,297 canonical .md as of 2026-07-19` — never `1,297 files`. Works ≠ files; censuses drift; say when you looked.
- **Path-verify the reading list before you cite it.** Every file path, every § reference, every companion doc named in the package — confirm it exists and says what you claim, in this session. The jurist can't check; you must.
- **Surface, don't resolve, the sub-questions you're unsure of.** A numbered gate question with your lean beats a silent decision the jurist never sees. The one-door package's Q5 (minimal-sidecar) was surfaced-not-answered, and the jurist ruled it on a stronger ground than the executor had.
- **Preserve the ruled-on text.** After the ruling, never silently rewrite the Parts the jurist read. Layer the disposition on top (the Addendum pattern) so the audit trail — what was proposed, what was ruled — stays intact.
## After the ruling — the Addendum + the REVIEWED draft
When the jurist's ruling returns (steward-relayed), file it verbatim as its own `*-JURIST-RULING-<date>.md`, then append to the package:
```
# Addendum — design-gate ruling received and applied (<date>)
```
- **Preserve Parts I–N as the text the jurist ruled on** — state this explicitly; the Addendum layers disposition, it does not rewrite history.
- **`## The ruling in force`** — what was confirmed.
- **`## Corrections that supersede the drafted design`** — each correction, numbered, as the design *now stands* (this is what the future amendment draft is written to).
- **`## What proceeds now`** — the ordered next steps the ruling authorizes.
- **`## REVIEWED draft (steward copy-paste; number per the register)`** — emit inside a fenced ` ```markdown ` block so no display styling is interpreted: plain `## REVIEWED-N — title` header, standard field lines, **no** `**bold**` on the header, **no** `>` blockquote framing. The steward's paste is mechanical; the block must be byte-ready (a bolded/blockquoted header once landed in `~/REVIEWED.md` as an unrecognized non-header and had to be stripped by hand). Append PENDING/REVIEWED entries at the **real dotfiles path** (`~/dotfiles/…`), never through the `~/PENDING.md` symlink — Edit/Write refuse to write through a symlink.
## Supersession mechanics (absorbed from /spec-amendment → the verification ladder)
This skill produces the *package* and the *amendment draft*; the mechanical *supersession procedure* — freeze the prior version byte-identical (`-vX.Y.Z.md`), semver by change-class, prove the bounded diff (N added + title line, all else the prior version verbatim), tag commits with the REVIEWED number — lives in `reference-verification-ladder.md` (the "spec supersession = frozen-prior + bounded-diff proof" instrument). Reach for the ladder when you land the ratified text; don't re-derive the steps here.
## What this skill does NOT do
- Does not authorize the change — the jurist rules, the steward authorizes; the package is a *request*.
- Does not run code, convert a corpus, or edit a spec's normative text (that comes after ratification, drafted to the Addendum's corrected design).
- Does not replace the change-class judgment — if the change is a FIX, you don't need a package at all.
- Does not decide steward-only questions (edition rulings, pacing) — name them as owed, route them to the steward.