ADR-XXXX: Short Imperative Title¶
- Status: Proposed
- Date: YYYY-MM-DD
- Deciders: List core maintainers
- Consulted: List consulted contributors or domain experts
- Informed: List informed community members or stakeholders
Context & Problem Statement¶
Describe the context and problem statement. What technical challenge or architectural trade-off requires resolution? What forces, requirements, and constraints apply?
Decision Drivers¶
- Driver 1, e.g., zero runtime overhead or sub-millisecond import time
- Driver 2, e.g., strict static type checking with Pyrefly
- Driver 3, e.g., modular layer boundary enforcement via Tach
Considered Options¶
- Option 1: Description
- Option 2: Description
- Option 3: Description
Pros and Cons of the Options¶
The options below summarize the trade-offs considered for this decision.
Option 1: Name¶
Good: Argument
Good: Argument
Bad: Argument
Option 2: Name¶
Good: Argument
Bad: Argument
Decision Outcome¶
Chosen option: "Option 1: Name", because concise justification explaining how it satisfies drivers.
Positive Consequences¶
- Positive consequence 1
- Positive consequence 2
Negative Consequences / Trade-Offs¶
- Negative consequence or mitigation required
Architecture & Boundary Compliance¶
- Tach Layers: Impact on
tach.tomlmodules or layer definitions - Static Typing: Impact on Pyrefly type contracts, Protocols, or generic parameters
- Testing Strategy: How this invariant is validated in automated tests