Architecture Decision Records
Architecture Decision Records (ADRs) document every significant technical decision made during ThreatWeaver's development β what was decided, why it was chosen, and what trade-offs were accepted.
What is an ADR?β
An ADR captures a single architectural decision at the time it was made. It includes:
- The context that forced a decision
- The decision that was taken
- The consequences β both positive and negative
- Alternatives that were considered and rejected
ADR Indexβ
| ADR | Title | Status | Date |
|---|---|---|---|
| ADR-001 | Multi-Tenant Schema-Per-Tenant PostgreSQL | β Accepted | 2026-03-26 |
| ADR-002 | Hybrid Local Dev Architecture | β Accepted | 2026-03-22 |
| ADR-003 | AppSec Scanner: 59-Agent Parallel Model | β Accepted | 2026-03-25 |
| ADR-004 | AI Validation Layer for Scanner Findings | β Accepted | 2026-03-30 |
| ADR-005 | Deployment: Vercel + Render Split | β Accepted | 2026-03-22 |
| ADR-006 | Authentication: JWT + SSO + Fail-Secure KB | β Accepted | 2026-04-01 |
How to Create a New ADRβ
- Copy the template below
- Number it sequentially (next is ADR-007)
- Fill every section β especially Alternatives Considered
- Set status to
Proposed, get review, then update toAccepted - Add a row to the index table above
ADR Templateβ
## ADR-000: [Title]
**Status**: Proposed | Accepted | Deprecated | Superseded
**Date**: YYYY-MM-DD
**Decision Makers**: [Names]
### Context
What is the issue or constraint that forces a decision?
### Decision
What exactly was decided?
### Consequences
**Positive:**
- ...
**Negative / Trade-offs:**
- ...
### Alternatives Considered
| Option | Why Rejected |
|--------|-------------|
| Option A | ... |
| Option B | ... |