mirror of
https://github.com/dtzp555-max/memory-continuity.git
synced 2026-07-19 09:42:42 +00:00
2.3 KiB
2.3 KiB
Continuity Doctor — Specification
Purpose
The continuity doctor is a diagnostic tool that checks whether the memory-continuity protocol is being followed correctly in a workspace. It reports problems but does not auto-fix them.
Design philosophy
- Diagnose, don't repair. Automated repair of state files is dangerous because incorrect "fixes" can overwrite valid state. The doctor flags issues for human or agent review.
- Fast and offline. No API calls, no database queries. Reads files only.
- Exit codes matter. 0 = healthy, 1 = warnings found, 2 = critical issues.
Checks performed
1. Existence check
- Does
memory/CURRENT_STATE.mdexist? - Severity: CRITICAL if missing (no recovery possible)
2. Staleness check
- When was
CURRENT_STATE.mdlast modified? - If older than the most recent session transcript, it is stale.
- Severity: WARNING
3. Template compliance
- Does the file contain all mandatory sections? (Objective, Current Step, Key Decisions, Next Action, Blockers, Unsurfaced Results)
- Are any sections still showing placeholder text like
[One sentence: ...]? - Severity: WARNING for missing sections, INFO for placeholder text
4. Unsurfaced results
- Is the
Unsurfaced Resultssection non-empty? - If yes, someone needs to review those results.
- Severity: WARNING
5. Archive consistency
- Are there files in
memory/session_archive/? - Does the newest archive have a different Objective than CURRENT_STATE.md? (This is expected if the user switched tasks, but worth flagging.)
- Severity: INFO
6. Conflict detection (optional, if tasks file exists)
- If a
tasks.mdoropenspec/directory exists, does the Objective in CURRENT_STATE.md align with any active task? - Severity: INFO (alignment is nice-to-have, not mandatory)
Output format
[CRITICAL] memory/CURRENT_STATE.md does not exist
[WARNING] CURRENT_STATE.md is stale (last modified 2h ago, session ran 30m ago)
[WARNING] Unsurfaced Results section is not empty — review needed
[INFO] Archive objective differs from current objective (task switch?)
[OK] Template compliance: all sections present
Future extensions (not yet implemented)
- Multi-workspace scan (check all sub-agent workspaces)
- JSON output mode for programmatic consumption
- Integration with OpenClaw cron for scheduled health checks