singularity-forge/docs/exec-plans/completed/index.md
Mikael Hugo 16ff608d80 feat: implement ADR-001 gitignore split and fill placeholder docs
Gitignore (core change):
- Remove stale blanket .sf/ entries from .gitignore (migrated to
  .git/info/exclude on 2026-04-29, never cleaned up)
- gitignore.ts: split SF_RUNTIME_EXCLUSION_PATTERNS into two modes —
  SF_SYMLINK_EXCLUSION_PATTERNS (blanket .sf for symlink repos where
  git cannot traverse the symlink) and SF_RUNTIME_EXCLUSION_PATTERNS
  (granular runtime-only patterns for directory repos, enabling
  .sf/milestones/ and other durable planning artifacts to be tracked)
- ensureGitInfoExclude() now detects symlink vs directory and writes
  the correct patterns, handling transitions between modes cleanly
- ADR-001 status: Proposed → Accepted

Docs:
- Fill 11 placeholder scaffold docs with real SF-specific content:
  PLANS, DESIGN, PRODUCT_SENSE, QUALITY_SCORE, RELIABILITY, SECURITY,
  design-docs/index.md, exec-plans/active, exec-plans/completed,
  exec-plans/tech-debt-tracker, records/index
- Add records note: docs/records/2026-05-01-repo-vcs-and-notifications.md
- ADR-008 status: Accepted → Proposed (deferred — not applicable to
  current usage model where Claude Code assists externally, not as a
  Pi provider inside SF's dispatch loop)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 22:32:28 +02:00

2.5 KiB

Completed Execution Plans

repo-vcs skill — 2026-05-01

What shipped: repository-vcs-context.ts detects Git vs Jujutsu and injects VCS guidance into the agent system prompt. src/resources/skills/repo-vcs/ bundled skill for commit, push, and safe-push workflows. Skill trigger registered in bootstrap/system-context.ts.

Evidence: commit a611cd579 — 18 files, 943 insertions.

Follow-up debt: None — no regressions in smoke tests.


Autonomous workflow stabilization — 2026-05-01

What shipped: Major hardening pass on the auto-loop: crash recovery, stuck detection, production mutation approval gate, safe-smoke task LLM approval, headless source startup progress. See commit 12e7333f1.

Evidence: All existing tests pass. Smoke tests: sf --version, sf --help, sf --print all pass.

Follow-up debt: Parallel milestone state locking (SQLite) deferred to ADR-018 Phase 1+.


JSDoc Purpose/Consumer annotations — 2026-05-01

What shipped: Purpose: and Consumer: JSDoc annotations added to app-paths.ts, bundled-extension-paths.ts, errors.ts, extension-discovery.ts, extension-registry.ts, headless-types.ts, headless.ts, traces.ts. Fulfills SPEC_FIRST_TDD "JSDoc is the purpose" iron law for core modules.

Evidence: commit a611cd579.


Pi clean seam architecture (ADR-010) — 2026-04

What shipped: Hard boundary between SF extension code and Pi SDK internals. SF extensions may only call the public Pi extension API; no direct access to Pi internals. Enforced via import rules.

ADR: ADR-010


Branchless worktree architecture (ADR-001) — prior

What shipped: Git worktrees for milestone isolation without branch-per-milestone overhead. Each milestone executes in its own worktree; changes merge back to main on completion.

ADR: ADR-001


Pipeline simplification (ADR-003) — prior

What shipped: Research phase merged into planning; mechanical completion model for tasks that need no LLM judgment. Eliminated a redundant dispatch phase.

ADR: ADR-003


Capability-aware model routing (ADR-004) — prior

What shipped: Routing from tier/cost selection to task-capability matching. Model selection considers tool requirements, vision, function-calling, and context size, not just cost tier.

ADR: ADR-004