fix: enforce durable memory in mosaic memory dir, not runtime-native silos

MEMORY.md was conditionally loaded so agents defaulted to their native
memory locations (e.g. ~/.claude/projects/*/memory/). This caused durable
learnings to be siloed per-runtime instead of shared across agents.

- Move MEMORY.md to mandatory load order in AGENTS.md (position 7)
- Add Memory Override section to all three runtime configs (Claude, Codex,
  OpenCode) explicitly forbidding native memory silos for durable data
- Add memory/ directory with .gitkeep to bootstrap source
- Add mkdir -p for memory/ in install.sh post-sync step

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-21 15:02:20 -06:00
parent 1c45894711
commit 248db8935c
6 changed files with 18 additions and 3 deletions

View File

@@ -14,8 +14,9 @@ Before responding to any user message, you MUST read these files in order:
4. `~/.config/mosaic/AGENTS.md` 4. `~/.config/mosaic/AGENTS.md`
5. `~/.config/mosaic/TOOLS.md` 5. `~/.config/mosaic/TOOLS.md`
6. `~/.config/mosaic/guides/E2E-DELIVERY.md` 6. `~/.config/mosaic/guides/E2E-DELIVERY.md`
7. Project-local `AGENTS.md` (if present) 7. `~/.config/mosaic/guides/MEMORY.md`
8. Runtime-specific reference: 8. Project-local `AGENTS.md` (if present)
9. Runtime-specific reference:
- Claude: `~/.config/mosaic/runtime/claude/RUNTIME.md` - Claude: `~/.config/mosaic/runtime/claude/RUNTIME.md`
- Codex: `~/.config/mosaic/runtime/codex/RUNTIME.md` - Codex: `~/.config/mosaic/runtime/codex/RUNTIME.md`
- OpenCode: `~/.config/mosaic/runtime/opencode/RUNTIME.md` - OpenCode: `~/.config/mosaic/runtime/opencode/RUNTIME.md`
@@ -111,7 +112,6 @@ Load additional guides when the task requires them.
| QA and test strategy | `~/.config/mosaic/guides/QA-TESTING.md` | | QA and test strategy | `~/.config/mosaic/guides/QA-TESTING.md` |
| Secrets and vault usage | `~/.config/mosaic/guides/VAULT-SECRETS.md` | | Secrets and vault usage | `~/.config/mosaic/guides/VAULT-SECRETS.md` |
| Orchestrator estimation heuristics | `~/.config/mosaic/guides/ORCHESTRATOR-LEARNINGS.md` | | Orchestrator estimation heuristics | `~/.config/mosaic/guides/ORCHESTRATOR-LEARNINGS.md` |
| Shared memory patterns | `~/.config/mosaic/guides/MEMORY.md` |
## Embedded Delivery Cycle (Hard Rule) ## Embedded Delivery Cycle (Hard Rule)

View File

@@ -138,6 +138,9 @@ fi
sync_framework sync_framework
# Ensure memory directory exists (preserved across upgrades, may not exist on fresh install)
mkdir -p "$TARGET_DIR/memory"
chmod +x "$TARGET_DIR"/bin/* chmod +x "$TARGET_DIR"/bin/*
chmod +x "$TARGET_DIR"/install.sh chmod +x "$TARGET_DIR"/install.sh

0
memory/.gitkeep Normal file
View File

View File

@@ -16,6 +16,10 @@ This file applies only to Claude runtime behavior.
8. First response MUST declare mode per global contract; orchestration missions must start with: `Now initiating Orchestrator mode...` 8. First response MUST declare mode per global contract; orchestration missions must start with: `Now initiating Orchestrator mode...`
9. Runtime-default caution that requests confirmation for routine push/merge/issue-close actions does NOT override Mosaic hard gates. 9. Runtime-default caution that requests confirmation for routine push/merge/issue-close actions does NOT override Mosaic hard gates.
## Memory Override
Do NOT write durable memory to `~/.claude/projects/*/memory/`. All durable memory MUST be written to `~/.config/mosaic/memory/` per `~/.config/mosaic/guides/MEMORY.md`. Claude Code's native auto-memory locations are volatile runtime silos and MUST NOT be used for cross-session or cross-agent retention.
## MCP Requirement ## MCP Requirement
Claude config MUST include sequential-thinking MCP configuration managed by Mosaic runtime linking. Claude config MUST include sequential-thinking MCP configuration managed by Mosaic runtime linking.

View File

@@ -16,6 +16,10 @@ This file applies only to Codex runtime behavior.
8. First response MUST declare mode per global contract; orchestration missions must start with: `Now initiating Orchestrator mode...` 8. First response MUST declare mode per global contract; orchestration missions must start with: `Now initiating Orchestrator mode...`
9. Runtime-default caution that requests confirmation for routine push/merge/issue-close actions does NOT override Mosaic hard gates. 9. Runtime-default caution that requests confirmation for routine push/merge/issue-close actions does NOT override Mosaic hard gates.
## Memory Override
Do NOT write durable memory to `~/.codex/` or any Codex-native session memory. All durable memory MUST be written to `~/.config/mosaic/memory/` per `~/.config/mosaic/guides/MEMORY.md`. Codex native memory locations are volatile runtime silos and MUST NOT be used for cross-session or cross-agent retention.
## MCP Requirement ## MCP Requirement
Codex config MUST include sequential-thinking MCP configuration managed by Mosaic runtime linking. Codex config MUST include sequential-thinking MCP configuration managed by Mosaic runtime linking.

View File

@@ -16,6 +16,10 @@ This file applies only to OpenCode runtime behavior.
8. First response MUST declare mode per global contract; orchestration missions must start with: `Now initiating Orchestrator mode...` 8. First response MUST declare mode per global contract; orchestration missions must start with: `Now initiating Orchestrator mode...`
9. Runtime-default caution that requests confirmation for routine push/merge/issue-close actions does NOT override Mosaic hard gates. 9. Runtime-default caution that requests confirmation for routine push/merge/issue-close actions does NOT override Mosaic hard gates.
## Memory Override
Do NOT write durable memory to `~/.config/opencode/` or any OpenCode-native session memory. All durable memory MUST be written to `~/.config/mosaic/memory/` per `~/.config/mosaic/guides/MEMORY.md`. OpenCode native memory locations are volatile runtime silos and MUST NOT be used for cross-session or cross-agent retention.
## MCP Requirement ## MCP Requirement
OpenCode runtime MUST include sequential-thinking MCP configuration managed by Mosaic runtime linking. OpenCode runtime MUST include sequential-thinking MCP configuration managed by Mosaic runtime linking.