diff --git a/_bmad-output/implementation-artifacts/sprint-status.yaml b/_bmad-output/implementation-artifacts/sprint-status.yaml index 3f4f00e..00644b8 100644 --- a/_bmad-output/implementation-artifacts/sprint-status.yaml +++ b/_bmad-output/implementation-artifacts/sprint-status.yaml @@ -35,7 +35,7 @@ # - Dev moves story to 'review', then runs code-review (fresh context, different LLM recommended) generated: 2026-03-25 -last_updated: 2026-05-17 # Epic 15 implementation work COMPLETE. Stories 15-1 (merged PR #111) + 15-2/15-3/15-4/15-5/15-6 shipped via PRs #112-#116 (open, awaiting operator review). Epic 15 retrospective artifact saved to _bmad-output/implementation-artifacts/epic-15-retro-2026-05-17.md. +last_updated: 2026-05-17 # Epic 15 COMPLETE and all PRs merged to main. Stories 15-1 (PR #111) + 15-2 (PR #112) + 15-3 (PR #113) + 15-4 (PR #115) + 15-5 (PR #114) + 15-6 (PR #116) all merged. Epic 15 retrospective artifact saved to _bmad-output/implementation-artifacts/epic-15-retro-2026-05-17.md. project: companion project_key: NOKEY tracking_system: file-system @@ -205,13 +205,13 @@ development_status: epic-14-retrospective: done # 2026-05-16: epic-14-retro-2026-05-16.md saved. Score 5✅ / 1⏳ / 3❌ on Epic 13 retro AI follow-through (sharp improvement over Epic 13's 1-of-9 baseline). 9 new action items filed: AI #1 14-8 CLAUDE.md backfill (low), AI #2 + #3 carry-forward of Epic 13 numerical-claim sweep + CLAUDE.md compression (medium + low), AI #4 adversarial review noise-discipline tightening (medium), AI #5 dev-story CLAUDE.md gate (medium), AI #6 R1-patch baseline doc (low), AI #7 device-profiling pass before Epic 16 (high Epic 16 blocker), AI #8 Epic 12 carry-forwards 12-11/12-9/15.3 pgTAP (high — Epic 15 scope), AI #9 roadmap closure section (low). Epic 15 plan unchanged — no significant Epic 14 discoveries require revision. # Epic 15: Test Coverage & QA Infrastructure (P1) - epic-15: in-progress # 2026-05-16: auto-flipped backlog → in-progress when 15-1 story file was created. Epic 14 retro AIs surfaced at kickoff per Epic 13 AI #4 accountability gate; "Proceed + acknowledge" mode selected (AI #8 absorbed by 15.3 scope; others orthogonal docs/workflow). + epic-15: done # 2026-05-17: All 6 stories merged. PRs #111 (15-1) + #112 (15-2) + #113 (15-3) + #115 (15-4) + #114 (15-5) + #116 (15-6) all on main. Retrospective complete (epic-15-retro-2026-05-17.md). Epic 16 (Device Performance & Stability) is next. 15-1-lib-unit-tests: done # PR #111. R1 patches: HIGH × 2 (useFakeTimers time-flake fix; dictation empty-original semantic-trap TODO + 15-1-followup filed) + MED × 3 (Case 17 distinctive-marker assertion; Case 14 ref-inequality; new Case 14a typed-preserves-case). +1 net R1 (2158 → 2159). All 5 gates green. Original: 2026-05-16: Story 15-1 implementation complete. 4 NEW test files (srs.test.ts 14 cases + pronunciation.test.ts 10 cases + cache.test.ts 20 cases + use-dictation-compare.test.ts 15 cases) = +59 net Jest cases (2099 → 2158; squarely within spec target +50-65). 0 source-module modifications — test-only story. All 5 quality gates green. CLAUDE.md paragraph added per Epic 14 retro AI #5. Original: Story 15-1 spec file created. FIRST Epic 15 story. Pure-function lib unit tests for 4 modules where direct tests don't yet exist: srs.ts (SM-2 algorithm full coverage), pronunciation.ts identifyWeakSounds (pure aggregator), cache.ts core API (getCache/setCache/invalidateCache/cacheWithFallback happy + TTL boundary), use-dictation.ts compareSentences (pure word-comparison helper). Coverage inventory completed: activity.ts already fully tested (Story 9-2 + 12-3); memory.ts + error-tracker.ts have substantial partial coverage (sanitize via 9-4 + dedup via 11-6); pronunciation.ts has history-cap test (12-12); the GAP-only scope targets the 4 untested-or-partially-tested pure-function surfaces. Async/DB-touching paths (assessPronunciation Edge wrapper, memory.ts extractFacts/persistMemories/retrieveMemories, error-tracker.ts non-dedup paths) DEFERRED to 15-1-followups or 15-2 hook-integration scope per Story 14-4 R1-22-patch lesson (broad enforcement-rule changes interact with every surface; test-writing stories at analogous risk). 3 operator-decision items Q1-Q3 all resolved per Recommended (defer Edge wrapper / memory async / error-tracker non-dedup). 0 source-module modifications — test-only story. Spec target: +50-65 net Jest cases (2099 → 2149-2164). Status: ready-for-dev. Awaiting /bmad-dev-story. - 15-2-hook-integration-tests: backlog - 15-3-edge-function-deno-tests: backlog - 15-4-golden-flow-e2e: backlog # PR #115 open — status flips to "done" when PR merges - 15-5-ai-schema-regression-tests: backlog # PR #114 open — status flips to "done" when PR merges - 15-6-ci-coverage-gating: backlog # PR #116 open — status flips to "done" when PR merges + 15-2-hook-integration-tests: done # 2026-05-17: PR #112 merged to main. R1 patches HIGH × 4 + MED × 5 applied. usePronunciation full mocked-API coverage (13 cases). + 15-3-edge-function-deno-tests: done # 2026-05-17: PR #113 merged to main. R1 patches HIGH × 3 + MED × 4 applied. Deno _shared tests wired into CI + drift detector (5 cases). + 15-4-golden-flow-e2e: done # 2026-05-17: PR #115 merged to main. R1 patches HIGH × 3 + MED × 1 + runbook (EH-1/EH-3/EH-5). Maestro E2E skeleton flows — 5 golden user flows + drift detector. + 15-5-ai-schema-regression-tests: done # 2026-05-17: PR #114 merged to main. R1 patches HIGH × 5 + MED × 5 + LOW × 2. AI schema regression test infrastructure — fixture loader + 3 synthetic seed fixtures + runbook. + 15-6-ci-coverage-gating: done # 2026-05-17: PR #116 merged to main. R1 patches HIGH × 4 + MED × 3 + LOW × 1. `jest --coverage` with 40% threshold floor on src/lib/ + src/hooks/. CI now fails PRs that regress test coverage below the floor. epic-15-retrospective: done # 2026-05-17: retrospective artifact saved to _bmad-output/implementation-artifacts/epic-15-retro-2026-05-17.md. 6/6 stories done (1 merged + 5 open PRs). Key takeaway: sequential autopilot shipped 6 stories cleanly but with inline self-review only — operator should run /ultrareview on PRs #112-#116 before merge. 6 Epic 14 carry-forward AIs structurally dropped (autopilot stripped human-in-the-loop nudge); flagged for Epic 16 kickoff accountability gate. # Epic 16: Deploy & Launch Readiness (P1)