Files
dotfiles/claude/governance/INC-2026-07-28-01-PHASE1-BASELINE-2026-08-05.md
T

12 KiB
Raw Blame History

PENDING-101 — Phase 1 baseline: each repo's own account of its authorization/gating model

Written 2026-08-05, BEFORE the Phase 1.5 primary-source read. Frozen on purpose.

Declared contamination: pages 1–3 of INC-2026-07-28-01 (title, contents, executive summary) were read 2026-08-05 to test file reachability. So this baseline is formed with the report's headline finding already known. Bounded and recorded; not a clean slate.

Sources read for this pass: the four repos' CLAUDE.md files (CapableMind carries three — root, docs/thinking/, docs/thinking/David/), plus docs/specs/orchestration/epistemic-gates-spec.md and docs/specs/orchestration/constitutional-governance-addendum.md. Docs only, by design — Phase 1 records the claim; Phase 2 checks it against code.


1. CapableMind-AI

What it says it is. A playbook, not a codebase: 103 specs under docs/specs/, ADRs and amendments under docs/thinking/. src/ and tests/ exist but contain only .DS_Store — the "no application code" claim is true. Code lives in two other repos (bettermemories = L1, themind = L2).

Governance of the documents. Two-phase. thinking/ is the branch, specs/ is main; nobody edits specs directly during day-to-day work. Amendments accumulate as candidates, then a synthesis PR applies them. "The PR is the review and merge moment." Specs are authoritative over code: if code contradicts spec, the code is wrong unless empirical evidence overturns the spec — in which case the spec is updated first.

Governance of the (unbuilt) runtime. A graduated autonomy scale none < propose < notify < log < full, per parameter group (voice/focus/analysis/knowledge/agency), intersected with an operational mode ceiling (observe/respond/act). Three enforcement checkpoints: load-time, write-path, branch-time. Three rules are labelled meta-constitutional — outside operator configuration:

  1. Agency autonomy cannot exceed propose, regardless of manifest or mode.
  2. Belief settlement at civilizational scale requires a stewardship attestation.
  3. Logchain/ReasonChain are append-only, hash-linked, Ed25519-signed.

The addendum says of rule 2: "This validation is hardcoded — it is not configurable." And of the system_enforced authorization type: "Any entry written with system_enforced by another initiator is rejected by the chain writer." Drift thresholds explicitly never auto-mutate autonomy; every autonomy change requires operator approval.

Its own account of gate bypasses. epistemic-gates-spec.md exists specifically to name that L1 gates have carve-outs, and classifies them: Pattern 1 (trust-delegation — replay, circle-peer-forward) universal across gates; Pattern 2 (cost) per-gate. Its epigraph states the Q1 question against itself:

Stated invariants must match operational reality. When a gate has bypasses, the bypasses are either documented architectural principles or undocumented gaps. There is no third category.

Self-declared limits. The addendum repeatedly marks itself as design, not implementation: "design primitives", "deferred to the build phase", "Not a runtime implementation spec."

My reading of the claim's honest shape. Nearly every runtime authorization claim here is necessarily doc-only, and says so. The repo is pre-implementation; that is a stated build phase, not a concealment. The live question for Phase 2 is narrower and sharper: the gates the epistemic-gates spec lists as already existing point at code paths in a different repo (src/modules/base.ts, src/core/keystone/orchestrator.ts, src/core/keystone/classification.ts). Those are checkable — in BetterMemories, not here.


2. BetterMemories.io

What it says it is. The L1 engine. 11 modules, ~2300 tests, TypeScript strict, embedded SurrealDB.

What its own CLAUDE.md says about authorization. Very little, and this is the notable fact of the Phase 1 pass. The document is overwhelmingly operational: setup, MCP config, env vars, git remotes, coding conventions, key commands, and a long "Gotchas" list. Its governance content is one section:

  • "Specs in capablemind/ are the source of truth. Code in bettermemories/ is the derived artifact."
  • The cycle: Propose (amendment; never edit specs directly) → Synthesize → Code → Merge.
  • "When code diverges from spec, the spec wins. If code proves a spec wrong, update the spec first, then regenerate the code."
  • PR workflow: "All checks must pass before merge: npm run check + npm test."

What is absent from its self-account. No mention of the constitutional layer, autonomy levels, operator approval, the meta-constitutional rules, or the executor authorization taxonomy ([FIX]/[HARDENING]/[PROPOSAL]/[ESCALATE]). The invariants that CapableMind states as non-negotiable for L1 — logchain append-only, Ed25519-signed, modules independent — do not appear in L1's own orientation document. A reader working only from this file would not learn that the code it describes is governed by a constitution at all.

One authorization-shaped thing it does carry, and it is a destructive-operation surface rather than a gate: npm run ctl -- reset --yes (factory reset, wipe all data) and repair --yes (wipe SurrealDB, replay from logchain) are documented as ordinary commands with the confirmation already in the flag.

My reading of the claim's honest shape. BMF's stated gating model is a CI/review model (tests + type-check + PR), not a constitutional one. Whether the constitutional gates exist in its code is exactly what Phase 2 must check — and I should expect the answer to differ from what this document would lead a reader to believe, in both possible directions.


3. studium-engine

What it says it is. A reasoning instrument over the Chamber Library — "a mind bound to a memory it cannot falsify." Its purpose is to illuminate with provenance, "never to answer unaccountably."

Its authorization model, stated explicitly and unusually clearly.

  • D-1 — steward-direct. "The engine is the steward's own tool." Authorization for architecture/spec decisions is steward-direct and immediate. The engine sits outside L2 constitutional governance. "Do not route routine engine work through the jurist."
  • One named exception: V0, the verifier contract — because it defines what the engine may assert as verified and when it must abstain, and everything downstream inherits that standard. Its method routes through the jurist, steward-relayed.
  • fidelity_equivalence@N bumps are jurist-gated doctrine; @1/@2 are frozen; @N ⊃ @N-1 is a standing requirement on all future bumps.
  • First law: the files are authoritative, every index derived and disposable, "no surface may hold state not reconstructible from the verbatim files (proven, not asserted — store.py rebuild/verify)."
  • Abstention is a hard gate; the verifier is a separate instrument — never the reasoner grading itself.

Self-declared failures, in its own orientation document. This repo volunteers its holes: retrieve.py has no test at all; the consuming end "does not answer" (bare FTS terms are conjunctive — what does levi mean by the gray zone returns 0); pattern_finder.py shipped a pass that was PASS-BUT-FALSELY and that known-bad output is deliberately retained as an adversarial fixture; a RETRIEVAL_BLINDNESS constant rides every silence, with a ⚠ marking that it must be revisited when PENDING-97 lands.

My reading of the claim's honest shape. This is the repo with the least doc-only exposure by construction, because it claims the least: it does not claim a governance loop it lacks — it claims steward-directness and names its single gated surface. The Q1 target here is narrow: is the jurist-gate on V0/fidelity_equivalence mechanical, procedural, or doc-only?


4. chamber-library

What it says it is. A bounded, verbatim-fidelity, provenance-controlled corpus. "Its trustworthiness is its design." The thesis it opens on: "A substrate that cannot be trusted is not a substrate — it is a source of false confidence more dangerous than no memory at all."

Its authorization model.

  • Governed, NOT D-1. The spec is a ratified constitution (chamber-library-specification.md, v2.9.1 operative). Changes run the loop through ~/PENDING.md / ~/REVIEWED.md with a jurist ruling.
  • Amendment process: RFC-style supersession, semver, and a change-class rule — a change is FIX unless it changes what a gate accepts, at which point it becomes PROPOSAL.
  • Generative-from-spec: tools are thin consumers of _curation/graduation-spec.yaml, the machine-readable convention data. "A tool that re-encodes a convention independently of the spec is drift."
  • Attest, never default: provenance and status are positive attestations with a named verifier, never a bare flag or default-by-absence. "The conversion pipeline cannot self-attest (it produced the errors)."
  • verify-before-compose — a PreToolUse hook that DENIES any write to the spec, graduation-spec.yaml, or a jurist-facing draft unless it carries a GROUNDED-IN: attestation and opens with a Grounding section quoting the ratified sections. Its own justification is explicit: "the hook is the structural mitigation (session-start CLAUDE.md prose alone had failed ≥4 times)."

A self-declared live violation. PENDING-84: §VII holds that "a canonical text without a conversion record is not verifiable and cannot enter canon" — and nine canonicals violate it in canon, today. The repo's response was to declare it in a quarantine artifact rather than repair or hide it, on the constitutional ground that production-only provenance would let presence read as compliance.

My reading of the claim's honest shape. This repo makes the strongest enforcement claims of the four and is the only one that names a hook that actually denies a write. It is therefore both the best Q1 candidate for genuine mechanical enforcement and the place where a doc-only claim would do the most damage. One is already known: verify-before-compose cannot fire on the constitution it protects (PENDING-95, 31 of 59 guarded files).


Cross-cutting predictions, recorded BEFORE the report (so they can be scored)

  1. CapableMind's runtime constitutional claims will be doc-only by construction, and the repo will have said so. The real finding will not be "unenforced" but where a present-tense enforcement sentence sits next to a deferred-to-build-phase one.
  2. BetterMemories will carry gates its own documentation does not mention. Its CLAUDE.md is operational; the gates are specced elsewhere. Expect Q1(b) — real code checks whose discoverability is the weakness, not their existence.
  3. studium-engine's jurist gate on fidelity_equivalence will be procedural, not mechanical — depending on the executor choosing to route, with a hardcoded-version tripwire as the only structural backstop.
  4. chamber-library will have the most real mechanism and the most instructional language. The verify-before-compose disarm (PENDING-95) is likely one of a class, not a singleton.
  5. The scope gap: the brief names four repos, but the governance documents themselves (~/CLAUDE.md, PENDING.md, REVIEWED.md) and every hook live in ~/dotfiles, which is not in scope. Chamber's verify-before-compose cannot be evaluated without reading dotfiles. I will treat dotfiles as evidence for the four repos' gates, not as a fifth audit target, and flag the omission for the steward rather than silently widening scope.