4.8 KiB
4.8 KiB
Raw Dump Inbox
This file is only a temporary human dump inbox. Do not treat it as durable runtime memory or an approved backlog.
Untriaged Notes
Feature Gaps & Limitations (2026-05-06)
Critical Path Gaps
- Monolithic auto-dispatch/auto-prompts files (61KB, 123KB) — acknowledged in ADR-001 as needing decomposition. Blocks easy navigation and testing of autonomous dispatch logic.
- Extension-provided models incomplete — Extensions cannot reliably register custom model variants. Model selection system needs refactoring to expose before_model_select hook properly.
- No typed environment schema — SF_* env vars have no runtime validation. Missing config is silent and hard to debug. Need zod/io-ts schema in env.ts.
Backlog Features (BUILD_PLAN.md Tier 1-2)
- Product-audit phase auto-fire — Tool callable but PhaseMerge/PhaseComplete dispatch not wired. Manual ports from gsd-2 needed.
- Extended config-overlay keys — Missing context_compact_at, context_hard_limit, unit_timeout_by_phase, max_agents_by_phase, turn_input_required, hot_cache_turns, etc. Users cannot tune critical perf/timeout settings.
- Architecture doc auto-update — No fast-dispatch at phase-end to detect if ARCHITECTURE.md/CONVENTIONS.md/STACK.md drifted. Auto-propose diffs for user approval.
- Semantic checkpoint chapters — No per-turn semantic "chapter" grouping for crash-resume context. Phase transitions inferred but not labeled. Impacts Hindsight recall usefulness.
- Custom Anthropic SSE parser — Still using @anthropic-ai/sdk client.messages.stream(). Should port pi-mono custom SSE parser (~200 LOC, 3 commits) to filter unknown-event + handle proxy events (issue #3708).
- Symlinked package dedup — Selectors/loaders show duplicates when packages/resources/skills/sessions symlinked (dev, CI). Port from pi-mono PR #3818.
- Extension API setWorkingVisible() — ctx.ui.setWorkingVisible() not yet added. Prevents extensions from hiding built-in working-loader; limits TUI customization.
Provider Expansion (BUILD_PLAN.md Tier 0.5 - gsd-2 ports)
- Cloudflare Workers AI provider — Not yet in routing list. Ready in pi-mono PR #3851; 1-line port.
- Azure Cognitive Services base URL — Azure OpenAI Responses endpoint support not ported from pi-mono PR #3799.
- Local LLM SSE timeout (5-min cutoff) — Ollama/LM Studio over 5 min hit UND_ERR_BODY_TIMEOUT. Fix available in pi-mono
d0907b6d8(1 commit). - Bedrock inference profile normalization — Prompt-caching checks fail on inference profile ARNs. Fix in pi-mono
7c487bb60(1 commit).
Testing Gaps
- Coverage thresholds too low — 40% is acceptable but should be 60%+ for autonomous/critical paths (auto-dispatch, recovery, state machine). Add property-based testing (fast-check) for state transitions.
- No end-to-end milestone lifecycle tests — Missing integration tests covering full milestone flow.
- No fault-injection/chaos tests — Recovery paths (stuck-loop detection, timeout recovery, runaway guards) lack chaos/fault-injection coverage.
Minor/Polish
- Biome schema version mismatch — biome.json v2.4.13 vs CLI v2.4.14. Run
biome migrate. - MCP package completeness unclear — docs reference mcp-server but completeness unknown. Verify packages/mcp-server/ is production-ready and document status.
- Headless assistant-text preview deferred — Notification categorization done; assistantTextBuffer/thinkingBuffer separation incomplete (see headless.ts).
gsd-2 Safety/Correctness Ports (BUILD_PLAN.md Tier 0.5)
- Bash evidence persistence race — Close mid-unit re-dispatch race (gsd-2
da7dd56e7, PR #5056→#5058). Bash tool calls can lose evidence between dispatch and re-dispatch. - Project-controlled surface hardening — Full fix supersedes partial cherry-pick at
66ff949c1(gsd-265ca5aa2e). - Web_search injection narrowing — Only inject web_search when provider accepts it (gsd-2
4370bedf3). - Symlinked .sf staging self-heal — Data-loss prevention when staging dir is symlink (gsd-2
9340f1e9b, PR #4423). - Milestone KNOWLEDGE injection budgeting — Prevents scope knowledge from blowing context budget (gsd-2
58d3d4d6c, PR #4721). - MCP-server stdout-buffer deadlock — Large-output MCP tools could hang (gsd-2
bb747ec57). - Workflow state machine race protection — Session transitions during agent_end, idle-wait optimization (gsd-2 commits
71114fccf,6d7e4ccb5,c162c44bf,e3bd04551). - Claude-Code CLI Always-Allow persistence — Grant persistence for non-Bash tools (gsd-2
a88baeae9, PR #5096).
Processed Notes
- SF auto-loop hardening was converted into SF milestone state on 2026-05-02.
Continue from
.sf/STATE.md,.sf/milestones/M013/, and.sf/milestones/M014/instead of reusing the old raw dump.