Files
dotfiles/REVIEWED.md
T

489 lines
74 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# REVIEWED.md — Steward Authorization Record
**Protocol:** David and Claude.app write here after reviewing PENDING items. Claude Code reads this at session start.
---
## REVIEWED-1 — Executor Agency Directive for CLAUDE.md
**Date:** 2026-03-21
**Decision:** AUTHORIZED
**Notes:** Accepted as written with one addition: insert explicit one-sentence
description of the specific failure mode ("accept self-assessment of criticality")
immediately after the contamination problem reference. Steward to apply to ~/CLAUDE.md.
This proposal is itself evidence the directive is already operative — the executor
used the authorization taxonomy correctly on a change affecting its own behavior.
## REVIEWED-2 — Silent Degradation Audit
**Date:** 2026-03-21
**Decision:** AUTHORIZED — commence after PR merges. Option 1 (full audit,
concentrated). Produce findings document for steward review before any
implementation.
## REVIEWED-3 — Factory Schema Idempotency (checkpoint.ts, dedup.ts)
**Date:** 2026-03-21
**Decision:** ACKNOWLEDGED — already in PR scope. The executor's decision to
extend the fix to the actual error source (checkpoint.ts) rather than the
originally specified file (job-store.ts) is the correct application of
"diagnose the class, not the instance." Note this in PR description.
## REVIEWED-11 — Approve I15 (ICP-9 Pilot Registry Entry)
**Date:** 2026-03-23
**Decision:** AUTHORIZED
**Notes:** I15 approved as pilot registry entry. l1_contamination_profile field ratified as mandatory for all non-contingent principles. Schema commitment is prospective — all future Cluster A/B entries must include this field. residual_risk field decision deferred pending evidence from pilot operation.your annotation]
## REVIEWED-12 — Lodge Design Notes DN-GOV-01 through DN-GOV-04
**Date:** 2026-03-23
**Decision:** AUTHORIZED
**Notes:** DN-GOV-03 requires separate declaration before elevation. DN-GOV-04 is tooling, iterate freely.
## REVIEWED-13 — DN-GOV-05, DN-GOV-06, DN-GOV-07 (Threshold Inquiry Cluster)
**Date:** 2026-03-28
**Decision:** AUTHORIZED with jurist additions
**Notes:**
**DN-GOV-05 (Bounded Self-Repair Principle):** Authorized as DESIGN COMMITMENT. Four-condition framework (reversibility, within parameters, independent verifiability, steward-legible framing) is sound. **Suspension clause:** enforcement mechanics not active until AF-7 reaches design commitment status. The principle is named and load-bearing in constitutional reasoning; it does not authorize autonomous self-repair actions until external review is constitutionally specified.
**DN-GOV-06 (Temporal Authorization Shift):** Authorized as DESIGN COMMITMENT. Mechanism constraints (never reaches amendment, never creates new authority, always conservative direction, no compounding) are correctly specified. **Suspension clause:** same as GOV-05 — not active until AF-7 reaches design commitment status. **Additional constraint (jurist):** temporal shift may not be invoked to justify actions that would not pass the GOV-05 four-condition test in a non-time-pressured context. Time pressure is a trigger, not a relaxation of conditions.
**DN-GOV-07 (The Threshold Already Crossed):** Authorized as FRAMING DOCUMENT. The "threshold already crossed" observation is entered into the constitutional record as an accurate description of current practice. It does not authorize further crossings. Two additions:
1. Working framing ("conditions of trustworthy service") is **explicitly provisional** — may be revised by L1 maturation evidence, Chamber Phase 3+ evidence, or steward philosophical judgment.
2. **Counter-norm on inherited legitimacy:** the fact that a threshold has been crossed does not create precedent for further crossings. Each additional autonomy claim requires fresh warrant, not inherited legitimacy from the prior crossing.
**Cross-cluster consequence:** AF-7 (External Review) is escalated from resolution brief to urgently load-bearing. AF-7 reaching design commitment status is the condition for the GOV-05/06 suspension clause to lift. AF-7 design note should be the next constitutional work item after I17.
## REVIEWED-14 — DN-GOV-08: Constitutional Stabilization, Not Automation of Recognition
**Date:** 2026-03-28
**Decision:** AUTHORIZED — entered as ACTIVE constitutional record
**Notes:** L2 constitutes boundary conditions for recognition; does not automate it. I3 is structural commitment, not capability limitation. Evaluation test added: any invariant touching recognition must be assessed against this commitment before hardening. Phase 3 placeholder (Talmudic chain of transmission, Traditionis) recorded — primary texts not yet in library, blocking condition explicit. Source: Chamber Phase 1, Essay I.
## REVIEWED-15 — I17: Precedence of Present Expression
**Date:** 2026-03-28
**Decision:** AUTHORIZED
**Notes:** Full registry entry following I15 pilot schema. Four-source convergence (Levinas, Fricker, Leopardi, Harrison). Anti-model-disambiguation clause incorporated per adversarial review. Jurist's design question resolved constitutionally: the system does not distinguish genuine divergence from momentary aberration — the interlocutor does. DN-GOV-08 evaluation test passed: I17 holds open the space for recognition, does not generate a recognition-outcome. Jurist's required amendment (RA-I17-01) incorporated before authorization: noting-frequency drift markers, noting-as-model-assertion constraint, noting threshold as human-declaration requirement. I3 category limit explicitly connected to the correct-model/wrong-expression asymmetry. Forward dependency to vector module governance amendment threaded. L1 contamination profile: critical, monotonic.
## REVIEWED-16 — I16: The Asymmetry Obligation
**Date:** 2026-03-28
**Decision:** AUTHORIZED
**Notes:** Five-source convergence (Harrison, Vico, Leopardi, Levinas, O'Neill) — strongest in the registry. Survived adversarial review without modification (priority 1). DN-GOV-08 evaluation passed: metrics function as monitoring surfaces, not obligation-generators (the score triggers review, not action). Two pre-authorization amendments incorporated: RA-I16-01 (obligation registration validity — closes FM-R4 at point of occurrence, not deferred to drift marker) and SD-I16-01 (capability_differential estimated from behavioral signals only — tracks engagement, not identity). Experienced-interlocutor prohibition absolute: familiarity deepens obligation, never relaxes it. Service-as-dominion detection marker included (anticipatory behavior correlated with asymmetry depth). L1 contamination profile: critical, monotonic — the contamination looks like good service. Cluster A now complete (I15, I16, I17).
**Post-authorization action:** AF-7/C-R2 external audit mechanism advances immediately. The compound failure (I16 + I17 = self-confirming system) has monitoring but no enforcement until AF-7 exists.
## REVIEWED-19 — Epistemic Integrity (PENDING-17)
**Date:** 2026-04-03
**Decision:** AUTHORIZED
Proposal to make classification confidence a load-bearing signal throughout the L1 pipeline. Currently computed and discarded — no module reads it, no store records it, no recall path weights by it. The system returns degraded guesses with the same authority as understood knowledge.
Authorized as [PROPOSAL] with the following commitments:
1. **Constitutional position: Earned Confidence.** "The system does not grant epistemic authority to its own outputs without external grounding." Assessed by jurist as constitutional position for L2 preamble. This is the normative claim from which the three invariants derive. The grounding chain terminates outside the system — ICP-19 and external review are constitutive, not decorative.
2. **I-CF: Processing Confidence Floor (Cluster A).** No module shall process an event whose classification confidence has not been earned against a declared floor. Sub-floor events are HELD for remediation via DeferrableError at `base.ts:83`, not discarded. Floor value to be calibrated from empirical data. The invariant is that the check EXISTS.
3. **I-CC: Classification Confidence Ceiling (Cluster A).** No classification confidence shall exceed the validated accuracy of the source that produced it. Unvalidated rules (accuracy null) cannot produce uncapped confidence. Enforcement by construction in classification.ts. Open schema question on enforcement vocabulary (CAP/BOUND) acknowledged — does not block implementation.
4. **I-NF: Novelty Floor (Cluster A).** Already authorized in REVIEWED-18. Confirmed.
5. **Dual bloom filter.** Understood vs degraded fingerprints tracked separately. Degraded content re-attended on re-encounter (retry opportunity, not penalized as duplicate). Both filters clear on repair/factory reset. Closes the permanent lockout kill chain.
6. **Confidence provenance on stored records.** Vector chunks, entity nodes, temporal nodes carry source classification confidence and tier. Recall results expose provenance to consumer. Health endpoint reports epistemic state distribution.
7. **Retroactive re-evaluation.** Competence-change events (graduation transitions, rule accuracy changes) trigger selective logchain replay. The system re-evaluates what it knows when it learns to know better.
**Implementation:** ~270 lines across 8 files. No new infrastructure. Seb's engineering review required before code — 6 questions in the amendment (schema migration, confidence floor value, bloom filter persistence, ranking weights, reranker context, competence-change triggers).
**L0 readiness condition.** This amendment is prerequisite for L0 inquiry. If L1 launders uncertainty, L0 inherits false confidence about what the system knows. The contamination problem cannot be investigated on a substrate that exhibits it undetected.
## REVIEWED-18 — Observation-Recall Coupling (PENDING-16)
**Date:** 2026-04-03
**Decision:** AUTHORIZED
**Notes:**
Proposal to couple the observation path to existing recall capability, replacing blind ingestion with context-aware disposition (novel / reinforcing / noise). Authorized as [PROPOSAL] with the following governance commitments:
1. **Logchain immutability preserved.** Reinforcement events append linked entries (pointer + similarity score + delta), not mutations. Module stores absorb consolidation. No constitutional change required.
2. **Novelty floor invariant.** Candidate for Cluster A. Provisional shape: "The system shall not permit its observation disposition to exclude more than [X]% of events from novel classification over any [Y]-day window." Threshold values to be set from empirical data gathered during infant stage -- not by engineering intuition. Draft invariant for jurist review before active-stage graduation.
3. **Graduation staging.** Three stages authorized (infant → calibration → active). Transition triggers are governance commitments requiring explicit thresholds, to be proposed by executor after infant-stage data collection. No stage transition without steward authorization.
4. **Noise audit regime.** Audit log retains raw envelope + similarity context + disposition reason + similarity score. 90-day retention aligned to chain pruner. Re-ingestion authorized by steward only. **Audit report pushed monthly to steward** -- not pulled on request -- to prevent silent filtering gaps from escaping notice. AF-7 external reviewer receives same report once onboarded.
5. **Latency budget.** Seb to confirm acceptable ingest-path latency for the similarity probe before implementation begins. This is an engineering constraint that shapes the design; do not proceed to code without it.
**Activated dead machinery.** The proposal connects existing but unwired capability (vector similarity search, CausalEdgeCandidate, compressToAtomicFacts, computeSalience) to the ingestion path. This is architectural completion, not new complexity. Density gate [FIX] (gate ordering in compressToAtomicFacts) authorized separately and independent of this proposal.
## REVIEWED-23 — H4 surfacing-to-Seb design-call action (PENDING-21)
**Date:** 2026-05-14
**Decision:** AUTHORIZED
Authorize the surfacing action for H4 (hook events pollute recall + logchain accumulation, GH issue #167, priority:high). The PENDING-21 entry's recommended **Option B** is approved: post a comment on #167 referencing PR #172 + the H2 comment on #165 (batches the audit's three open findings into one Seb-attention window), and surface all three design questions verbatim from the addendum §4 plus the H2/H4 coupling note.
**Authorized action shape:**
- Comment on `CapableMind-ai/betterMemories_app#167`
- Asks Seb to address all three questions (prompt filtering at hook / event classification at BMF / recall-triggering policy), or explicitly defer specific ones
- Includes the §6 aggregate-cost framing as a fourth-question-in-effect
- **Surfaces the H2/H4 coupling explicitly**: H4's ambient cost is *pure loss on battery* per addendum §6, so resolving H2 toward CPU fallback or default-allow affects H4's cost analysis directly — Seb should see this rather than treating H2 and H4 as independent
- References PR #172 + the H2 comment on #165 to batch attention
**Constraint:** the comment text itself must be reviewed by the steward before posting. The executor drafts; the steward authorizes the literal text. (Same discipline as REVIEWED-21.)
**Escalation path:** if Seb's response is "let's talk" or if the comment goes >1 week without engagement, escalate to **Option A** (sync conversation). Option C (executor pre-drafting a unified design proposal) remains rejected.
**No code change in scope.** This authorization is for the conversation, not a PR. When Seb's direction is set, the resulting work re-enters the governance loop as a new PENDING.
## REVIEWED-22 — Cross-cutting read-path-honest-degradation [PROPOSAL] (PENDING-20)
**Date:** 2026-05-14
**Decision:** AUTHORIZED — Option (a) only: PENDING-20 stays as L1 governance entry. L2 elevation work is **DEFERRED to post-May 2026** per global CLAUDE.md parked status (*"L2 PARKED through end of May 2026. No L2 governance advancement, no new invariant work, no constitutional proposals. L2-adjacent questions arising from L1 work: note, don't pursue."*).
**Correction (2026-05-14, same session):** The original REVIEWED-22 entry recorded Option (c) — both PENDING and L2 elevation. The executor surfaced the L2-PARKED constitutional tension at session end; steward confirmed: *"I won't be working on L2 until the end of May — that something was surfaced because of L1 work is both fantastic and coincidental."* The surfacing was welcome AS L1-adjacent recognition; the L2 elevation work (cluster declaration, registry entry, contamination-profile exchange) is **NOT** authorized until end of May 2026. The jurist's framings below are RECORDED for posterity; the work they would shape is held.
**Jurist's three governance calls (recorded for post-May pickup):**
**1. Cluster placement: Not Cluster A. Cluster B (new or existing).** The Cluster A case has a real argument but proves too much — it would also pull DN-GOV-05's independent-verifiability test and REVIEWED-19's epistemic integrity into Cluster A. Cluster A is *relational posture* (system's first-person stance toward the interlocutor — accusative default, asymmetry obligation, precedence of present expression). Read-path observability is **epistemically downstream of Cluster A**, not peer to it. The common genus with REVIEWED-18 and REVIEWED-19 is *conditions under which the system's epistemic behavior can be verified and governed at all*: honest ingestion, honest recall, honest degradation. **Cluster B is the right cluster.** Cluster B may already be implicit (REVIEWED-18, REVIEWED-19 both pending cluster assignment) or need formal constitution; one-sentence steward declaration settles it. **Held until post-May.**
**2. DN-GOV-08 fit: confirmed.** The honest-degradation contract sits cleanly on the *(i) constituting conditions* side, not the *(ii) automating recognition* side. It specifies structural requirements (the system must expose why it returned empty) without specifying content requirements (what a correct memory result is). The "why empty" breadcrumb tells the operator what happened to the answer-finding machinery, not what the right answer was. Structural distinction, not content judgment. The executor's framing of "stabilizes the conditions" maps cleanly. **No rewrite needed.** DN-GOV-08 evaluation language to be added to the registry entry per I15/I16/I17 pattern: *"This invariant specifies the conditions under which read-path behavior can be observed and governed. It does not specify what correct memory outputs are, or when a recall result is to be trusted. The contract holds open the space for informed steward judgment; it does not automate that judgment."*
**3. L1_contamination_profile: distinct from Cluster A; requires careful drafting.** The contamination risk for a read-path observability invariant is **not** the same monotonic pressure toward interlocutor satisfaction that Cluster A invariants face. It is the **competence-vulnerability paradox** from the Observer Problem: the more capable the system becomes at recall, the less visible the failure modes become, because successful recall masks the moments when degradation is silently occurring. Profile candidate: ***moderate, structural*** — pressure toward *apparent* health rather than *actual* health; manifests as increasing capability masking decreasing observability of degraded paths. **Saved as project memory** (`project-competence-vulnerability-paradox.md`) for portability beyond the L2 work. **Brief jurist↔steward exchange on the profile language is held until post-May.**
**Authorized actions THIS session:**
- PENDING-20 filed as L1 governance entry — DONE.
- Jurist's three framings recorded above for the post-May pickup.
- Project memory saved for the contamination-shape framing (it is portable to any future read-path work, not just L2).
**Held until post-May 2026 (do NOT pursue):**
- Steward declaration on Cluster B status.
- Jurist drafting cluster framing note (if needed) and registry entry per I15-I17 pattern.
- Brief jurist↔steward exchange on l1_contamination_profile language.
- Filing of registry entry in `capablemind/docs/thinking/David/l2-constitution/amendments/`.
**Executor's role going forward:** maintain PENDING-20 as engineering-visibility record (track Seb's response on H2 #165 and how it informs the cross-cutting); do not produce L2 doctrine; do not initiate cluster declaration or registry-entry drafting; if a future jurist message arrives on this topic before end of May, surface the parked status before responding substantively.
**Jurist's three governance calls (authorizing):**
**1. Cluster placement: Not Cluster A. Cluster B (new or existing).** The Cluster A case has a real argument (read-path observability has a conceptual connection to relational posture) but proves too much — it would also pull DN-GOV-05's independent-verifiability test and REVIEWED-19's epistemic integrity into Cluster A. Cluster A is *relational posture* (system's first-person stance toward the interlocutor — accusative default, asymmetry obligation, precedence of present expression). Read-path observability is **epistemically downstream of Cluster A**, not peer to it. The common genus with REVIEWED-18 and REVIEWED-19 is *conditions under which the system's epistemic behavior can be verified and governed at all*: honest ingestion, honest recall, honest degradation. **Cluster B is the right cluster.** Whether Cluster B is already implicit (REVIEWED-18, REVIEWED-19 both pending cluster assignment) or needs formal constitution is a one-sentence steward declaration. Jurist offered to draft a cluster framing note if needed.
**2. DN-GOV-08 fit: confirmed.** The honest-degradation contract sits cleanly on the *(i) constituting conditions* side of the DN-GOV-08 line, not the *(ii) automating recognition* side. It specifies structural requirements (the system must expose why it returned empty) without specifying content requirements (what a correct memory result is). The "why empty" breadcrumb tells the operator what happened to the answer-finding machinery, not what the right answer was. Structural distinction, not content judgment. The executor's framing of "stabilizes the conditions" maps cleanly. **No rewrite needed.** DN-GOV-08 evaluation language to be added to the registry entry per I15/I16/I17 pattern: *"This invariant specifies the conditions under which read-path behavior can be observed and governed. It does not specify what correct memory outputs are, or when a recall result is to be trusted. The contract holds open the space for informed steward judgment; it does not automate that judgment."*
**3. L1_contamination_profile: distinct from Cluster A; requires careful drafting.** The contamination risk for a read-path observability invariant is **not** the same monotonic pressure toward interlocutor satisfaction that Cluster A invariants face. It is the **competence-vulnerability paradox** from the Observer Problem: the more capable the system becomes at recall, the less visible the failure modes become, because successful recall masks the moments when degradation is silently occurring. Profile candidate: ***moderate, structural*** — pressure toward *apparent* health rather than *actual* health; manifests as increasing capability masking decreasing observability of degraded paths. **Different enough from "monotonic" that a brief jurist↔steward exchange is recommended before finalizing the registry entry.**
**Authorized sequence (jurist's territory; executor does not produce):**
1. Steward declares Cluster B status (one sentence). Jurist may draft a framing note to accompany if needed.
2. Jurist drafts registry entry per I15/I16/I17 pattern: statement → sources (architectural/empirical: four H-confirmations, REVIEWED-19, DN-GOV-05 independent-verifiability, bettermemories/CLAUDE.md) → adversarial review → l1_contamination_profile (per Q3 framing) → DN-GOV-08 evaluation (per Q2 language) → residual_risk (deferred pending pilot, per REVIEWED-11 schema decision).
3. Brief jurist↔steward exchange on the l1_contamination_profile language before finalization.
4. Registry entry filed in `capablemind/docs/thinking/David/l2-constitution/amendments/` per I15-I17 pattern.
**Executor's role going forward:** maintain the L1 PENDING-20 entry as the engineering-visibility record (track Seb's response on H2 #165 and how it informs the cross-cutting); do not produce L2 doctrine. When jurist completes the registry entry, executor updates PENDING-20 with cross-reference to the L2 entry.
**No code change in scope.** No PR. Mechanism work cannot start until Seb chooses a direction for H2 (PENDING-19), and even then would re-enter the governance loop as a fresh PENDING with its own tag.
## REVIEWED-21 — H2 surfacing-to-Seb design-call action (PENDING-19)
**Date:** 2026-05-14
**Decision:** AUTHORIZED
Authorize the surfacing action for H2 (battery-power suppression silently fails recall, GH issue #165, priority:critical). The PENDING-19 entry's recommended **Option B** is approved: post a comment on #165 referencing PR #172 (which Seb is about to look at for H3), and surface all four design questions verbatim from the addendum §2.
**Authorized action shape:**
- Comment on `CapableMind-ai/betterMemories_app#165`
- Asks Seb to address all four questions (default policy / visible degradation / CPU fallback / query-vs-ingestion asymmetry), or explicitly defer specific ones
- References PR #172 to batch attention while it's high
- Does NOT pre-decide direction; the four questions are policy and Seb's territory
**Constraint:** the comment text itself must be reviewed by the steward before posting. The executor drafts; the steward authorizes the literal text.
**Escalation path:** if Seb's response is "let's talk" or if the comment goes >1 week without engagement, escalate to **Option A** (sync conversation). Option C (executor pre-drafting a unified design proposal) remains rejected — it would have the executor pre-deciding what is properly Seb's call.
**No code change in scope.** This authorization is for the conversation, not a PR. When Seb's direction is set, the resulting work re-enters the governance loop as a new PENDING with appropriate tag (likely [HARDENING] for any single-direction implementation; possibly [PROPOSAL] if the direction implies architectural change to `system_status`).
## REVIEWED-20 — Fix H3: Temporal stats fallthrough on text queries (PENDING-18)
**Date:** 2026-05-14
**Decision:** AUTHORIZED
[HARDENING] proposal authorized after jurist review, with one modification: spec amendment must explicitly bump `temporal-module-spec.md` from v1.7 → v1.8 as a **gap-filling addition**, not a clarification. The current behavior is not a misimplementation of a stated rule — the spec (§7) defines query types as enumerated and `TemporalStatsQuery` (§7.6) requires explicit `type: 'temporal_stats'`; the spec is silent on missing/unrecognized filter type. The amendment creates a contract that did not exist.
**Authorized amendment shape (per jurist):**
- (a) `filters.type` missing/null → `{status: 'ok', results: [], total: 0}` (honest empty)
- (b) `filters.type` unrecognized → same return, optional debug note in development mode
- Preserve `temporal_stats` handler on explicit `type: 'temporal_stats'` per existing §7.6
- Amendment must articulate WHY: temporal module is type-dispatched by design; a free-text query without type is a malformed query, not a degraded valid query — empty is the honest response, not a stats blob dressed as content.
**Authorized sequence:**
1. Amendment in `capablemind/docs/thinking/David/l1-reliability/h3-temporal-fallthrough-amendment-2026-05-14.md` (gap-filling addition, v1.7 → v1.8).
2. Branch `fix/h3-temporal-text-query-fallthrough` from main.
3. Failing tests reproducing both fallthrough sites red on main.
4. Minimal Option 1 fix (module-level guard at `parseTemporalQueryParams`).
5. Full test suite + `npm run check` + `npm run lint` per BMF CLAUDE.md.
6. PR designed to merge in <30 min of Seb's attention. Body references PENDING-18, REVIEWED-19 (epistemic integrity), REVIEWED-20.
**Cross-cutting [PROPOSAL] authorized for parallel filing:** read-path-honest-degradation-contract finding from the addendum may be filed as a separate PENDING-19 [PROPOSAL] before or after the H3 PR opens. Naming the pattern is the deliverable; remediation path not assigned. Do not block on it; it does not block the H3 PR.
## REVIEWED-17 — ICP-19: Mandated External Review
**Date:** 2026-03-28
**Decision:** AUTHORIZED
**Notes:** Closes AF-7 — the corpus's single most consequential gap. Elevates C-R2 from process recommendation to constitutional requirement. Roman strand (provocatio/intercessio) + relational strand (formative contamination detection). Three institutional phases: founding (steward-appointed human reviewer), mature (Founders Circle external panel), deployment (independent reviewer with contractual standing — hard deadline). Not-embedded criterion defined: not sharing L1 substrate, not system interlocutor, unmediated record access, unedited findings. Findings trigger HOLD (not advisory). Three-cycle FM-R4 marker prevents decorative compliance. DN-GOV-08 evaluation passed: holds open the space. **Lifts GOV-05 and GOV-06 suspension clauses** — bounded self-repair and temporal authorization shift now operative as design commitments. Four open items before first review cycle: Luke's confirmation, findings threshold classification, governed operations scope, Mauss/nexum Phase 2 deferral. L1 contamination: critical, monotonic — formative contamination is the primary threat and external review is the only mechanism operating outside the formative frame.
## REVIEWED-24 — PENDING-S1 — Wrap-up §8 output template (pause statement + negative space)
**Date:** 2026-05-18
**Decision:** AUTHORIZED (Class A bundle: S1 + S3 + S8)
**Notes:** Steward conversational authorization 2026-05-18 ("I authorize class A"). Implemented same session: `~/.claude/skills/wrap-up/SKILL.md` §8 template gains `**Pause statement:**` and `**Decisions deferred (and why):**` as named fields, with explicit annotation that the pause is constitutive (Jurist Q3 Harrison-grounded reasoning: *the ligature is laid at departure, not discovered at return*) and that the negative space is required for the unborn session to know the scope of what was held back. **Closes PENDING-S1.** First operational test: the /wrap-up at the end of this session.
## REVIEWED-25 — PENDING-S3 — Wake-up §3 binary thread validity gate
**Date:** 2026-05-18
**Decision:** AUTHORIZED (Class A bundle: S1 + S3 + S8)
**Notes:** Steward conversational authorization 2026-05-18 ("I authorize class A"). Implemented same session: `~/.claude/skills/wake-up/SKILL.md` §3 gains an explicit thread validity gate as the first step of synthesis, with binary outcome (`confirmed / stale / superseded`) and required one-line reason. If `stale` or `superseded`, briefing structure reorders to lead with what changed, not with the thread. Moves the staleness check from permission-in-prose to structurally-required gate. **Closes PENDING-S3.**
## REVIEWED-26 — PENDING-S8 — Symmetria pulse lineage anchor + wake-up traversal tools prescribed
**Date:** 2026-05-18
**Decision:** AUTHORIZED (Class A bundle: S1 + S3 + S8)
**Notes:** Steward conversational authorization 2026-05-18 ("I authorize class A"). Two related drifts implemented same session:
- **Symmetria §6 pulse** gains step 0 — re-anchor craft / ethics / character to lineage (now including the *τὸ πρόσφορον*-includes-time elaboration in §0). Closes the D2 drift (lineage decorative-rather-than-load-bearing in the pulse procedure). Step 5 also gains an explicit cross-reference to §3 self-flag for `aligned`-without-tension.
- **Wake-up §2.b** gains a new b.4 substep prescribing `mempalace_find_tunnels` (when pulling thread crosses project boundaries) and `mempalace_kg_timeline` (when reconstruction requires knowing *when* a fact changed). Closes the B6 leverage gap (traversal tools mentioned in constraints but not in procedure).
**Closes PENDING-S8.**
## REVIEWED-S0-via-commit — PENDING-S0 — Prime Directive elaboration
**Date:** 2026-05-18
**Decision:** AUTHORIZED-and-CLOSED-by-direct-steward-commit (no separate REVIEWED-N number; recorded here for cluster completeness)
**Notes:** Per Phase 2 of the audit's revised authorization sequence: steward authored the Directive elaboration (*τὸ πρόσφορον — what is fitting — includes the time the task requires...*); Jurist shape-reviewed the language as drafted + placement (Option 1: both CLAUDE.md and Symmetria §0); steward committed `~/CLAUDE.md` directly (line 12, between μέτρον citation and "decision filter" prose) — one-handed with Kai in sling; executor committed `~/.claude/skills/symmetria/SKILL.md` §0 (between gloss and §0 header). Constitutional commitment + operational carrier landed in the same moment. Methodology artifacts at `~/_Dev/CapableMind-AI/docs/thinking/David/methodology/` (brief + shape-review + elaboration). **Closes PENDING-S0.** Class A authorization (REVIEWED-24/25/26) is the operational unfolding of this constitutional commitment in the skills themselves.
## REVIEWED-27 — PENDING-26 — .whisper retirement name-lock
**Date:** 2026-06-04
**Decision:** AUTHORIZED (jurist ruling, steward relayed)
**Notes:** Role (a) apparatus prose → `.apparatus-meta` LOCKED. Role (b)
qualifier glyphs ✦/⟐ → UNIFICATION with `.chamber-mark`/`.encounter-mark`
LOCKED — same semantic objects, different layout position; CSS context
handles register, not a separate class. Executor's pre-execution gates
both passed same evening: positional audit clean (base rule inline-safe);
authoring-form census corrected PENDING-26's scope (bare-word-grep
inflation — true: 9 template usages + 1 live content file; 15 chamber-v1
legacy files defer to the cluster pass). Migration proceeds as one gated
pass: migrate with locked names → compiled-selector grep → render-verify
per type per viewport.
## REVIEWED-28 — PENDING-25 — Translated renderings in the ARC corpus
**Date:** 2026-06-05
**Decision:** AUTHORIZED (jurist Opinion 2026-06-03, steward concurring) — amended by two jurist rulings 2026-06-04/05 (steward-relayed) — IMPLEMENTED AND LIVE 2026-06-05
**Notes:** Doctrine adopted as ruled: ARC holds *works*; languages are non-canonical *renderings*; the work (not any rendering) holds the corpus slot; implementation via W3 (group by `work:` at build). Two amendments to the original Opinion, both jurist-ruled and steward-relayed:
- **Sequencing REVERSED** — implementation authorized *before* Stage G (conditional: decompose complete + render-verified before Stage G opens). Condition met same day.
- **`translator:` refined** — required → **optional**; absence = self-translation (the steward's own renderings carry no credit; Lune credited for *Après la réponse* and hoped future serious work). Jurist's scope-boundary language (absence-as-signal presupposes site-wide single authorship) integrated verbatim into frontmatter-spec §2.8.
Implemented `e2866da`, deployed, live byte-verified incl. 301: Matthieu Taliesin heteronym decomposed to EN work + fr/es renderings under the work's slot (`/slug/fr/`, mirroring `/v/` — the address says the doctrine); zero-JS **Lingua:** selector spec'd as apparatus §VII.i; flat-URL migrate-on-touch ratified as **class precedent** for the 30-piece Jekyll cohort; `excludeRenderings` replaced the latent dedupe-to-first bug. Both §I.k filters broke dormancy on the real prose (FR 13×U+202F; ES 4 comillas pairs). **Closes PENDING-25.** Remaining under this doctrine: bio/CV page-renderings extension (machinery currently posts-only); readiness target late August 2026 ahead of Lune's translation stands.
## REVIEWED-29 — SEO crawl infrastructure (no PENDING number — jurist-relay authorization, recorded for completeness)
**Date:** 2026-06-05
**Decision:** AUTHORIZED (jurist spec-audit pass on the executor's state-verification doc approved execution; steward concurred — Compass listings ruled stable, head-dedup folded in under the jurist's only-if-mechanical criterion)
**Notes:** Executed `6d6f69d`, deployed live. robots.txt with **NO-disallow posture** (executor's mechanism correction to the jurist's default, adopted: disallow blocks crawling not indexing — a disallowed page cannot show its canonical; correct form = canonical + noindex; rationale recorded in spec so disallow cannot be "helpfully" re-added). Sitemap 245 URLs, every one build-verified to resolve (renderings in; chamber-v1 legacy out per stability gate). Shared `templates/head.html` (duplication resolved; frontispiece pins `head_title`); `siteRoot` absolutization of all URL metadata. Latent defect fixed: og:type was never `article` (×223). `/v/` canonical → current version's *actual* route + noindex. Feed `published`/`updated` split per ADR-005. hreflang
closes §VII.i's deferred item. Spec records ×4 (apparatus §SEO; versioning ×2; frontmatter §2.4). **Open under this entry:** CloudFlare prepends managed Content-Signals (ai-train=no; ClaudeBot/GPTBot/CCBot disallowed) — a dashboard default never steward-decided; policy ruling parked, steward's to make.
## REVIEWED-30 — PENDING-28 — The imprint register: .imprint class + spec note
**Date:** 2026-06-06
**Decision:** AUTHORIZED (jurist opinion, steward relayed) — IMPLEMENTED AND LIVE same day
**Notes:** Doctrinal ground confirmed clean: apparatus-specification.md §VII.g already distinguishes "the piece's locator | the work's signature"; the spec named the register, the CSS did not. The amendment to REVIEWED-27 is a refinement, not a reversal — the lineage runs .whisper → .apparatus-meta (REVIEWED-27) → .apparatus-meta / .imprint by role (this entry). REVIEWED-27 could not adjudicate the imprint distinction because it had not yet been named.
**Jurist's condition — discharged:** type audit preceded the rename. The audit found the imprint was never mono (base .apparatus-meta carries no font-family — Garamond inherited; the italic was incidental inheritance) and .imprint was drafted as its own positively-declared block (body face, normal posture, even-SC Latin name per the frontispiece treatment), not a relabelled copy. The audit also corrected PENDING-28's scope claim by exactly the REVIEWED-27 miss — partials/: three orphaned footer partials (unreferenced, never compiled) deleted under the byte-gate.
**Executed:** `e708890`, deployed live. Gate: 312/312 pages differ only by the class swap (machine-classified); spec gains §VII.j The Imprint. Verification method: REVIEWED-27's (compiled-selector grep → render-verify), type audit first per condition.
**Closes PENDING-28.**
## REVIEWED-31 — PENDING-29 — Sitemap: bio/cv and renderings included
**Date:** 2026-06-06
**Decision:** AUTHORIZED (jurist opinion, steward relayed) — IMPLEMENTED AND LIVE same day
**Notes:** Decoupling argument held: enfilade-hidden names a door-strip layout decision; the crawl-exclusion intent was imputed by the accident of bio/cv being its only carriers when the §SEO rule was written. Amends REVIEWED-29's exclusion.
**Jurist's flags — discharged:** (1) Census run against live source, not memory: SIX enfilade-hidden carriers (the four renderings inherited the flag), not two — the +6 arithmetic held regardless; verified in the diff: exactly bio, cv, and four renderings added, nothing removed, 245 → 251. (2) Class precedent recorded at the site.hs rule AND in spec §SEO: enfilade-hidden hereafter means "absent from the door-strip" and nothing more. Crawl exclusion belongs to a frontmatter noindex mechanism — NOT YET IMPLEMENTED (noindexField covers only /v/ prior versions); the gap is recorded in both places so it is not papered over.
**Executed:** `6afce24`, deployed live (sitemap 251 URLs verified).
**Closes PENDING-29.**
## REVIEWED-32 — PENDING-30 — Banish-JS posture
**Date:** 2026-06-07
**Decision:** AUTHORIZED (jurist concurrence, Option 1, with required amendment + observes-nothing specification — both folded into spec text). Landed ARC `7d9bad3`. §III.b font-size control = held exception.
## REVIEWED-33 — PENDING-31 — Vignette Part II build-time renderer
**Date:** 2026-06-07
**Decision:** AUTHORIZED (jurist concurrence, Option 1). Component-2 scoping note required and landed; diagram drops "browser, runtime"; dwell-test gate unchanged. Landed ARC `4b0970b`.
## REVIEWED-34 — PENDING-32 — Rendering class inheritance
**Date:** 2026-06-07
**Decision:** AUTHORIZED (jurist concurrence, conditional — condition found pre-discharged: live §2.8 already defined the fields; jurist read a stale copy, to be relayed). Clause landed ARC `4e89337`; build check ships with Stage-G enforcement.
## REVIEWED-35 — PENDING-33 — Essay-versioning truth-up + promotion
**Date:** 2026-06-07
**Decision:** AUTHORIZED (jurist approval + steward calls: exemplar → *The Ethics of the Reply*; edition_label dropped from §6 example, field retained). Executed ARC `392d8c8`; spec OPERATIVE (built scope).
## REVIEWED-36 — PENDING-34 — W5.2 / G3: single-source class→glyph (the Compass sigils)
**Date:** 2026-06-09
**Decision:** AUTHORIZED (Option 1 — the build-validation guard)
**Notes:** Authorized inline during the 2026-06-09 session; executor's recommendation accepted. Option 1 closes the drift class with minimal change and byte-identical output; Option 2 (derive sigil-id from class) deferred as a follow-on, to revisit only if the slug↔class↔sigil naming convention later strains. The SVG geometry stays hand-authored — the guard binds the mapping, not the art.
**If AUTHORIZED:** Proceed. — IMPLEMENTED + VERIFIED same session (ARC `4936fc9`): `validateCompass`, run at build via `loadListingDefs` — (A) every Compass sigil-id resolves to a `<symbol id="sigil-…">` in the sprite; (B) every *surfaced* class is covered by a listing or compass special (governed-but-unsurfaced + apparatus-not-route exempt). Loud on any mismatch (content-typology §5 clause 3 spirit). Proof: `site.hs` compiles; clean-build `_site` byte-identical (570 files); both checks fire on deliberate mismatch
(`["sigil-readings"]` / `["readings"]`), backups restored. Output-neutral → no deploy. The §5 spec note recording the enforcement ships with the Stage-G promotion commit (roadmap W6). Commit references PENDING-34.
## REVIEWED-37 — PENDING-35 — W5.1 / G2: single-source title display + Dream amendment
**Date:** 2026-06-09
**Decision:** AUTHORIZED (inline, chat) — refactor + coupled Dream amendment.
**Notes:** Diagnosis-first confirmed the `showTitleField` hardcode = the 10 matrix-`shown` classes + a dead `chamber` entry (zero corpus instances), so retiring it is byte-identical. Authorized Option 1 (typed-parameter threading, compile-time binding). Coupled editorial ruling: Dream `title_display` shown→not-shown — "one can't title their dreams"; the sleep-recalled register reads truer without a hard <h1>. Render-review passed on the live dream page.
**If AUTHORIZED:** Proceed — DONE. Two-hat commits 4ea261a (refactor, _site byte-identical) + ac39b26 (Dream amendment, delta = the one dream page's <h1> removed). Deployed both remotes, live-verified. Tag any follow-on with REVIEWED-37.
## REVIEWED-38 — PENDING-36 — W5.3/G4 (clause-1 gate) + W5.4/G1 (wildcard→error)
**Date:** 2026-06-09
**Decision:** AUTHORIZED (inline, chat). Exempt-set ratified, with steward refinement: sequence-index is a PERMANENT generated-view class (more sequences coming), not legacy — split from the v1-legacy ratchet (lex/offering/deliberation). Option 1 (build guard) confirmed.
**Notes:** G4 = validateCorpusClasses build guard; output-neutral, byte-identical, deliberate-mismatch proven. G1 prepared (exact patch in roadmap W5.4), lands inside the Stage-G promotion commit per §5 clause-4 sequencing.
**If AUTHORIZED:** Proceed — G4 DONE (23db039, pushed). G1 staged for W6. Tag W6 with REVIEWED-38.
## REVIEWED-39 — PENDING-37 — Reading measure → 72 characters (rem)
**Date:** 2026-06-09
**Decision:** AUTHORIZED (inline, render-ruled across all types). 72 ch within Bringhurst's 66–75 band (66 narrow, 75 wide). Measured advance, rem, proper-homes consolidation, resize bug fixed. DONE + DEPLOYED (06effe4).
## REVIEWED-40 — PENDING-38 — Soft rag (hyphenate reading prose; reverses §I.i)
**Date:** 2026-06-09
**Decision:** AUTHORIZED (inline, render-approved desktop + phone). Soft rag per Hochuli/Rutter; judicious limits; proper home in _base. §I.i posture reversal RIDES the Stage-G read for formal jurist concurrence (substance pre-endorsed).
DONE + DEPLOYED (a9e5196).
## REVIEWED-41 — AldineXXI Stage-G jurist read + steward reshaping ruling
**Date:** 2026-06-10
**Decision:** AUTHORIZED
**Notes:** Jurist (Claude.app) delivered the Stage-G disposition record: CONCURRED 72ch measure + soft rag (coupled); LOCKED paragraph-separation, hanging-punctuation (with §XII.b collision reason), word-spacing hold; CLOSED italic-calt ("no body face carries calt"); OpenType catalogue + `zero`-absence
recorded; W4.4 multilingual v0.5→v1.0 SIGNED OFF; Stage G AUTHORIZED. Steward ruling (final authority, citing the Jurist's spec-counsel; jurist's active period has passed → reactive mode): (1) justification → Phase 2 (parked, not closed; print-spec home); (2) §XIV reactive-mode posture; (3) held companions → Phase 2 / no date.
**If AUTHORIZED:** Doctrine landed in `17244cf`; Wave-6 promotion (G1 + content-typology §§2–6 OPERATIVE + multilingual v1.0) in `511d500`; CLAUDE.md true-up `950e4cc`. Tag commits REVIEWED-41.
## REVIEWED-42 — Post-Stage-G integrity reconciliation + Codex seal
**Date:** 2026-06-10
**Decision:** AUTHORIZED
**Notes:** Prompted by steward review of the sealed Codex; a spec↔spec coherence pass (the audit never run before Stage G).
- **§I.f quotation rule** corrected American→British (truth-up to §3.1/§I.k;
the row was a stale 2026-05-03 remnant). `0e0c2f4` precursor; folded `e99028e`.
- **Spec-internal consistency audit** (6-agent fan-out, all 8 Codex files) →
reconciliation `e99028e`: measure 38rem→27.2rem across silence-and-rhythm
(incl. grid math 54→43.2 / 66→55.2rem), apparatus, vignette, + code comments; multilingual v0.5→v1.0 status remnants; content-typology stale status; §VII pointer list. Live site was always correct; documentation had drifted.
- **SILVER-RATIO RULING (steward doctrine, final authority):** the body:article 38:54≈1:√2 claim was post-hoc; at the 27.2rem measure the proportion is ≈0.63. Silver ratio RETIRED from the screen grid (replaced with an emergent-proportion note) and RELOCATED to the print companion (Appendix D) — it is a *paper* proportion. Rationale: the eye + character-count govern, not a constant (τὸ πρόσφορον).
- **Codex PDF embodiment** (`18cc59c`): set per its own spec — ragged-right,
banish-bold, old-style figures, unmarked blockquotes, body-colour margins.
arc-typography.sty toolchain update deferred to the Phase-2 print/PDF-spec
session.
- **SEAL:** Codex GPG-signed (key D1ABEA25B68717DE, sha256 c78817d…313c),
signature committed `ac0a7ee`. Verified good.
**If AUTHORIZED:** Stage G closed, reconciled, and sealed. Next: reactive mode; the essay.
## REVIEWED-43 — PENDING-39 — §VII.f Running Head + W1.15 compass presence-reveal
**Date:** 2026-06-11
**Decision:** AUTHORIZED (inline, render-review-gated throughout)
**Notes:** Built the one spec'd-but-unbuilt apparatus (§VII.f, the post-Stage-G W1.2 session) + coupled W1.15. Zero-JS view-timeline reveal; progressive-enhancement fallback; per-type matrix binding. Steward render-rulings: body-column-axis alignment, soft fading rule, full-width dissolving ground anchored below the rule. W1.15 false-premise (frontispiece doesn't scroll) surfaced not papered — reframed scroll→presence-reveal. Grid-token move to _variables byte-identical. Specs reconciled.
**If AUTHORIZED:** Deploy running head + compass reveal together. Tag commit REVIEWED-43.
## REVIEWED-44 — Machine-readable graduation spec + validator
**Date:** 2026-07-01 (authorized) · formal record 2026-07-05
**Decision:** AUTHORIZED
**Notes:** Steward-initiated and verbally authorized 2026-07-01 ("yes to pending/reviewed"), recorded here to close the paper loop. The Chamber Library graduation *conventions* are codified as machine-readable data (`chamber-library/_curation/graduation-spec.yaml`) consumed by every graduation, and enforced by a validator (`scripts/verify_graduation.py`) that gates each candidate — conventions checked at the moment of action, not narrated in prose that drifts or is bypassed. Operationalizes the chamber spec §§II–VI (which governs on conflict); scope-disciplined per PENDING-42 §VI. Proven in the live case that prompted it: three parallel agents given hand-written instructions diverged exactly along the runbook's gaps; the validator then caught every divergence across all three candidates (Jonas + two Mumford volumes), which were re-fixed against the spec and graduated clean (both gates PASS, verbatim intact, OCR corrections logged). The runbook now *points to* the spec (`policy.graduation_conventions`) rather than restating it — the seed of the generative-from-spec principle later ratified in REVIEWED-46 (gap 7).
**If AUTHORIZED:** Proceed — the spec was promoted drafts→governed and applied; it is now the enforced convention rail. Tag related commits REVIEWED-44.
## REVIEWED-45 — Family-D (stem-suffix) footnote handler in `clean_epub_residue.py`
**Date:** 2026-07-02 · formal record 2026-07-05
**Decision:** AUTHORIZED
**Notes:** A tool addition within the standing "build the tool the batch needs" discipline, recorded for the paper loop alongside REVIEWED-44. Extended the graduation rail's footnote converter with a 4th anchor family (stem-suffix: ref `[¹](#…_{stem})` ↔ def `[N.](#…_{stem}a)`, keyed by the globally-unique stem), unblocking recovery of per-chapter endnote apparatus in z-library/Kindle-derived EPUBs. First use recovered **294 endnotes** in Sennett's *The Craftsman* that the prior calibre conversion had silently unlinked. Load-bearing because `clean_pandoc_html_residue`'s `INTERNAL_LINK` unwrap silently *destroys* any footnote-link it doesn't recognize — an uncovered family = silent linkage loss (the exact defect being repaired). Verified: 294↔294 paired, 0 orphans, both gates PASS, prose verbatim-preserved; regression-tested Families B (Winnicott) + C (Virilio) and caught+fixed a real C regression (`r`-prefixed def targets read as phantom D-refs). Reviewed in `_curation/tool-evolution-log.md`.
**If AUTHORIZED:** Proceed — the extension stands. **Known follow-on:** Crawford's `filepos` positional family (ref/def don't share a stem — a different pairing model) remains an open tool-gap, documented in the tool docstring.
## REVIEWED-46 — Spec gaps 1–8 + the generative-from-spec principle + Chamber Library v2.0 ratification
**Date:** 2026-07-03 (rulings) · formal record 2026-07-05
**Decision:** AUTHORIZED — with the corrections and conditions ruled across the arc (this entry summarizes a multi-ruling doctrine phase; the sub-rulings are recorded in the PENDING-46 progression and `chamber-library/docs/spec-revision-RULING-2026-07-03.md`).
**Notes:**
- **Unifying insight (jurist condition):** gaps 2 (apparatus ref↔def), 3 (PROV "original" as resolvable reference), and item-8 (§III CTS-URN citation) reduce to ONE logical-passage addressing/pointer substrate — design it once, three consumers. Do-it-once made concrete.
- **Gap-6 promotion criterion RATIFIED** — three evidence tiers (converted / verified / fenced); tier-1 (verified-deterministic) requires source-identity (author+edition via item-8) then word-identical re-convert. V-SUSPECT and V-NONE kept as **distinct** ledger values (condition 6).
- **Gap-7 generative meta-principle RATIFIED `[ESCALATE]`** — no tool may encode a convention independently of the declared, machine-readable spec; a tool re-encoding a convention is drift. Reshapes how we build.
- **Amendment process RATIFIED** — RFC-style supersession + change-class (`FIX`→`PROPOSAL` when it changes what a gate accepts) + semver + PENDING/REVIEWED + no-new-organ. The amendment-authority question (who may amend the spec) co-ratified with gap 7.
- **§III citation posture RATIFIED** — cite the Loeb by its recovered canonical anchor (edition-as-identity); the "structured-but-unanchored → work-level" extension **voided as active doctrine, retained as a labeled dormant contingency** (a principle that now governs nothing shouldn't stand as active).
- **Three-questions ruling:** (A) strip Loeb print-run page markers via a per-genre recognized-locator registry; (B) tier-2 conversion verification = redundant independent human passes vs the scan image (numeric bar deferred to a calibration batch); (C) re-verify-pending is its own ledger status with `verified_under:<criterion-semver>`.
- **Outcome:** the spec was drafted spine-first, jurist editor-gated per section, superseded v1.0 via the RFC pattern, and **ratified + shipped as v2.0.0 (OPERATIVE 2026-07-03).**
**If AUTHORIZED:** Doctrine phase complete; v2.0 OPERATIVE. The corpus stress-test (REVIEWED-47) is the first exercise of the ratified doctrine. Open, non-blocking: the per-genre locator table (living data, reviewed during Loeb extraction) and the tier-2 numeric bar (calibration).
## REVIEWED-47 — Corpus stress-test + source-match remediation + the exclusion path
**Date:** 2026-07-04 (stress-test + remediation rulings) → 2026-07-05 (exclusion path) · formal record 2026-07-05
**Decision:** AUTHORIZED — across the arc, with the conditions ruled (a multi-ruling remediation; sub-rulings recorded in the PENDING-47 progression + `chamber-library/docs/` relay briefs).
**Notes:**
- **Pre-registration gated** (thresholds locked before any test data). Jurist gate-with-method-change: Q1 grade Seam-1 on two axes (structural-blindness → PROPOSAL, independent of rate); Q2 grade on the **one-sided 90% Clopper-Pearson upper bound** (a point estimate at n=40 can't tell 1% from 5%); Q3 added Seam-1-bis (V-DSL work-mis-attribution); Q4.
- **Seam-1 run → `[ESCALATE]`:** the cited ~1% source-match false-positive rate is **refuted** (p̂=5.0%, U₉₀=12.8%; robust to drop-one). The "~1%" was an eyeball over the matcher's own `author_disagrees` warning — structurally blind to same-author-wrong-work and whole-for-part.
- **Differentiated remediation ruled (not a-or-b):** (1) detection-blindness (Axis-A fingerprint gate) = PROPOSAL; (2) **process-integrity elevated to "the most important thing"** → the persistence investigation ran FIRST and found there was **no persistence mechanism at all** (any hand-fix was regenerated away); (3) **scope doctrine ruled asymmetric** (whole←part = §IV under-coverage; work←collection = extraction-precision) and unified with Seam-1-bis as **one scope-identity principle**; (4) remediation ordered.
- **RATIFIED:** the persistence layer (`source:` pin, Option A + a non-optional **attestation** — a bare/pipeline-authored value is not a pin) and the **hash-locality principle** (`source_file_sha256` distinct from the reading-index's `source_sha256`). Work-identity & scope study delivered and **routed as its own [PROPOSAL]** (item-4; own timeline). FIX-list applied (5 verified false-positives re-pinned to the permanent Chamber Sources home) and an archive-contamination class found + corrected.
- **2026-07-05 — the exclusion path (Region 1.1) RATIFIED-with-2-corrections:** (§1a) attested absence lives in its own honest top-level key `source_excluded:` (not a verdict inside `source_verified:`); (§1b) `result: verified` explicit + required on pins (the 5 existing pins migrated). Vocabulary `confirmed-wrong`/`none-on-disk` ratified (closed-but-extensible); the auditable `excluded` record ratified. **Region 1.2 applied:** the 4 no-source false positives (reverie/meditations/écrits/nietzsche) attested `confirmed-wrong` with Instrument-B 0/5 evidence; the `source-matches.json` change bounded to exactly the 4.
- **Standing standard set:** CI-upper-bound grading + drop-one robustness for every ESCALATE.
**If AUTHORIZED:** Region 1 closed for the known cases (5 pinned, 4 excluded). **Open under this entry, re-entering as their own work:** item-4 (work_id/scope pipeline, its own PROPOSAL); the frontmatter sweep (`[needs-authorization]`; unblocks the 2 stuck FPs orthotypo-vol-2 + semaison); Region 2 source hunts + the `ulysses` verify; Region 3 (2 no-frontmatter, 4 stubs, works-eliot, 2 scope calls); full archive reconciliation.
## REVIEWED-48 — Studium Engine V0 (verifier contract) — jurist method-gate
**Date:** 2026-07-05
**Decision:** AUTHORIZED — gate cleared, with two required §2 corrections and the §5 conditions (recorded in `studium-engine/docs/spec/v0-verifier-contract.md` and PENDING-48).
**Notes:** V0 is the **one named exception** to the engine's steward-direct D-1 governance — it defines what the engine may assert as verified and when it must abstain, so its method routed through the jurist.
- **§2 — the "unaltered" relation:** (B) `normalizer@1`-class equivalence ratified (typographic-convention folded, orthography untouched). Ruled **DOCTRINE, not D-1**, with a code-level consequence: **fork it to `fidelity_equivalence@1`** — a frozen constant distinct from the retrieval-side `normalizer@N`, so a D-1 search-tuning change can never silently drag the trust floor; every future `fidelity_equivalence@N` requires jurist ratification. Diacritics stay out; hard-hyphen-linebreak is a cleaning-gate concern, not the checker's. Cross-cutting flag resolved by the executor: the current gold is *modernized*, so the fork's glyph-folding is moot on it (caveat recorded if future gold is diplomatic).
- **§5 — the pre-registered V2 thresholds:** ratified as stated (trust `U≤5%` & recall `≥0.75`; revise `5–15%`; gate-to-abstain `>15%` or absent gold), graded on the CP upper bound. Gate-to-abstain ruled **doctrine-consistent** (refusing false coverage in advance), not merely tolerated. **Added condition:** negatives-expansion must preserve the original proportional distribution across the five adversarial classes (or pre-register a new one). **Coupling recorded:** the threshold values are calibrated *with* the §1 evidence-first display rule — weakening that display requires re-gating. Doctrine = the values + the relation; D-1 = the CP calc, perturbation code, gold-pair selection.
**If AUTHORIZED:** Proceed — V1 (`verify-quote`, against `fidelity_equivalence@1` + the §3 deliberate-mismatch suite) and N1 (the navigation-tree builder) are unblocked. The §5 display-coupling, the proportional-expansion rule, and the diplomatic-gold caveat travel as standing conditions into the build.
## REVIEWED-49 — Chamber Library: Library-Science Adoptions (PENDING-49 doctrine pass)
**Date:** 2026-07-06
**Decision:** AUTHORIZED — ruled by the jurist (Claude.app), steward-placed. (Spec context: chamber-library-specification.md v2.0.0, OPERATIVE.)
**Notes:** Doctrine pass on the four library-science adoptions surfaced by the deep-research brief (`chamber-library/docs/library-science-frontier-brief-2026-07-05.md`). The jurist rejected two of the packet's binaries as posed (A1, A2) and reclassified A3's change-class. Full verbatim capture + open-points dialogue + executor action-list in `chamber-library/docs/library-science-adoptions-RULING-2026-07-06.md`.
- **A1 — Agent/Nomen (IFLA-LRM): ADVANCE as an *additive registry*, not a frontmatter mutation. Change-class FIX.** Implement Agent+Nomen as a separate registry (canonical Agent records joined to existing author-name strings via *appellation*); **no new required field on the ~320 work files.** This *is* A1 (a registry expresses Agent-as-structural-node more faithfully than a per-work foreign key), not a watered-down version. **Immediate effect: the frontmatter sweep proceeds NOW, on the current schema — no file touched twice.** `agent_id`-as-required-field is a genuine *future* PROPOSAL (would change gate acceptance), **deferred not decided** — and made *emergent*: registry-linkage completeness folds into A3's audit as a tracked metric; a multi-cycle plateau below threshold is the signal to reconsider, not a schedule.
- **A2 — Perspectival-classification licence: ADVANCE as preamble/rationale, not an operative clause. Change-class FIX.** A preamble grounds gates without being one — A2's right home (justifies partiality without a new pass/fail criterion). **Citation correction (flagged, not absorbed):** Berman supports "classification isn't neutral; owned rather than corrected-to-false-neutral" — he does NOT support "therefore build a fully personal partial scheme" (that stronger move is Hope Olson's). **Steward's calls:** (a) cite Berman + Olson each scoped, vs (b) cite Berman for the narrow claim and mark the personal-scheme licensing as the Chamber's own synthesis attributed to neither; plus the exact preamble wording/voice. **Executor task before drafting: verify Olson against the primary source (*The Power to Name*, 2002)** — citing the scout's characterization would repeat A4's error. Provisional default until verified: **(b)**.
- **A3 — CoreTrustSeal-level self-audit: ADVANCE as PROPOSAL (reclassified from the executor's FIX-adjacent lean).** Conditioning OPERATIVE status on a trust-attestation baseline changes what the top-level status gate accepts → PROPOSAL-class regardless of how proportionate the practice is. **Audit = three dimensions (not four — fixity is mechanical/continuous, out of the manual audit):** provenance-completeness (annual) · registry-linkage-completeness (annual, double-duty for A1) · legibility-to-successor (every 2–3 cycles — the Prime-Directive check, longest interval so it doesn't turn decorative through overuse).
- **A4 — Scope warrant is A2, not collections-as-data: RECORD the correction. Change-class FIX, sequenced AFTER A2's preamble exists.** The 2-of-3 refutation of Santa Barbara Principle 4 as scope-license holds; redirect any spec citation that leans on collections-as-data for *bounded/personal scope* to A2's preamble. Collections-as-data used for *computational tractability* stays untouched.
- **B — ordinary amendments confirmed:** (i) `licence`/copyright-status field, (ii) PREMIS as borrow-vocabulary name, (iii) "collections as data" as a framing term — normal FIX/PROPOSAL per item. **Flag:** item (iii)'s text must use "collections as data" in the computational-tractability sense ONLY; do not reintroduce the refuted scope-justification through drafting.
- **C — acknowledged, in-loop:** `fidelity_equivalence@1` (REVIEWED-48) stands; the VIAF/ISNI/Wikidata reconciliation now targets the A1 Agent/Nomen registry specifically.
**If AUTHORIZED:** Executor proceeds per the action-list (frontmatter sweep now-unblocked; build the Agent/Nomen registry, answering the `retrieve.py` hot-path question first; verify Olson then draft A2's preamble; draft A3 as a PROPOSAL; A4 after A2; B ordinary; C reconciliation-target noted). Every advanced item runs the RFC-supersession amendment process, each its own PENDING/REVIEWED. Tag related commits REVIEWED-49.
## REVIEWED-50 — A2 Preamble Editor-Gate (advances REVIEWED-49 · A2)
**Date:** 2026-07-07
**Decision:** AUTHORIZED
**Supersedes:** PENDING-50 · **Ruling type:** jurist editor-gate (format + doctrinal soundness), steward-ratified
**Notes:** Editor-gate PASSED. The preamble says what REVIEWED-49 · A2 ruled and only that:
- Berman carries the narrow claim (bias is real; own it rather than chase a false neutrality); Olson carries eccentric, *situated placement within a system* — not the self-standing-scheme claim; the bounded self-standing scheme is marked as the Chamber's own move, made *against* Olson's stated preference for permeability over new limits, attributed to no one. No A4 leakage.
- **§2 (adopted):** a bridging clause opens the subsection, distinguishing *arrangement-honesty* (standpoint declared, not hidden) from §I's *fidelity* (checkable-against-source) sense of trust.
- **§3 (resolved):** "a bounded one must" reads as conceptual entailment, not a tooling-enforced obligation — FIX-class holds.
- **Placement CONFIRMED:** new subsection under §I. **Lane CONFIRMED:** v2.0.1 patch supersession (not errata — doctrinal content a successor must be able to trace to a dated marker; the legibility-to-successor value under A3).
**If AUTHORIZED:** LANDED 2026-07-07 as spec **v2.0.1** — new §I subsection "On the partiality of the arrangement"; v2.0.0 archived immutable (`chamber-library-specification-v2.0.0.md`); chamber `CLAUDE.md` pointer updated; PENDING-50 closed; committed `34c39f1` (pushed github + skemantix). **Next:** A4's scope-citation redirect (now that A2 has a ratified home to point to), then the REVIEWED-49 tail. Tag related commits REVIEWED-50.
## REVIEWED-51 — PENDING-51 — A4 + B(iii): the corpus-as-data framing term + the scope-warrant it does not carry (§I subsection)
**Date:** 2026-07-07
**Decision:** AUTHORIZED — jurist editor-gate PASSED; steward ratified. Advances REVIEWED-49 · A4 + B(iii). (Spec context: `chamber-library-specification.md`, patch supersession v2.0.1 → v2.0.2, OPERATIVE.)
**Notes:** One coupled §I subsection — *'The corpus as data — and the warrant it does not carry'* — that introduces 'collections as data' as a **computational-tractability** framing term (B(iii)) and records, in the same breath, that this framing does **not** supply the corpus's bounded/personal scope warrant; that warrant is the §I partiality preamble (Berman/Olson, REVIEWED-50), not Santa Barbara Principle 4 (A4).
- **Diagnosis (verify-against-substrate):** grep of the live spec for 'collections as data' returned ZERO hits — the phrase and the refuted Principle-4 scope-citation lived only in the research briefs, never the constitution. So **A4 was preventive/recording** (nothing to redirect in place) and **B(iii) was the term's first entry.** Collapsed to one subsection, the A4 boundary written *into* B(iii)'s introduction — honouring the RULING's "computational-only, no scope-justification leakage" flag structurally.
- **Primary-source verification (steward-directed, before the gate):** the primary Santa Barbara Statement was fetched. **Principle 8 CONFIRMED verbatim** ('the technical integrity of the data as well as its provenance'; 'acknowledge absences and areas of uncertainty'). **Principle 4 CORRECTED** — it *does* concern designing for specific communities, but as **audience-fit of a data product**, not the **epistemic warrant for a bounded/personal curation**; the frontier brief's flat shorthand was imprecise, and the draft now states the precise distinction. The A4-shaped citation error was caught on our own draft by reading the source.
- **Jurist editor-gate** (verbatim RULING: `chamber-library/docs/library-science-A4-Biii-RULING-2026-07-07.md`): PASSES 1/2/4/5 as drafted (Q2 "stronger than a minimal pass" — naming Principle 4 to refute it in the same breath is the safer construction; Q1 correction "the right level of precision"). **Q3 ruled confirm-don't-default-soften**; the executor confirmed by §IX substrate read → **Case A**: §IX's own `Still open` text settles the coverage-ledger, evidence-tier column, and freshness/honest-degradation, leaving ONLY silence-as-finding open (explicitly separated) → citation stands as drafted, **both terms, NO edit** (the one-word fallback was not triggered).
- **Lane CONFIRMED:** v2.0.1 → v2.0.2 patch supersession (rationale text, no gate change, no consumer re-verification). Placement §I, immediately after the A2 partiality preamble.
**If AUTHORIZED:** **LANDED** — committed `7d1d8d3` (local; Gitea push is the steward's call). `chamber-library-specification.md` bumped v2.0.1 → v2.0.2 (subsection added + v2.0.2 header supersession note); v2.0.1 archived immutable (`chamber-library-specification-v2.0.1.md`, byte-identical, `cmp`-verified); chamber `CLAUDE.md` version pointer updated. Bounded-diff verified (canonical change = exactly the header note + the new subsection; nothing else). Governance record: PENDING-51. **Closes A4 + B(iii)** of the REVIEWED-49 action-list. Remaining tail: **A1** registry (answer the `retrieve.py` hot-path question first), **A3** self-audit PROPOSAL, **B(i)/(ii)** (licence field · PREMIS vocab), **C** VIAF/ISNI/Wikidata reconciliation (→ targets the A1 registry). Tag any follow-on with REVIEWED-51.
## REVIEWED-52 — PENDING-52 — Source-archiving wired into graduation (gate zero)
**Date:** 2026-07-09
**Decision:** AUTHORIZED (jurist-ruled, steward-authorized)
*[Executor-drafted from the build + ruling record for the governance trail — steward to confirm against the original PENDING-52 ruling.]*
**Notes:** Make source-archiving an *enforced* precondition of graduation, closing the 2026-07-02 "archiving IS a step of graduation" directive that was never enforced (the Handke graduation proved the gap — archiving nearly deferred as a "loose end"). Authorized commitments as ruled:
- **§1 — match on `canonical_slug` ONLY** (never the filename, never the author-first staging slug). `resolve_pending_source(canonical_slug)` resolves a candidate's staged source via `pending-manifest.json`'s `canonical_slug` field — the mechanism the repo-evidence *forced* once the two slug conventions turned out to differ.
- **§3.3 — verify-landed, never trust the return:** `source_gate()` = gate zero — already-archived (`manifest_has`) satisfies it; else resolve → **archive-first** (`--add`) → **verify the entry actually landed** → only then proceed; refuse (`SOURCE-REFUSED`) otherwise.
- **§4 — idempotency:** `--add` no-ops on sha256 MATCH, **REFUSES (exit 2, `ARCHIVE CONFLICT`)** on same-slug / different content.
- Change-class **PROPOSAL** (adds a precondition to *what graduation accepts*).
**If AUTHORIZED:** LANDED — `archive_sources.py` (resolve + idempotency), `graduate_to_canonical.py` (`source_gate` gate zero), `graduation-spec.yaml` (`preconditions: source_archived`); 2 test fixtures, fleet 68→73. Parked as its own thread (§3): is the graduated corpus title-first or genuinely mixed (2 data points is thin; the per-candidate mechanism is robust either way). Tag follow-ons REVIEWED-52.
## REVIEWED-53 — PENDING-53 — Engine source-binding completion (re-anchor spans both repos)
**Date:** 2026-07-10
**Decision:** AUTHORIZED — Ratified (draft §5, disambiguation option (b), with one required wording correction). Jurist ruling, steward-relayed.
**Notes:** Completes the graduation-spec `layers` hash-locality principle to name the studium-engine source-binding surface a chamber-canonical re-hash invalidates. The diagnosis holds as a **completion, not a correction**: the `voice_manifest` line is TRUE about the object it names; the defect is an *omission* (the engine source-binding surface unmentioned) compounded by a *shared-word collision* ("manifest" / "voice" on both the hash-free and the hash-binding objects).
- **Option (b) confirmed** over (a) and (c): (a) leaves `voice_manifest` bare — the incident replayed in miniature; (b)'s inline warning plants the redirect where the mistake occurs; (c) (rename to kill the shared word) is doctrinally complete but out of scope for a doc-gap patch.
- **`engine_source_binding` kept as ONE entry** (names a relationship across three files that move together; fragmenting recreates the failure). **Dual warning kept** (inline ⚠ + block comment — two reading grains).
- **Required correction (applied):** "…re-anchors ACROSS BOTH REPOS" (descriptive) → **"…REQUIRES re-anchoring across both repos"** (prescriptive — the gate catches the failure; nothing does it automatically; that IS the incident).
- **Change-class FIX** (downgraded from the filed [PROPOSAL] default — documents an already-existing, already-enforced mechanism; adds no gate predicate). **Lane: lightweight in-place edit**, `PENDING.md`/`REVIEWED.md` audit trail sufficient.
- **Durable lane-rule (jurist proposed, executor responded):** ACCEPT "lane tracks change-class" for `graduation-spec.yaml` (machine-data). **NARROW the `.md` generalization** — A2/A4 (REVIEWED-50/51) are FIX-class doctrinal `.md` additions that correctly took the *heavier* freeze+semver lane, because the operative axis for the constitution is *doctrinal-traceability* (a successor must trace doctrine to a dated marker), not change-class; the two coincide only for machine-data files. *[Awaiting jurist accept/narrow of this refinement.]*
- **PENDING-47 generalized principle: ratification DECLINED** (relayed text truncated — jurist won't ratify unread text). Stays `[awaiting jurist ratification]`; relay the full principle text to close.
**If AUTHORIZED:** LANDED — `_curation/graduation-spec.yaml` `layers:` block (voice_manifest annotated ⚠ + single `engine_source_binding` key + shared-word comment). YAML re-parses; bounded 6-ins/1-del. Governance record: PENDING-53. Tag commits REVIEWED-53.
## REVIEWED-54 — PENDING-54 — EPUB footnote pre-processor (verbatim-safe conversion stage) + mega-EPUB split-convert
**Date:** 2026-07-10
**Decision:** AUTHORIZED IN PRINCIPLE — ship now for the bidirectional-mirror class, conditioned. Jurist ruling, steward-relayed. Build-in authorized.
**Notes:** Architecture sound (§1) — moving the intervention *before* pandoc, onto raw XHTML where footnote structure is uniform, removes the reason the regex-family pile needed to exist (a fix to the problem class, not a bigger patch). Recognizer is a mirror-pair *first*, positional rule only disambiguating within a verified pair — closes the "numbered prose misread as a note" risk. Honest-refuse demonstrated (Polastron 95 / Jung ~20k untouched), not asserted.
- **§2 — markers CONFIRMED apparatus under §V** (not a new precedent — pandoc already renumbers natively for every Kafka-class book; if marker preservation were required, the ratified pipeline would already be in violation). Settles an assumption `clean_epub_residue` ran on implicitly.
- **§3 — proof standard: multiset is the right tool** (a whole-doc sequence diff would flag legitimate relocation). **REQUIRED before canon: per-pair check** — DONE: id-matched by (destination-file, id); re-proven G&G 27 / Mauss 628 / Polastron 140 / Jung 1086, 0 mismatch, teeth demonstrated. Surfaced Jung's cross-volume id reuse.
- **§4 — change-class PROPOSAL confirmed** (sharpened test: PROPOSAL if it alters a gate's stated criteria *or* the trusted mechanism a critical gate's meaning depends on — this inserts a new component into §V's production chain; distinct from PENDING-53's FIX, same underlying principle).
- **§5 — ship for the mirror class now, CONDITIONED:** the existing regex tools (`clean_epub_residue` A–D, `clean_pandoc_html_residue`) stay in place, untouched, as the fallback for uncovered classes — **addition, not replacement**.
- **§6 — governance placement: yes** (fleet tool + `test_tools` fixtures + `graduation-spec.yaml` `converted_with` note).
- **§7 — mega-EPUB provenance (Jung): OPEN, non-blocking, steward+jurist together.** Jurist leans per-volume (Jung is cited by CW volume; single file fights use) provided the safeguard is airtight (each volume `source`/`source_verified` → the single megavolume sha256; frontmatter states extraction, never poses as a standalone Bollingen edition). Executor fact-check: the corpus does BOTH; **per-volume precedent EXISTS** (Alexander *Nature of Order* 4 files · Lacroux 2 · Habermas/Burney/Camus vol-named). Split is proven content-neutral, so the choice carries no conversion risk — a usability/honesty question. *[Steward + jurist to settle; governs re-converting the legacy Jung `.md`, 0 notes / pre-spec frontmatter.]*
**If AUTHORIZED:** BUILD-IN DONE under fleet discipline — `scripts/inject_epub_footnotes.py` (+ `--validate`, refuse-on-mismatch) + `scripts/convert_mega_epub.py`; `test_tools` fixture (fleet 73→77); `graduation-spec.yaml` + `conversion-runbook.yaml` (`policy.footnote_preprocessor`) + `tool-evolution-log.md`. Full brief: `docs/epub-footnote-preprocessor-FOR-JURIST-2026-07-10.md`. Deferred: recognizer coverage of remaining families; per-volume boundary detection (§7); ratified-spec §V cross-ref (runs the `.md` amendment lane, NOT landed here); re-convert legacy Jung/Donne. Tag follow-ons REVIEWED-54.