diff --git a/claude/memory/MEMORY.md b/claude/memory/MEMORY.md index 3d7c27a..98bf6d4 100644 --- a/claude/memory/MEMORY.md +++ b/claude/memory/MEMORY.md @@ -79,6 +79,9 @@ permalink: claude-memory/memory > ⚠ **`RE_ID` CANNOT PARSE THE REGISTER'S OWN HOUSE FORM.** `## REVIEWED-133 (PENDING-137) — …` backtracks to the bare token `REVIEWED`; entries **130–133** are invisible to the integrity control and any future amendment to them reports a **FALSE ORPHAN**. **Fix the REGEX, not the entries — REVIEWED-132's own disposition says "Do not touch placed headers."** Bounded `[FIX]`, ~20 min. *Steward raised it; agreed at the wrap.* > 📌 **STEWARD OWES:** the **moratorium decision** · rule **PENDING-171** (unblocks the 322 unread of 362) · **-177** (now with measured evidence; Tier-3 not Tier-2) · **-178** · -160 · -168 · the §5 regrade ruling. +> ⚠ **AFTER THE WRAP — `/doctor` ran, and TWO THINGS ARE UNCOMMITTED/UNTRACKED. Read ADDENDUM 1 of the session file before touching either repo.** (1) **`~/_Dev/chamber-library/CLAUDE.md` carries an UNCOMMITTED 31,861-char deletion** — a steward-approved trim, 54,129→22,530 chars, now under the warning threshold; the doctor protocol forbids the executor committing CLAUDE.md edits, so it awaits the steward. ⚠ `git diff --stat` says *11 lines* and badly understates it — use `--word-diff`. (2) **`~/.claude/agents` IS NOT GIT-TRACKED AT ALL** (51 hand-edited files, 0 tracked, not a symlink) — 8 name collisions were fixed by renaming 15 files, and **the rename mapping in ADDENDUM 1 is the only undo that survives a clear.** ⚠ The wider gap — a governed surface with no version control — is noticed, unfiled, and real. +> ✅ Also fixed: 4 invalid `SKILL.md` frontmatters (latent, not live — the harness parses leniently), `plane` MCP disabled (0 calls / 41 sessions), `permissions.defaultMode: auto` set. **PENDING-169 §5a filed** (`440d18e`): `tarbuckle-wrap.py` = the `Stop` hook at **median 6.7 s / max 13.6 s**, an order of magnitude above every other hook, on the blocking path at every session end — filed against the **existing** 2026-09-08 trigger, no duplicate block. **Steward: look at it on 8 September with the rest of Tarbuckle.** + - [Session 2026-09-01 — the gate that should have existed](session-2026-09-01-the-gate-that-should-have-existed.md) — a day that *became* the thing it diagnosed. Wake found control (c)'s false positive (a Tarbuckle mumble is unattended **by design**) → PENDING-178, the counter's **unit**. FIX-lane check-in held: **EXTENDED PROVISIONAL, n=1**, trigger re-based to use, ⚠ half not machine-checkable and **no proxy invented**. REVIEWED-133 (PENDING-137) ruled + executed — **two of its conditions corrected by executor substrate reads**, and ⚠ `governance-mcp.py --selftest` was **FAILING while the jurist ruled from it** (fixed, 62 controls). **NEXT: the fr cell's last two steps.** ## Historical reference → MEMORY-reference.md diff --git a/claude/memory/session-2026-09-01-the-gate-that-should-have-existed.md b/claude/memory/session-2026-09-01-the-gate-that-should-have-existed.md index 47f55a0..6c3ff1c 100644 --- a/claude/memory/session-2026-09-01-the-gate-that-should-have-existed.md +++ b/claude/memory/session-2026-09-01-the-gate-that-should-have-existed.md @@ -182,3 +182,86 @@ caught them was other parties. Do not read the low error count of a quiet sessio The record names each and its catch-mode. ⚠ The expected answer is **low** — most were wrong *measures*, not wrong *encoders*, and a control cannot catch a measure of the wrong thing. **If the answer is high, the moratorium is the wrong remedy and more instruments are the right one.** + +--- + +## ADDENDUM 1 — after the wrap: `/doctor`, and two loose ends it created + +⚠ **Appended 2026-09-02, after the session record above was written and committed.** The wrap +was complete; the steward then ran `/doctor`, which found and fixed real breakage. Recorded here +rather than in a new session file because it is the same session, past midnight. + +### What `/doctor` found and fixed + +- **8 sub-agent names collided across 21 files** in `~/.claude/agents` (51 files). Only one file + per name loads; the loser is discarded silently and the winner follows readdir order, so which + definition was live could differ between machines. **Fixed: 0 collisions, 48 unique names.** + ⚠ **Confirmed by the harness itself** — 15 previously-invisible agents appeared in the listing + immediately after. +- **4 `SKILL.md` files had invalid YAML frontmatter** (unquoted `description:` containing `: `). + ⚠ **Latent, not live** — verified the harness parses them leniently and the descriptions rendered + correctly; a strict consumer would have dropped every field. Re-emitted as valid YAML, + descriptions byte-identical after. +- **`plane` MCP server: 0 calls in 41 real sessions** → disabled for this project. +- **`permissions.defaultMode: "auto"`** set in `~/.claude/settings.json` (was unset in both scopes). +- **`chamber-library/CLAUDE.md` trimmed 54,129 → 22,530 chars** (13,532 → 5,632 est. tokens; now + under the ~40,000-char warning threshold). The Governance version-ledger and tool-fleet build + history became pointers. **All 42 tool names preserved, all 9 sections intact.** The warrant is + the file's own closing rule: *"keep this file a pointer… If it starts duplicating state, it has + become the drift the library exists to prevent."* +- **PENDING-169 §5a filed** (`440d18e`): `tarbuckle-wrap.py` is the `Stop` hook at **median 6.7 s, + max 13.6 s**, on the blocking path at every session end — an order of magnitude above every other + hook (`SessionStart:startup` is 1.6 s median over 50 runs). Filed against the **existing** + 2026-09-08 obligation; **no second `DEFERRED-DECISION` block**, because `mumble-rate-two-week-report` + already triggers that date and a duplicate is noise in the instrument. Steward's direction: look at + it on 8 September with the rest of the Tarbuckle work. + +### ⚠ TWO LOOSE ENDS — read these first + +**1 · `~/_Dev/chamber-library/CLAUDE.md` IS UNCOMMITTED.** A **31,861-character deletion** sits in +that working tree, steward-approved at the `/doctor` gate but not committed — the doctor protocol +forbids the executor committing CLAUDE.md edits. **It is not abandoned work and not a mistake.** +- Review: `git -C ~/_Dev/chamber-library diff --word-diff` ⚠ `--stat` says *11 deleted lines*, which + badly understates it: the cut sections were single 16k- and 20k-char lines. +- Keep it: commit it. · Revert it: `git -C ~/_Dev/chamber-library checkout CLAUDE.md` +- Full prior text: `git -C ~/_Dev/chamber-library show HEAD:CLAUDE.md` + +**2 · `~/.claude/agents` IS NOT TRACKED BY GIT** — not a symlink, not in `dotfiles`, 0 files tracked. +So the 15 renames have **no version history**, and the only backup was written to a session-scoped +scratchpad that dies when this session is cleared. **This mapping IS the undo** — each is a one-line +`name:` change in the file's frontmatter: + +| file | `name:` was | `name:` now | +|---|---|---| +| `data-validation-suite-backend-security-coder.md` | `backend-security-coder` | (filename stem) | +| `code-documentation-code-reviewer.md` | `code-reviewer` | (filename stem) | +| `codebase-cleanup-code-reviewer.md` | `code-reviewer` | (filename stem) | +| `comprehensive-review-code-reviewer.md` | `code-reviewer` | (filename stem) | +| `unit-testing-debugger.md` | `debugger` | (filename stem) | +| `full-stack-orchestration-deployment-engineer.md` | `deployment-engineer` | (filename stem) | +| `observability-monitoring-network-engineer.md` | `network-engineer` | (filename stem) | +| `full-stack-orchestration-performance-engineer.md` | `performance-engineer` | (filename stem) | +| `observability-monitoring-performance-engineer.md` | `performance-engineer` | (filename stem) | +| `comprehensive-review-security-auditor.md` | `security-auditor` | (filename stem) | +| `full-stack-orchestration-security-auditor.md` | `security-auditor` | (filename stem) | +| `security-scanning-security-auditor.md` | `security-auditor` | (filename stem) | +| `codebase-cleanup-test-automator.md` | `test-automator` | (filename stem) | +| `full-stack-orchestration-test-automator.md` | `test-automator` | (filename stem) | +| `unit-testing-test-automator.md` | `test-automator` | (filename stem) | + +Files that KEPT the short name: `backend-security-coder.md` · `code-reviewer.md` · +`debugging-toolkit-debugger.md` · `cloud-infrastructure-deployment-engineer.md` · +`cloud-infrastructure-network-engineer.md` · `backend-development-performance-engineer.md` · +`backend-development-security-auditor.md` · `backend-development-test-automator.md` + +⚠ **The wider finding, unfiled:** `~/.claude/agents` holds 51 hand-edited files with **no version +control at all**, in a system whose entire premise is that the record must be checkable. Every +other governed surface is git-tracked. Not filed — the moratorium is proposed and this is not +urgent — but it is the kind of gap this apparatus exists to notice, and it was found by accident. + +### One more instrument error, making it thirteen + +⚠ I reported *"dotfiles unpushed to origin"* by conflating two repos' `git status -sb` lines from +the same output block: `dotfiles` has remotes `gitea` and `github` and **no `origin` at all**; the +`origin/main [ahead 1]` belonged to `studium-engine`. Same family as the day's other twelve — +acting on a handle without checking its referent. Caught by verifying rather than by any control. diff --git a/claude/skills/jurist-package/SKILL.md b/claude/skills/jurist-package/SKILL.md index f1e73fd..0b8dc5e 100644 --- a/claude/skills/jurist-package/SKILL.md +++ b/claude/skills/jurist-package/SKILL.md @@ -1,6 +1,6 @@ --- 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). +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 diff --git a/claude/skills/landscape-scan/SKILL.md b/claude/skills/landscape-scan/SKILL.md index 25b108f..a2f7d43 100644 --- a/claude/skills/landscape-scan/SKILL.md +++ b/claude/skills/landscape-scan/SKILL.md @@ -1,6 +1,6 @@ --- name: landscape-scan -description: Survey the competitive/comparable-project landscape for CapableMind every couple of days — projects similar or too-identical to what we're building. Generative, not anxious: learn, borrow, sharpen our bet, and notice the day someone builds the governed/epistemic-integrity angle we depend on. Applies a two-tier lens, checks known entries for movement, and appends to the living landscape register. Sibling of /tooling-scan (which scans for dev tooling that helps us build). +description: 'Survey the competitive/comparable-project landscape for CapableMind every couple of days — projects similar or too-identical to what we''re building. Generative, not anxious: learn, borrow, sharpen our bet, and notice the day someone builds the governed/epistemic-integrity angle we depend on. Applies a two-tier lens, checks known entries for movement, and appends to the living landscape register. Sibling of /tooling-scan (which scans for dev tooling that helps us build).' --- # Landscape Scan diff --git a/claude/skills/tooling-scan/SKILL.md b/claude/skills/tooling-scan/SKILL.md index 3a7f8b9..3403139 100644 --- a/claude/skills/tooling-scan/SKILL.md +++ b/claude/skills/tooling-scan/SKILL.md @@ -1,6 +1,6 @@ --- name: tooling-scan -description: Survey the dev-tooling landscape for tools that could help US build CapableMind better — agent runtimes, memory substrates, inference infra, skill/diagnostic tooling. The build-lens sibling of /landscape-scan (which scans competitors). Generative but anti-shiny: a tool earns adoption only if it addresses a named bottleneck at acceptable switching cost with governance-grain fit. Surfaces candidates and bounded trials; never adopts unilaterally. Records to the tooling register. +description: 'Survey the dev-tooling landscape for tools that could help US build CapableMind better — agent runtimes, memory substrates, inference infra, skill/diagnostic tooling. The build-lens sibling of /landscape-scan (which scans competitors). Generative but anti-shiny: a tool earns adoption only if it addresses a named bottleneck at acceptable switching cost with governance-grain fit. Surfaces candidates and bounded trials; never adopts unilaterally. Records to the tooling register.' --- # Tooling Scan