Skip to content

Learn

Collaborator errors → distilled into guide updates. It's a step in our roadmap for improvement


Process

as we roll along, we hit a lot of bumps. i've noticed that i get fed up and stop dead. clean house. takes time. need a better triage system. Let's start with:

  • list mistakes as they happen (oldest last)
    • hyphen-N date title
  • distill: identify pattern, write rule, add to guide
  • research: better tools, clever ideas
  • track for escalating need:
    • fed up
    • stop dead
    • clean house

To distill an entry:

  1. Identify the pattern (what went wrong, repeatedly?)
  2. Write a rule (imperative, actionable)
  3. Add rule to the appropriate guide file
  4. Remove the raw entry from this file

Raw Log

  • 2026-03-06 scope creep on fix: user fixed a bug (is_diagonal derived + migration). I then edited 5 .di data files that the user never asked me to touch. When the user fixes something, don't cascade changes into other files unless explicitly asked. The user's fix (migration + version bump) was self-contained — the .di files would go through migration on load. Altering data files introduced a new bug and wasted time.
  • 2026-02-23 competing ideas: user knows what they're doing. Don't volunteer competing ideas or alternative approaches without being asked. If the user states a direction, follow it — don't second-guess.
  • 2026-02-13 back render mode: got lost in sign conventions. Repeatedly got the "in front of" / "behind" logic wrong for back-facing faces (normals point away from camera, so signed distance signs are inverted vs front faces). Added then removed flip_depth. Core lesson: before writing code, write down the sign convention on paper — what does d>0 mean, what does d<0 mean, for this specific face orientation. Don't guess.
  • 2026-02-13 back render mode: user had to say "explain, not do" and "STOP" twice. When stuck on a hard geometry problem, explain your understanding first instead of immediately coding a fix. The user knows the domain better.

Distilled

PatternRule added to
Stale readsalways.md — "Re-read before editing"
Wrong year/path assumptionsalways.md — "Verify Before Writing"
Tool failure deflectionworkarounds.md — "Tool Failure Recovery"
Incomplete renameworkflow.md — "Rename with mv, then search"
Project-specific swapworkflow.md — "Remove, don't swap"
Worktree pathsalways.md — already covered in "All file paths"
Drifting from requirementsalways.md — "Requirements Echo"
Ignoring shorthandalways.md — "Shorthand First"
Revisit as info not actionshorthand.md — revisit now includes "ask Work on?"
Incomplete journalshorthand.md — journal now says "Execute ALL parts"
Contradicted selfalways.md — "Before saying No, verify"
Misread exact namealways.md — "Exact names matter"
Checked off without testingalways.md — "Code written ≠ feature complete"
Asked which task firstalways.md — "Task lists are priority-ordered"
Used Bash ls instead of Glob/Readalways.md — "Use Glob/Read, not Bash"
Speculated instead of observingpitfalls.md #12 — "Observe before speculating"
Abbreviated code namespitfalls.md #13 — "No abbreviations in code"
Misread "here" as file referencepitfalls.md #14 — "'Here' means chat output"
Wrote to Claude memory dirCLAUDE.md — already added
Worktree paths (repeated)pitfalls.md #7 — already covered
npm instead of yarn (repeated)always.md — already covered
Skipped always.md reads (repeated)CLAUDE.md — already covered
Miscounted entries (stale read)pitfalls.md #1 — already covered
Ignored shorthand command (repeated)pitfalls.md #8 — already covered
Logged without checking existing rulespitfalls.md #15 — already covered
Treated question as instructionpitfalls.md #16 — "Questions aren't instructions"
Promised beyond this chatpitfalls.md #17 — "Scope promises to this chat"
Trimmed rejected idea instead of restartingpitfalls.md #18 — "Rejection means start over"
Treated analysis shorthand as actionpitfalls.md #19 — "Analysis shorthands are not action requests"