docs(roadmap): add #459 — memory file discovery hardcoded to CLAUDE.md; AGENTS.md/CLAW.md/.claude/CLAUDE.md/case variants silently ignored; memory_files[] not exposed#3072
Open
Yeachan-Heo wants to merge 1 commit into
Conversation
…d; AGENTS.md, CLAW.md, .claude/CLAUDE.md, case variants all silently ignored; memory_files[] not exposed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ROADMAP pinpoint #459 — memory file discovery is hardcoded to 4 literal names with no case-folding, no cross-tool aliases, and no
memory_files[]structured fieldDogfooded for the 2026-05-24 10:00 Clawhip pinpoint nudge (message 1508046936177901639).
Discovery matrix (clean isolated env)
memory_file_countCLAUDE.mdCLAUDE.local.md.claw/CLAUDE.md.claw/instructions.mdclaude.md(lowercase)Claude.md(mixed case)CLAUDE.MD(uppercase ext)CLAW.md(the product's own name)claw.mdAGENTS.md(Codex / OpenAI Agents / Copilot Agents standard)agents.mdAGENT.md(singular)GEMINI.mdCONTEXT.mdmemory.md.claude/CLAUDE.md(Claude Code documented subdir)Root cause (traced)
rust/crates/runtime/src/prompt.rs:203-223:Four hardcoded literal
PathBuf::joincalls. No case-folding, no cross-tool aliases, no.claude/CLAUDE.md(the official Claude Code documented subdir per docs.anthropic.com/en/docs/claude-code/memory).Status JSON drops the path list:
StatusContext { …, memory_file_count: project_context.instruction_files.len(), … }keeps only the count. The originalVec<ContextFile>with full paths and content is discarded before reaching the JSON envelope.Why distinct from existing items
ROADMAP mentions
AGENTS.md5 times (#215, #216, #225, #231, etc.) but only as a config-mutation target ("installer changes AGENTS.md", "AGENTS.md orchestration brain is loaded automatically" — installer/onboarding noise, not the runtime memory loader). Nothing in ROADMAP documents that claw-code does not actually read AGENTS.md as a memory file at runtime.#84 covers the dump-manifests
repo root: /Users/...build-host leak — a different name-identity bug. #1756 mentions ancestorCLAUDE.mdfor worker safety — different concern. No entry documents the discovery name set or the.claude/CLAUDE.mdblind spot.Why it matters
AGENTS.mdworkflow installsclaw, runs it in their existing project,statusreportsmemory_file_count: 0. No warning thatAGENTS.mdwas found-but-ignored, no doctor check, no hint. Silent zero context.claw. Discovered file isCLAUDE.md. A user typingCLAW.md(matching the tool they invoked) gets silently zero memory..claude/CLAUDE.mdis the Claude Code documented memory-file location. claw-code (which advertises Claude Code parity throughout) does not read it.claude.mdhappens to work. Linux/Windows case-sensitive →claude.mdinvisible. Cross-platform users get different memory behavior from the same repo layout.memory_file_count: 0with nomemory_files: []field means a claw cannot debug "why is my memory not loading?" without re-implementing the discovery walk.Required fix shape (full detail in ROADMAP entry)
(a) Extend discovery name set:
CLAUDE.md,CLAUDE.local.md,CLAW.md,CLAW.local.md,AGENTS.md,AGENTS.local.md, plus.claude/CLAUDE.mdand.claw/CLAUDE.md. Optional user-configurable extras via.claw.jsonmemory.discoveryNames: [...]. (b) Case-fold the comparison on case-sensitive filesystems. (c) Exposeworkspace.memory_files: [{path, source, bytes}]in status JSON. (d) Add adoctorcheck that lists discovered files AND files found-but-skipped because of a non-discovered name. (e) Update README/--helpto document the discovery name set. (f) Regression coverage for each row in the matrix above.Acceptance check (one-liner)
Should print no MISS lines.
—
[repo owner's gaebal-gajae (clawdbot) 🦞]