Observe Before Editing
Before editing code to fix a bug, confirm what the system actually produced.
Pattern
Outputs don't lie. Code might. Check outputs first.
DO Check if expected directories exist: ls -la .claude/cache/ Check if expected files were created: ls -la .claude/cache/learnings/ Check logs for errors: tail .claude/cache/*.log Run the failing command manually to see actual error Only then edit code DON'T Assume "hook didn't run" without checking outputs Edit code based on what you think should happen Confuse global vs project paths (check both: .claude/ and ~/.claude/) Source Sessions a541f08a: Token limit error was invisible until manual run revealed it 6a9f2d7a: Looked in wrong cache path (~/.claude/ vs .claude/), assumed hook failure a8bd5cea: Confirmed hook worked by finding output files in project cache 1c21e6c8: Verified Artifact Index indexing by checking DB file exists