Beck — Tidy First? / Empirical Software Design
What it is
Section titled “What it is”Beck is the source of two ideas this project already runs on. First, TDD — the red/green/refactor cycle the engineering agents are briefed to follow. Second, Tidy First? reframes design as the management of coupling and cohesion (Constantine & Yourdon’s “Newton’s Laws” for software): a tidying is a tiny, behavior-preserving structural change you make before a feature so the feature is cheap to add. Its thesis — “software design is an exercise in human relationships,” optimize for the next reader, change in small reversible steps — is the empirical, incremental counterweight to big-design-up-front.
Key takeaways for KN-86
Section titled “Key takeaways for KN-86”- TDD is already the house process; this is its provenance. The repo briefs
every engineering agent on
test-driven-development+git-flow, and the runtime ships 120 headlessctests precisely so behavior is pinned before refactor. That discipline is Beck’s cycle — worth citing by name when the TDD brief gets questioned. - “Tidy first” is the right shape for the pending re-flow debt. The tracked
types.hlegacy-80×25 deviation and the “legacydisplay.cpassenger pending a re-flow task” (kn-86 CLAUDE.md) are textbook tidyings-in-waiting: small structural cleanups that should land before the next renderer feature, not bundled into it. Beck’s framing (separate the tidying PR from the behavior PR) maps straight onto our git-flow. - Coupling/cohesion is the parent vocabulary. Beck works at the coupling/cohesion level; Weirich’s connascence refines coupling into a measurable spectrum. Pair them: Beck for when/whether to tidy, connascence for which coupling to weaken.
- Reinforces the working-style preferences already in play — small reversible changes, one clear path, reuse over rewrite.
- Cross-link Weirich — Connascence and Hickey — Simple Made Easy (the three together are the project’s “how we reason about change” canon).