---
generated: 2026-05-10T03:56:00Z
---

# Requirements

This file captures the explicit capability and coverage contract for SF.

## Active

### R001 — Doctrine Alignment
- Class: core-capability
- Status: active
- Description: SF's product surfaces (CLI help, system prompt, summarization prompt) explicitly frame SF as a "purpose-driven software compiler" instead of a generic "AI coding assistant".
- Why it matters: ADR-0000 defines SF's product contract. Product surfaces that describe SF as a "coding assistant" violate the contract and confuse users and LLMs about SF's nature.
- Source: M001-6377a4/S01 planning
- Primary owning slice: M001-3hf5k0/S01
- Supporting slices: none
- Validation: unmapped
- Notes: Target files confirmed by grep; mechanical string replacements only

### R002 — DB State Integrity
- Class: quality-attribute
- Status: active
- Description: SF's SQLite DB (`.sf/sf.db`) must be readable and not malformed. Recovery from backup must restore the full planning state.
- Why it matters: Without a readable DB, SF blocks all milestone planning and autonomous execution.
- Source: M001-6377a4/S01 planning
- Primary owning slice: M001-3hf5k0/S01
- Supporting slices: none
- Validation: unmapped
- Notes: Backup at `.sf/backups/db/sf.db.2026-05-10T02-42-23-822Z` contains M001-6377a4 with 5 slices and 1 task

## Deferred

### R003 — A2A Adoption
- Class: integration
- Status: deferred
- Description: Adopt A2A as the internal agent communication protocol, wrapping MessageBus as transport.
- Why it matters: Standardizes agent messaging semantics without replacing the SQLite-backed MessageBus infrastructure.
- Source: docs/plans/A2A_ADOPTION_PLAN.md
- Primary owning slice: none (Tier 1)
- Supporting slices: none
- Validation: unmapped
- Notes: 6-phase migration plan exists in docs/plans/A2A_ADOPTION_PLAN.md

### R004 — Unified Dispatch Architecture
- Class: architecture
- Status: deferred
- Description: Merge parallel-orchestrator and slice-parallel-orchestrator into WorktreeOrchestrator, then extract DispatchService API.
- Why it matters: Eliminates ~80% code duplication between the two orchestrators and provides a unified dispatch surface.
- Source: docs/plans/UNIFIED_DISPATCH_V2.md
- Primary owning slice: none (Phase 1 = Week 1)
- Supporting slices: none
- Validation: unmapped
- Notes: 6-phase plan; Phase 1 is merge (highest value, lowest risk)

### R005 — DB Schema Separation
- Class: quality-attribute
- Status: deferred
- Description: Normalize milestone/slice/task tables into spec + runtime + evidence tables per ADR-0077.
- Why it matters: Clear semantics (spec=intent, runtime=state, evidence=history), better query performance, auditability.
- Source: docs/adr/0077-spec-runtime-evidence-schema-separation.md
- Primary owning slice: none (v3.0 target)
- Supporting slices: none
- Validation: unmapped
- Notes: Proposed; implementation phased across milestone tables first

## Out of Scope

### R010 — MCP Server
- Class: anti-feature
- Status: out-of-scope
- Description: SF must not ship or revive an MCP server package or runtime endpoint.
- Why it matters: SF-owned tools must remain native SF/pi tools per .sf/ANTI-GOALS.md.
- Source: .sf/ANTI-GOALS.md
- Notes: SF may consume external MCP servers as a client.

## Traceability

| ID | Class | Status | Primary owner | Supporting | Proof |
|---|---|---|---|---|---|
| R001 | core-capability | active | M001-3hf5k0/S01 | none | unmapped |
| R002 | quality-attribute | active | M001-3hf5k0/S01 | none | unmapped |
| R003 | integration | deferred | none | none | unmapped |
| R004 | architecture | deferred | none | none | unmapped |
| R005 | quality-attribute | deferred | none | none | unmapped |
| R010 | anti-feature | out-of-scope | none | none | n/a |

## Coverage Summary

- Active requirements: 2
- Mapped to slices: 2
- Validated: 0
- Unmapped active requirements: 0
