Commit Graph

4 Commits

Author SHA1 Message Date
Magal bf572f945f fix(quality-gate): switch qa-memtrace to async readFile and fix coverage null guard (Story 2.3)
- Replace sync readFileSync with async readFile from fs/promises
- Fix blast radius empty check: total_count === 0 → affected_symbols.length === 0
- Fix null-safe coverage access: cov.startsWith → (mod.coverage || '').startsWith('Partial:')
- Add await to readJsonFile calls in main()
2026-05-19 17:51:20 -03:00
Magal ffb430ed99 feat(adapter): implement MCP query adapter with get_impact, list_repos, and find_dead_code (Stories 3.1-3.2)
- Add memtrace-adapter.mjs: standalone Node.js MCP client over stdio
  with 10000ms timeout, MEMTRACE_MCP_ERROR_TIMEOUT token,
  structured JSON output matching qa-memtrace.mjs contract
- Support --query get_impact (blast radius), --query find_dead_code
  (dead code detection with repo_id + file_path scoping),
  --query list_repos (index freshness)
- Add 14 automated tests: 9 CLI arg handling + 5 MCP integration
- Update dev-story SKILL.md step 5 to use adapter for blast radius
  and dead-code queries, with empty-results skip for pitfall validation
- Update quick-dev step-03-implement and step-oneshot workflows
- Extend code-review acceptance auditors with adapter usage verification
  and dead-code adapter check
- Fix raw memtrace_get_impact reference in SKILL.md (review patch)
2026-05-19 17:50:32 -03:00
Magal 792fb50745 feat(quality-gate): implement pitfall-catalog validation for dead code (Story 2.4)
Create pitfalls-catalog.json with 6 false-positive pattern categories for
find_dead_code. Implement validate-dead-code.mjs classification engine
(SUSPECT/FALSE_POS/GHOST) with 10s timeout, input validation, null
guards, file size/candidate caps, and unique test filenames.

Integrate as Step 5c in bmad-dev-story, bmad-quick-dev workflows, and
expand code-review Acceptance Auditors in bmad-code-review and
gds-code-review.

Code review patches applied: status conditional, TimeoutError class,
fail() scoped timeout token, JSON parse error context, single regex
compilation, null/type guards, MSW pattern fix, Ignored section for
FALSE_POS/GHOST in SKILL.md.

Tests: 12/12 validate-dead-code + 10/10 qa-memtrace passing.
2026-05-19 14:25:52 -03:00
Magal 79b3f7d9dc feat(quality-gate): implement mathematical blocking quality gate (Phase 2)
- Create qa-memtrace.mjs - standalone Node.js script computing set
  intersection of blast radius nodes vs test coverage, with 10s timeout
  and MEMTRACE_MCP_ERROR_TIMEOUT token emission
- Create qa-memtrace.test.mjs with 10 automated test cases
- Integrate mathematical gate into bmad-dev-story step 5, bmad-quick-dev
  step-03-implement and step-oneshot
- Expand bmad-code-review and gds-code-review Acceptance Auditors with
  mathematical gate ground-truth checks
- Fix .gitignore to track .agents/skills/ and _bmad/scripts/memtrace/
2026-05-19 14:00:56 -03:00