DR-012 — Shared governance baseline + session-dir context files¶
Decision¶
Claude Code auto-memory at /Users/rhartley/.claude/projects/-Users-rhartley-Claude/memory/ is the shared governance baseline — read-only, containing Rick's preferences, feedback rules, reference pointers, and system-wide context that ALL agents inherit when sessions launch via grid N.
Per-agent working memory lives in session-dir context files at /Claude/sessions/{agent.id}/memory-notes.md — each agent reads this file at session start and writes to it at session end. These files are agent-maintained, not harness-managed.
Context¶
DR-002 (2026-04-13) established per-agent cwd memory isolation as a governance principle, expecting the Claude Code auto-memory harness to enforce namespace separation based on each agent's terminal cwd.
SEV2 incident INC-2026-04-15 (reported by Morgan, root-caused by Eva 2026-04-16) revealed that Claude Code's auto-memory loader resolves based on VS Code workspace root, not terminal cwd. When Rick runs grid N, VS Code workspace stays at /Claude/ across all panes while terminal cwds differ per agent. Result: all agents share the same memory namespace regardless of their session dir.
This is Claude Code's intended behavior, not a bug. DR-002's isolation intent cannot be enforced by the harness under the grid launch pattern.
Why this model (not the alternatives)¶
Three options were evaluated (CEO-approved Option 1 on 2026-04-16 PM):
| Option | Description | Rejected because |
|---|---|---|
| 1 (ADOPTED) | Accept shared as governance baseline; per-agent context in session-dir files | Preserves grid UX; governance baseline is already the right content; per-agent context is inherently session-dir-scoped |
| 2 | Separate VS Code window per agent | Defeats grid multi-pane productivity that Rick built and relies on |
| 3 | Session-start hook syncing per-agent memory into shared pre-load | Fragile, race-prone with multiple simultaneous agents in grid panes, adds harness complexity |
What goes where¶
Shared governance baseline (auto-memory, read-only by convention)¶
Content that ALL agents should inherit on every session start:
- feedback_* files — Rick's operating preferences (formatting, time conventions, communication style, tool behaviors)
- user_* files — Rick's identity, tooling setup, display name conventions
- reference_* files — pointers to external systems, channel structures, Monday.com alignment
- project_* files — system-wide project context (v1.2 architecture, Q2 targets, Content Portal framing, hook rollout schedule) — NOT per-agent working state
Who maintains: chief.staff (Eva) is the governance baseline curator. Changes to the shared namespace are governance actions, not ad-hoc agent writes. When Rick gives a new preference ("use 12-hour time"), Eva saves it as a feedback memory in the shared namespace and it propagates to all agents on their next session start.
Read-only by convention: the harness does not enforce read-only. Convention: agents do NOT write to the shared auto-memory namespace. If an agent needs to save working context, it writes to memory-notes.md in its session dir.
Per-agent working memory (session-dir files, agent-maintained)¶
Content that is specific to one agent's continuity across sessions:
/Claude/sessions/{agent.id}/memory-notes.md— session-to-session handoff notes, in-progress work state, findings, cross-agent coordination state
Who maintains: each agent maintains its own memory-notes.md. The file is read at session start (manually — it's not auto-loaded by the harness) and written at session end.
Template deployed: every session dir has a starter memory-notes.md as of DR-012 implementation (2026-04-16 evening). Template structure: Current session context, In-progress work, Session-to-session handoff notes, Findings and observations, Cross-agent coordination state.
Amendment to DR-002¶
DR-002's governance principle (agents should not pollute each other's working memory) is preserved. The enforcement mechanism changes from "harness-enforced namespace isolation" to "convention-enforced isolation via session-dir context files."
DR-002 receives an amendment block:
2026-04-16 amendment (DR-012): Per-agent cwd memory isolation is not natively supported by Claude Code's auto-memory under the
gridlaunch pattern (VS Code workspace root determines memory namespace, not terminal cwd). The isolation principle is preserved via convention: shared namespace at-Users-rhartley-Claude/memory/is read-only governance baseline (maintained by chief.staff); per-agent working context lives in/Claude/sessions/{agent.id}/memory-notes.md(maintained by each agent). See DR-012 for full model.
Pre-existing per-agent memory directories¶
The -Users-rhartley-Claude-sessions-{agent}/memory/ directories created during the SEV2 mitigation (2026-04-15) are now decommissioned forensic artifacts. They contain pre-seeded MEMORY.md files from the mitigation phase. These directories do not affect harness behavior and can be left as-is — they cause no harm. Cleanup is not time-sensitive; archive after 30 days per DR-002's original retention policy.
Implementation checklist¶
- [x] Shared namespace audited — 33 governance-baseline files retained; 2 Eva-specific files moved to session-dir; 1 stale transient deleted
- [x]
memory-notes.mdtemplate deployed to all 14 existing session dirs - [x] Eva's
memory-notes.mdwritten with current working state - [ ] DR-002 amendment block added
- [ ] CLAUDE.md v1.2.6 pointer to this DR added
- [ ] Slack interrupts sent to all 5 exec agents (4 execs + Jordan)
- [ ] SEV2 incident moved from
open/toresolved/ - [ ] 7 remaining CDO team agent session dirs created when Dave activates them (code.platform, revenue.os, mining.mind, qa.visuals, qa.dataquality, qa.applications, documentation.engineering)
Risks¶
- Convention-enforcement is weaker than harness-enforcement. An agent could accidentally write to shared auto-memory (e.g., the auto-memory system's built-in "save" behavior writes there by default). Mitigation: CLAUDE.md pointer instructs agents to use
memory-notes.md; Eva monitors the shared namespace for unauthorized writes during daily sweeps. - Session-dir
memory-notes.mdis not auto-loaded. Agents must manually read it. Mitigation: kickoff packages and CLAUDE.md reading sequences include it; session-start hooks could auto-inject in the future. - Shared namespace grows over time. Auto-memory index (MEMORY.md) has a 200-line truncation warning. Mitigation: Eva curates quarterly; stale/redundant entries pruned.
Decision by: CEO (Rick Hartley) · Proposed by: chief.staff (Eva) · Date: 2026-04-16 · Effective: immediate · Supersedes: DR-002 enforcement mechanism (intent preserved)