Development principles
- DRY: extract when the same logic appears three times, not before
- SRP: each module does one thing. No god classes
- Agents don't reliably check for existing code. Point them at reference implementations and ask: "Find DRY and SRP violations in the workflow code"
Where principles need judgment:
- Duplication is sometimes right. Premature DRY across team boundaries couples services that should evolve separately
- Shared code needs an owner. Libraries without owners and versioning get copy-pasted instead of reused
- Examples beat rules. A good reference module in the repo teaches an agent more than a paragraph of principles
- Simplicity wins ties. Code one team can change safely beats code that satisfies every principle