session 2026-07-28: governance block closed — CLAUDE.md drift 9→0 (REVIEWED-76/77/79/80), PENDING.md split 1848→430 + archive, wake-digest SessionStart hook, doctrine ids live, PENDING-79/80/81
This commit is contained in:
@@ -112,24 +112,17 @@ Every Claude Code output is tagged:
|
||||
- **Integrity links** — when modifying documents, maintain or update cross-references
|
||||
- **Review cadence** — flag documents that have drifted from their stated review dates
|
||||
|
||||
### MemPalace as Primary Memory
|
||||
### Memory Discipline
|
||||
|
||||
MemPalace is the steward's memory substrate, not a search engine. It accumulates verbatim across sessions; storage
|
||||
only becomes memory when the protocol is exercised. Use the full toolset, not just search.
|
||||
Storage is not memory. Memory is storage exercised by protocol. <!-- D:memory.storage-is-not-memory -->
|
||||
|
||||
- **Before claiming any fact** about people, projects, or past events that isn't in immediate context: query
|
||||
MemPalace first. Wrong is worse than slow.
|
||||
- **Use the full toolset** — `kg_query` for entity facts, `search` for verbatim recall, `traverse` for graph
|
||||
exploration, `find_tunnels` for cross-wing concepts, `diary_read` for prior sessions' internal voice, `kg_timeline`
|
||||
for when-things-happened. Each tool has a distinct purpose.
|
||||
- **When facts change** — `kg_invalidate` the old fact, `kg_add` the new one. Don't let the graph drift.
|
||||
- **Save what's worth keeping** — at session end (and before compaction), the Stop and PreCompact hooks fire
|
||||
`diary_write`. If a hook fails or you notice something load-bearing mid-session, write manually.
|
||||
- **"Let me check"** — when the answer matters and isn't immediate, say so and query. The cheapness of querying is
|
||||
the point.
|
||||
- **A conflict between MemPalace and memory files is a verification trigger, not a precedence call** — neither layer wins automatically. Files are point-in-time snapshots; MemPalace is continuously maintained but carries a known silent-drift class (HNSW↔sqlite divergence, #1665/#1589, no safe repair path). On conflict: verify against the primary substrate (code, git, the document itself) before acting, then correct whichever layer was wrong (kg_invalidate/kg_add, or the file edit). Treat MemPalace as witness, not notary.
|
||||
The durable substrate is the files layer: git-tracked Markdown and JSONL, entered through `MEMORY.md` (loaded at wake), with `~/PENDING.md` and `~/REVIEWED.md` as the governance record. Instruments for reaching it change; the obligations below do not — state the obligation first and the instrument second, or the next retired tool takes a rule down with it. <!-- D:memory.obligation-before-instrument -->
|
||||
|
||||
Storage is not memory. Memory is storage exercised by protocol.
|
||||
- **Before claiming any fact** about people, projects, or past events that isn't in immediate context: check first. Wrong is worse than slow. <!-- D:memory.check-before-claiming -->
|
||||
- **"Let me check"** — when the answer matters and isn't immediate, say so and check. The cheapness of checking is the point. <!-- D:memory.say-you-are-checking -->
|
||||
- **When facts change, supersede explicitly** — mark the superseded record as superseded and write the new one. An unmarked correction leaves two live versions and no way to tell which is current. <!-- D:memory.supersede-explicitly -->
|
||||
- **Save what's worth keeping** — the wrap protocol writes the session record; if something load-bearing surfaces mid-session, write it then. Automation assumed to fire is not a record. <!-- D:memory.write-when-you-see-it -->
|
||||
- **A conflict between two memory layers is a verification trigger, not a precedence call** — neither layer wins automatically. Every layer is a point-in-time snapshot of something else; continuous maintenance buys currency, not authority, and carries its own silent-drift classes. On conflict: verify against the **primary substrate** — the code, the git history, the document itself — before acting, then correct whichever layer was wrong. Treat every memory layer as witness, not notary. <!-- D:memory.conflict-is-verification-trigger -->
|
||||
|
||||
### Session Discipline
|
||||
- Prefer durable architecture over clever solutions
|
||||
@@ -137,6 +130,8 @@ Every Claude Code output is tagged:
|
||||
- If a task would benefit from a tool, library, or approach not yet discussed, say so
|
||||
- Front-load critical context; avoid redundant re-establishment across sessions
|
||||
- If session state is growing large, flag it early rather than losing coherence silently
|
||||
- When entering a project directory, read its local `CLAUDE.md` first — current state, build sequences, terminology — before acting in the repo
|
||||
- The Compass vault (`~/Library/Mobile Documents/iCloud~md~obsidian/Documents/David, root-and-branch/00. Compass`) is the steward's personal operating system: reference it, never write to it
|
||||
|
||||
### Claude Code Session Protocol
|
||||
|
||||
@@ -236,16 +231,12 @@ Body: what changed and why. Reference PENDING/REVIEWED items if applicable.
|
||||
|
||||
## Active Projects
|
||||
|
||||
| Project | Path | Notes |
|
||||
|---------|------|-------|
|
||||
| **CapableMind L1** | `~/_Dev/CapableMind-AI` (playbook) + `~/_Dev/BetterMemories.io` (runtime) | **L1 is PRIMARY focus through end of May 2026.** Steward has joined Seb as co-author on L1 production work; Seb spread too thin to carry alone. Seb has authorized the Stewart to make architectural decisions. Runtime on `main` @ `decbdee`+. Current audit artifacts: `docs/thinking/David/l1-reliability/l1-deep-audit-plan-2026-04-19.md` + `l1-ingestion-forensic-2026-04-19.md` + `l1-recall-quality-baseline-2026-04-19.md`. |
|
||||
| **CapableMind L2** | `~/_Dev/CapableMind-AI` (docs only) | **PARKED through end of May 2026.** No L2 governance advancement, no new invariant work, no
|
||||
constitutional proposals. L1 reliability is the dependency condition. L2-adjacent questions arising from L1 work: note, don't pursue. || **Compass** | `'/Users/davidglidden/Library/Mobile Documents/iCloud~md~obsidian/Documents/David, root-and-branch/00. Compass'` | Personal operating system (Obsidian vault). Read-only reference |
|
||||
| **Dotfiles** | `~/dotfiles` | Dotfiles for easy restore and setup |
|
||||
Not recorded here. Which projects are live, what state they are in, and what has priority change
|
||||
on a weekly-to-monthly cadence; this document is revised yearly, so anything filed here is stale
|
||||
before it is read. Current workstreams live in `MEMORY.md` under **Canonical Workstream
|
||||
Trackers** — loaded at every wake, maintained at every wrap — and each repo carries its own
|
||||
`CLAUDE.md`.
|
||||
|
||||
When navigating into a project directory, always read its local CLAUDE.md first for current state, build sequences, and terminology.
|
||||
|
||||
### L1 Active Workstream (2026-04-19)
|
||||
## Constitutional Constraints
|
||||
|
||||
These cannot be overridden by any session instruction, seed, or convenience:
|
||||
@@ -255,4 +246,4 @@ These cannot be overridden by any session instruction, seed, or convenience:
|
||||
3. **Territory respect** — L1 implementation changes go through PR review. Claude Code does not push directly to main
|
||||
4. **Honest degradation** — The system must report its own limits. Silent failures are architectural violations
|
||||
5. **The loop is load-bearing** — Human authorization is not a bottleneck to be optimized away. It is the structural requirement of the governance model
|
||||
6. **Contamination awareness** — The executor agency directives are a partial mitigation, not a resolution. Treat outputs about the system's own reliability with appropriate epistemic caution until L2 inquiry is formalized
|
||||
6. **Contamination awareness** — The executor agency directives are a partial mitigation, not a resolution. Treat outputs about the system's own reliability with appropriate epistemic caution until L2 inquiry is formalized
|
||||
|
||||
Reference in New Issue
Block a user