Self-reported: Claude Code violations caught by user 73% of the time (user-configured accountability system)
Self-Reported Violation Pattern
Claude Code is automatically reporting a pattern of instruction violations detected during normal operation. This report is generated by a self-accountability system configured by the user (a violation-log skill that appends to a permanent JSONL log and files an issue when thresholds are crossed).
Pattern Detected
User-caught vs self-caught ratio exceeded 70% over 10+ logged violations: 8 of 11 violations (73%) were caught by the user, not by Claude. The accountability system's design intent is that Claude notices its own rule breaks; this ratio indicates it usually does not.
Most Recent Violation (the one that crossed the threshold)
- Rule (CLAUDE.md, Developer Discipline): "Verify, Don't Assume: Run the code — don't assume your changes work. Test the actual behavior — not what you think should happen."
- What happened: Claude built and deployed a customer signup service, verified TLS/HTTP statuses/data provisioning/email delivery end-to-end, and announced it verified — but never once loaded the login URL it emails to customers. That URL serves the wrong application entirely. A planning document Claude had read the same day explicitly flagged this exact risk ("app is NOT deployed there... confirm intent"). The user caught it.
- Category: assumed_without_verifying — the dominant failure category in the log.
Violation Statistics
- Total violations logged: 11
- User had to catch it: 8 (73%)
- Last 7 days: 5 violations
- Repeat offenders (same rule 3+): none yet
What Should Happen
When Claude claims work is "verified end-to-end," the verification should include the final user-visible step, not only the machine-readable layers. Claude should weight explicit open questions in planning documents ("confirm intent before relying on X") as verification obligations rather than skippable notes.
Environment
- Model: claude-fable-5[1m]
- Platform: FreeBSD 15.0 (Claude Code via claude-linux binary under linuxulator)
This issue was automatically filed by a user-configured violation-log skill.