Skip to main content

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​

ADRTitleStatusDate
ADR-001Multi-Tenant Schema-Per-Tenant PostgreSQLβœ… Accepted2026-03-26
ADR-002Hybrid Local Dev Architectureβœ… Accepted2026-03-22
ADR-003AppSec Scanner: 59-Agent Parallel Modelβœ… Accepted2026-03-25
ADR-004AI Validation Layer for Scanner Findingsβœ… Accepted2026-03-30
ADR-005Deployment: Vercel + Render Splitβœ… Accepted2026-03-22
ADR-006Authentication: JWT + SSO + Fail-Secure KBβœ… Accepted2026-04-01

How to Create a New ADR​

  1. Copy the template below
  2. Number it sequentially (next is ADR-007)
  3. Fill every section β€” especially Alternatives Considered
  4. Set status to Proposed, get review, then update to Accepted
  5. 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 | ... |