- Clean Architecture keeps business rules independent from delivery so changes in frameworks never break core logic.
- Dependencies flow inward:
frameworks → adapters → application → domain. - Use cases expose ports; adapters implement them; frameworks wire everything together under
cmd/entrypoints. - Always decide between Quick vs Task workflow (see docs/AGENT_INSTRUCTIONS.md) based on the layer surface area you touch.
- Separation of concerns: Domain logic lives in entities/value objects; use cases orchestrate; adapters translate boundaries; frameworks provide tooling only.