Specifications
Specifications
This directory contains the load-bearing specifications for Nova.
Production code in cmd/, internal/, pkg/, and web/ implements
these specs faithfully. Drift between code and spec fails CI.
Index
Decision boundary
ARCHITECTURE_DECISIONS.md— three-tier classification of every architectural decision (protocol-enforced / operator-tunable / operator freedom). Start here to understand what may and may not be changed in a deployment.
Wire formats and contracts
openapi.yaml— complete HTTP API; source of truth for codegenFEDERATION_PROTOCOL.md— node lifecycle, message schemas, repair transportENCRYPTION_ENVELOPE.md— per-blob encryption wire format, master-key versioning, crypto-shredSIGNED_URL_FORMAT.md— HMAC canonicalization, structured revocationIPFS_IMPORT_RULES.md— deterministic CID parameters
Schema and storage
DATA_MODEL.sql— Postgres DDLKUBO_HARDENING.md— required IPFS daemon configuration; refuse-to-start validator
Behavior
HEALING_PROTOCOL.md— orchestrator math, mass-casualty detection, slow-attrition detectionPRODUCT_MODULE_INTERFACE.md— how product layers plug into storage; upload pipeline contractINTEGRITY_AUDIT.md— Phase 1 local fixity checksPOSSESSION_AUDIT.md— Phase 2 donor challenge-response spot-checks
Specifications are normative. If a spec and the code disagree, the spec is correct and the code must be updated.
Source:
docs/specs/README.md