sf snapshot: uncommitted changes after 97m inactivity

This commit is contained in:
Mikael Hugo 2026-05-15 22:52:58 +02:00
parent a2a6ab767c
commit e2c3d6542c

View file

@ -70,6 +70,50 @@ This file is the explicit capability and coverage contract for the project.
- Validation: unmapped
- Notes: Standard try/catch protection.
### R007 — Knowledge/Graph Artifact Formalization
- Class: constraint
- Status: active
- Description: `knowledge` and `graph` must be declared in `ARTIFACT_KEYS` in `unit-context-manifest.js` alongside their existing `computed` registrations in `UNIT_MANIFESTS`.
- Why it matters: Without formal registration, manifests that declare `knowledge` and `graph` as `computed` entries are structurally unreliable — the artifact registry doesn't know these keys exist, making the system incomplete and future tooling harder to build.
- Source: spec
- Primary owning slice: M005/S01
- Supporting slices: none
- Validation: unmapped
- Notes: The manifests already declare them as `computed`; this formalizes the registry entry.
### R008 — Remaining Builder Migration to composeUnitContext v2
- Class: core-capability
- Status: active
- Description: All 7 unmigrated unit-type builders (`execute-task`, `complete-slice`, `discuss-milestone`, `discuss-project`, `discuss-requirements`, `research-project`, `rewrite-docs`) must be wired through `composeUnitContext` v2 with proper `computed` knowledge/graph entries.
- Why it matters: The migration eliminates imperative string manipulation and positions SF for the Phase 4 pipeline-variants feature. Fragile sentinel-string searches (e.g., `body.lastIndexOf("### Task Summary:")`) are replaced by structured computed entries.
- Source: spec
- Primary owning slice: M005/S01
- Supporting slices: M005/S02
- Validation: unmapped
- Notes: Phase 2 shipped 15/26 types migrated. This completes the remaining 7.
### R009 — Builder Ordering Safety Tests
- Class: quality-attribute
- Status: active
- Description: Position-assertion and equivalence tests must cover all migrated builders to guard against silent ordering degradation when manifests are changed.
- Why it matters: Without tests, manifest reordering or new computed entries silently change prompt output — a regression only visible in production LLM calls.
- Source: spec
- Primary owning slice: M005/S01
- Supporting slices: M005/S03
- Validation: unmapped
- Notes: Extends existing `auto-prompts-phase3.test.mjs` which covers plan-milestone, replan-slice, validate-milestone, research-slice.
### R010 — Dead Code Removal
- Class: quality-attribute
- Status: active
- Description: `prompt-cache-optimizer.js` must be removed — `optimizeForCaching()`, `estimateCacheSavings()`, and `computeCacheHitRate()` have zero importers.
- Why it matters: Dead code is maintenance burden; the actual caching logic lives in `prompt-ordering.js` (which is wired).
- Source: spec
- Primary owning slice: M005/S02
- Supporting slices: none
- Validation: unmapped
- Notes: `reorderForCaching` in `prompt-ordering.js` is the live implementation.
## Traceability
| ID | Class | Status | Primary owner | Supporting | Proof |
@ -80,10 +124,14 @@ This file is the explicit capability and coverage contract for the project.
| R004 | differentiator | active | M003/S04 | none | unmapped |
| R005 | constraint | active | M003/S05 | none | unmapped |
| R006 | quality-attribute | active | M003/S06 | none | unmapped |
| R007 | constraint | active | M005/S01 | none | unmapped |
| R008 | core-capability | active | M005/S01 | M005/S02 | unmapped |
| R009 | quality-attribute | active | M005/S01 | M005/S03 | unmapped |
| R010 | quality-attribute | active | M005/S02 | none | unmapped |
## Coverage Summary
- Active requirements: 6
- Mapped to slices: 6
- Active requirements: 10
- Mapped to slices: 10
- Validated: 0
- Unmapped active requirements: 0