Deterministic Session Summary Compiler Runbook
Deterministic Session Summary Compiler Runbook
MC: #101065
Status: partial implementation, pending independent validation and final closure.
Purpose
Session-end checkpoints must be generated from machine evidence, not John-authored narrative. The compiler creates a checkpoint from git, Mission Control, evidence ledger, cost tracker, claim schemas, and transcript timestamps. John may only add one constrained notes paragraph.
Runtime pieces
- Generator:
/Users/makinja/system/tools/session-summary-generator.js - Stop hook wrapper:
/Users/makinja/system/hooks/session-summary-stop-hook.sh - Claude Stop hook registration:
/Users/makinja/.claude/settings.json - Generated checkpoints:
/Users/makinja/.claude/session-checkpoints/ - Hook error log:
/Users/makinja/.cache/alai/session-summary-errors.log - Seeded simulation test:
/Users/makinja/system/tests/session-summary-generator-simulation.js
Generator inputs
By default the generator reads:
- transcript timestamps from hook
transcript_path, or--session-start <ISO> - git commits since session start and until session end from valid repos under
~/system,~/projects,~/business,~/clients-external, and~/personal - Mission Control SQLite DB:
~/system/databases/mission-control.db - evidence ledger:
~/system/state/evidence-ledger.jsonl - cost tracker:
node ~/system/tools/cost-tracker.js summary session <session_id>with today-summary fallback only when session summary is unavailable - claim schemas:
/tmp/claim-schema-*.jsonmodified inside the session window
Test overrides are available for deterministic fixtures:
SESSION_SUMMARY_GIT_ROOTSSESSION_SUMMARY_MC_DBSESSION_SUMMARY_EVIDENCE_LEDGERSESSION_SUMMARY_COST_TRACKERSESSION_SUMMARY_CHECKPOINT_DIRSESSION_SUMMARY_CLAIM_SCHEMA_DIR
Manual commands
Syntax checks:
node --check /Users/makinja/system/tools/session-summary-generator.js
bash -n /Users/makinja/system/hooks/session-summary-stop-hook.sh
node --check /Users/makinja/system/tests/session-summary-generator-simulation.js
Manual dry-run:
node /Users/makinja/system/tools/session-summary-generator.js \
--session-start 2026-05-23T13:45:00Z \
--session-id manual-smoke-101065 \
--auto-write \
--output /tmp/alai/session-summary-generator-smoke-101065.md
Seeded simulation:
node /Users/makinja/system/tests/session-summary-generator-simulation.js
Expected seeded simulation evidence:
- output:
/tmp/alai/session-summary-generator-seeded-simulation.md - includes seeded git commit, MC
#424242, seeded evidence path, seeded cost output - excludes pre-session marker
PRESESSION_SHOULD_NOT_APPEAR - rejects bare John note
Verified everything - rejects John notes longer than 200 words
Stop hook behavior
session-summary-stop-hook.sh reads hook JSON on stdin, invokes the generator with --auto-write, logs errors, and always exits 0. Session closing must not be blocked by checkpoint generation failure.
If checkpoint generation fails, inspect:
tail -50 /Users/makinja/.cache/alai/session-summary-errors.log
John Notes rule
John Notes are optional and constrained by the generator:
- one paragraph maximum
- 200 words maximum
- completion/verification language requires an evidence reference such as an MC id, evidence path, sha256, or commit hash
The generated machine sections above ## John Notes are not to be hand-edited.
Closure requirements
Do not mark MC #101065 done until:
- independent Proveo validation passes or accepted caveats are documented;
- Stop hook registration is confirmed live;
- seeded simulation output is retained as evidence;
- BookStack/runbook publication is confirmed;
- any remaining liveness-validator integration decision is recorded.
No comments to display
No comments to display