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>
|
||
|---|---|---|
| .. | ||
| 0000-purpose-to-software-compiler.md | ||
| 0001-promote-only-sf-state.md | ||
| 0002-sf-schedule-pull-based.md | ||
| 0075-uok-gate-architecture.md | ||
| 0076-uok-memory-integration.md | ||
| 0077-spec-runtime-evidence-schema-separation.md | ||
| README.md | ||
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.