Recall Past Work
Search through previous sessions to find relevant decisions, approaches that worked, and approaches that failed. Queries two sources:
Artifact Index - Handoffs, plans, ledgers with post-mortems (what worked/failed)
Reasoning Files - Build attempts, test failures, commit context
When to Use
Starting work similar to past sessions
"What did we do last time with X?"
Looking for patterns that worked before
Investigating why something was done a certain way
Debugging an issue encountered previously
Usage
Primary: Artifact Index (rich context)
uv run python scripts/core/artifact_query.py "
This searches handoffs with post-mortems (what worked, what failed, key decisions).
Secondary: Reasoning Files (build attempts)
bash "$CLAUDE_PROJECT_DIR/.claude/scripts/search-reasoning.sh" "
This searches .git/claude/commits/*/reasoning.md for build failures and fixes.
Examples
Search for authentication-related work
uv run python scripts/core/artifact_query.py "authentication OAuth JWT"
Find only successful approaches
uv run python scripts/core/artifact_query.py "implement agent" --outcome SUCCEEDED
Find what failed (to avoid repeating mistakes)
uv run python scripts/core/artifact_query.py "hook implementation" --outcome FAILED
Search build/test reasoning
bash "$CLAUDE_PROJECT_DIR/.claude/scripts/search-reasoning.sh" "TypeError"
What Gets Searched
Artifact Index (handoffs, plans, ledgers):
Task summaries and status What worked - Successful approaches What failed - Dead ends and why Key decisions - Choices with rationale Goal and constraints from ledgers
Reasoning Files (.git/claude/):
Failed build attempts and error output Successful builds after failures Commit context and branch info Interpreting Results
From Artifact Index:
✓ = SUCCEEDED outcome (pattern to follow) ✗ = FAILED outcome (pattern to avoid) ? = UNKNOWN outcome (not yet marked) Post-mortem sections show distilled learnings
From Reasoning:
build_fail = approach that didn't work build_pass = what finally succeeded Multiple failures before success = non-trivial problem Process Run Artifact Index query first - richer context, post-mortems Review relevant handoffs - check what worked/failed sections If needed, search reasoning - for specific build errors Apply learnings - follow successful patterns, avoid failed ones No Results?
Artifact Index empty:
Run uv run python scripts/core/artifact_index.py --all to index existing handoffs Create handoffs with post-mortem sections for future recall
Reasoning files empty:
Use /commit after builds to capture reasoning Check if .git/claude/ directory exists