Architecture Decision Records

July 25, 2026 · View on GitHub

This directory records the load-bearing architectural decisions for quantakrypto-tools — the ones a future contributor would otherwise have to reverse-engineer or, worse, accidentally violate. Each ADR captures one decision, its context, and its consequences. ADRs are immutable once accepted: to change a decision, write a new ADR that supersedes the old one (and mark the old one Superseded by NNNN).

Format: a lightweight MADR-style record.

Index

ADRTitleStatus
0001Zero runtime dependencies (Node built-ins only)Accepted
0002@quantakrypto/core is the single shared contractAccepted
0003npm-workspaces monorepo + tsc -b project referencesAccepted
0004Sieve ships no KAT vectors and never fabricates expected valuesAccepted
0005BYOK agent line: @quantakrypto/agent is the sole networked plane; the engine disposesAccepted
0006Human-facing report output is English-only (no i18n)Accepted
  • VERSIONING.md — SemVer + deprecation policy (operationalises ADR-0002).
  • CONFIG.md — the optional quantakrypto.config.json spec.
  • OBJECTIVES.md — the toolchain's objectives, scope boundaries, and how these decisions fit together.

Template

Copy this for new ADRs. Number sequentially, zero-padded to four digits.

# NNNN — <short decision title>

- **Status:** Proposed | Accepted | Deprecated | Superseded by NNNN
- **Date:** YYYY-MM-DD
- **Deciders:** <roles/people>
- **Supersedes / Superseded by:** <ADR refs, if any>

## Context

What forces are at play? The problem, constraints, and assumptions. State the
facts that make the decision non-obvious.

## Decision

The position taken, in the active voice ("We will …"). Be specific enough that a
reviewer can tell whether a future PR violates it.

## Consequences

What becomes easier and what becomes harder. Include the *costs accepted* — an
ADR that lists only benefits is incomplete. Note how the decision is *enforced*
(CI gate, review rule, type) so it does not erode silently.

## Alternatives considered

The realistic options rejected, and why.