ADR 003 — Immutable artifacts, deployment bindings and retained regression assertions
Accepted 2026-10-08. Extends ADR 002; all concepts below are Workstation application concepts, not SEIF Protocol ontology.
The control plane is a self-hostable Node service using the bundled executable. SQLite WAL owns indexed metadata and transactions; immutable filesystem objects own complete Build artifacts. Storage access is centralized and migration-versioned. Production database/object-store implementations are future, not fake adapters.
An artifact digest binds the complete manifest and embedded contents, while the existing definition digest preserves reproducible compilation semantics. Ed25519 signatures bind artifact digest, Build ref, definition digest, runtime contract and provenance. Trust roots and private keys live outside artifacts. No production test-key fallback.
Registration, approval, promotion, deployment and observed health are separate records. Deployment binds an immutable Build to an environment; the compiled environment remains its authoring/test basis. Promotion uses compare-and-swap on the current promotion, with approval bound to candidate, policy and previous Build. Deployment rechecks the gate and confirms the running runtime's digest and contract. Rollback appends history.
Regression runs baseline assertions AND candidate assertions against the candidate at a recorded evaluation instant. Deleting or weakening a test cannot remove a previous release obligation. Missing labels yield unknown/null rates, never invented accuracy. All comparisons carry the corpus digest and policy basis.
Connectors observe material; retrieval orders eligible material; profile policy and SEIF mechanics decide participation and projection. External dependencies are explicitly unpinned. Failures remain unavailable, never empty.
Traces are observations. Authenticated bounded collection validates Build/deployment correlation and applies environment retention before storage. Reproduction uses the original immutable artifact and retained request/evaluation time; missing content or live dependencies prevent exact claims.