Topic
Programming
Names, boundaries, and what belongs in the repository.

Give a module one public edge
Callers should have one door. If cache, retry, and helpers are reachable from outside, the next change will couple to them.

A repository map you can say aloud
Five paths you can name are a map. A tree of folders you cannot explain is a pile the next change will make deeper.
A test plan for code you did not type
Generated code needs a smaller test list than people write, and a stricter one. Name the cases before you ask for the implementation.
What belongs in the repository
A model will happily add files. The repository should only gain a file that a later change will still want.
Names and boundaries in generated code
The fastest way to make a generated module unreadable is to accept its names. Rename before you build on top.
Keep a working log while you build
A chat scroll is not a project memory. Write down the decision, the command, and the result you actually observed.

