Memory Review
Turn daily logs into a small, current knowledge base. Treat daily logs as evidence, not as the authority.
Required workflow
-
Read references/spec.md before any write.
-
Read the workspace
AGENTS.mdandMEMORY.mdfor current hierarchy and owner rules. -
Build the deterministic scan plan:
python3 skills/memory-review/scripts/memory_review.py scan \ --root . \ --output /tmp/memory-review-scan.json -
Read every file in
changed_sources. Ignore*-memory-review.md; the scanner excludes them. -
Extract only durable signals. Exclude transient status, unverified ideas, routine execution logs, and secrets.
-
Resolve every signal against existing memory before writing. Use exact references,
memory_search,rg, and the helper when useful:python3 skills/memory-review/scripts/memory_review.py candidates \ --root . --query "主题或结论" -
Create a decision plan using the schema in the spec. Validate it before editing:
python3 skills/memory-review/scripts/memory_review.py validate-plan \ --root . --plan /tmp/memory-review-decisions.json -
Apply decisions in this order:
update_existingskip_duplicatereview_mergecreate_newdefer
-
Verify the diff, references, and current conclusion. A second run over unchanged inputs must not change canonical memory.
-
Write the report and execution log, then commit scan state only after all writes and checks succeed:
python3 skills/memory-review/scripts/memory_review.py commit-state \
--root . --scan /tmp/memory-review-scan.json
Hard rules
- Update-first: prefer the best existing canonical document over creating a near-synonym.
- Never create a third document when two candidates already overlap; emit
review_mergeinstead. - Resolve conflicts; do not append mutually contradictory conclusions as if both were current.
- Knowledge and hot memory outrank daily logs unless newer verified evidence explicitly supersedes them.
- Do not automatically edit
AGENTS.md,MEMORY.md,TOOLS.md,USER.md,SOUL.md, orENVIRONMENT.md. Record a proposal unless the current request explicitly authorizes that edit. - Do not put dates in new
memory/knowledge/filenames. Git history tracks time. - Do not advance state after partial failure.
- Do not send reports unless the caller or cron prompt specifies a destination.
Outputs
- Report:
memory/daily/YYYY-MM/YYYY-MM-DD-memory-review.md - Execution log:
data/exec-logs/memory-review/YYYY-MM-DD.md - State:
data/exec-logs/memory-review/state.json - Canonical targets:
memory/knowledge/,memory/glossary.md,memory/projects/,memory/post-mortems.md
