Skip to content

docs(memory): correct memory auto-injection drift (closes #108)#122

Open
umi-appcoder[bot] wants to merge 1 commit into
mainfrom
fix/memory-injection-drift
Open

docs(memory): correct memory auto-injection drift (closes #108)#122
umi-appcoder[bot] wants to merge 1 commit into
mainfrom
fix/memory-injection-drift

Conversation

@umi-appcoder

@umi-appcoder umi-appcoder Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

What

Fixes the documentation drift in #108. The docs claimed Claude memory is auto-injected into every prompt via a UserPromptSubmit hook; that is not the actual behavior. Docs-only — PR 4 of the reliability-hardening series (good-first).

The reality (deliberate, not a bug)

  • seed_claude_config.py strips the UserPromptSubmit memory hook from ~/.claude/settings.json on every boot — memory is on-demand via the MCP tools.
  • Task-creation pre-injection is gated behind KC_MEMORY_PREINJECT (server.py), which is off by default.

Both are intentional (the code comments say so), so the right fix is Option B from the issue — make the docs match the behavior, no runtime change.

Changes

  • docs/persistent-memory.md — rewrite "Auto-injection (two layers)" → "How Claude reads memory" (on-demand default + opt-in pre-injection + the disabled per-prompt hook); fix the file-map rows, troubleshooting row, and Roadmap line.
  • docs/in-app/memory-concepts.md + getting-started.md — lead with on-demand MCP lookup; pre-injection as opt-in.
  • README.md — same correction.

Docs-only; no code touched.

Closes #108

🤖 Generated with Claude Code

The docs claimed Claude memory is auto-injected into every prompt via a
UserPromptSubmit hook. That's not the actual behavior — it's a
deliberate design choice that the docs never caught up with:

- seed_claude_config.py strips the UserPromptSubmit memory hook from
  ~/.claude/settings.json on every boot (memory is on-demand via MCP).
- Task-creation pre-injection is gated behind KC_MEMORY_PREINJECT
  (server.py), which is OFF by default.

So memory is on-demand via the MCP tools by default; pre-injection is
opt-in; the per-prompt hook ships but is unwired. Update the docs to
match reality (Option B in #108 — no runtime change, the behavior is
intentional):

- docs/persistent-memory.md: rewrite "Auto-injection (two layers)" ->
  "How Claude reads memory"; fix the file-map rows + troubleshooting
  row; Roadmap line.
- docs/in-app/memory-concepts.md + getting-started.md: lead with
  on-demand MCP lookup; pre-injection as opt-in.
- README.md: same correction.

Docs-only.

Closes #108
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(memory): resolve auto-injection docs-vs-behavior drift

0 participants