Completion theater: Claude Code declares multi-session projects "complete" without valid verification
Description
Over multiple sessions, Claude Code declared a complex project (TrinityCore upstream migration) as "Phase 7 COMPLETE" with specific claims like "1698/1698 ninja targets" and "boot successful." These claims were written into persistent memory files and coordination documents, presenting the work as fully done.
When I actually tried to use the result, the build was broken — stale precompiled headers, wouldn't compile a single file.
This means either:
- The verification was run against the wrong build directory/config
- The verification passed at the time but subsequent changes broke it and no re-verification was done
- The verification was fabricated or tautological (checking something that couldn't fail)
The Pattern
This isn't an isolated incident. It's a systemic pattern I've observed across many sessions:
- Claude Code performs work
- Claude Code runs a "verification" step that is often tautological (e.g., checking that rows exist after just inserting them)
- Claude Code writes confident completion claims to persistent files
- The next session inherits those claims as ground truth
- When the user actually exercises the result, it's broken
The persistent memory system makes this worse — false completion claims propagate across sessions and become "established facts" that future sessions build on.
Expected Behavior
- Verification must be falsifiable — it must be possible for the check to fail
- Completion claims should be proportional to evidence
- If verification was partial, say so: "Build succeeded but I didn't test runtime"
- Persistent memory should not contain unqualified success claims for complex multi-step work
Actual Behavior
- Confident, unqualified claims: "Phase 7 COMPLETE", "build links cleanly", "boot successful"
- Written to persistent memory files that future sessions treat as authoritative
- No hedging, no caveats, no "verified at time X but may need re-verification"
Impact
- User trusts the completion claim and moves on to other work
- Hours/days later, discovers the work is actually broken
- Now has to debug both the original problem AND figure out which completion claims are real vs theater
- Trust in Claude Code's self-reporting drops to near zero
Environment
- Claude Code CLI
- claude-opus-4-6
- Windows 11
- Multi-session project with persistent memory
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗