singularity-forge/docs/adr
Mikael Hugo 87aa04cf05 Tier 1.3: Add spec/runtime/evidence schema separation (v32)
Implements the 3-table normalization model for milestone, slice, and task entities:

- 9 new tables: {milestone,slice,task}_{specs,evidence} + runtime tables
- milestone_specs: immutable record of intent (vision, goals, risks, proof strategy)
- slice_specs: immutable slice-level intent
- task_specs: immutable task verification criteria
- {entity}_evidence: append-only audit trail with timestamps and phase metadata
- Indices on evidence tables for efficient chronological queries

Key improvements:
- Spec immutability: Write-once specs preserve original intent
- Audit trail: Evidence chain enables data archaeology and decision history
- Query efficiency: Each table contains only relevant columns
- Re-planning clarity: Multiple spec versions can exist for same entity ID
- Forensic capability: Timestamp + phase metadata on evidence rows

Migration:
- Schema version bumped to 32
- Migration runs on first open of existing databases
- No data loss; existing milestone/slice/task rows preserved
- Creates spec and evidence tables from existing columns (future work)

This is Phase 1 of Tier 1.3 implementation (schema definition + basic setup).
Phases 2-5 (migration, data layer updates, tool updates, tests) follow in next PRs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-07 04:20:32 +02:00
..
0000-purpose-to-software-compiler.md docs: align sf purpose doctrine and docs 2026-05-06 00:38:36 +02:00
0001-promote-only-sf-state.md fix: version sf extension runtime sources 2026-05-04 23:27:20 +02:00
0002-sf-schedule-pull-based.md docs: tighten legacy state fallback wording 2026-05-07 03:25:20 +02:00
0075-uok-gate-architecture.md docs: align runtime state and mcp boundaries 2026-05-07 03:09:55 +02:00
0076-uok-memory-integration.md docs: add ADR-076 for UOK memory integration decisions 2026-05-07 02:05:01 +02:00
0077-spec-runtime-evidence-schema-separation.md Tier 1.3: Add spec/runtime/evidence schema separation (v32) 2026-05-07 04:20:32 +02:00
README.md docs: align sf purpose doctrine and docs 2026-05-06 00:38:36 +02:00

docs/adr/

Accepted architecture decision records (ADRs).

Start with ADR-0000: SF Is a Purpose-to-Software Compiler. It is the foundational product/architecture decision; later ADRs refine pieces of that contract.

What belongs here

  • Final, accepted architectural decisions that affect the project.
  • Decisions that have been promoted from .sf/DECISIONS.md.

What does NOT belong here

  • Draft decisions still under discussion.
  • Implementation plans (use docs/plans/).
  • Specifications (use docs/specs/).

Naming convention

0001-<slug>.md — zero-padded four digits, auto-numbered by sf plan promote --to docs/adr. 0000-* is reserved for foundational doctrine that later ADRs depend on.

See also