De status-logica sprak z'n eigen tool-beschrijving tegen. De code deed:
approved -> PLAN_REVIEWED
rejected -> PLAN_REVIEW_FAILED
else -> PLAN_REVIEWED // "Default to approved if not specified"
Een review die 'pending' (needs manual approval) of helemaal geen
approval_status teruggaf, markeerde het idee dus als PLAN_REVIEWED
(goedgekeurd) — precies omgekeerd aan wat de beschrijving belooft.
Fix: alleen een expliciete approval_status='approved' brengt het idee
naar PLAN_REVIEWED; 'rejected', 'pending' én een weggelaten
approval_status gaan allemaal naar PLAN_REVIEW_FAILED (mens beslist).
Nooit stilzwijgend goedkeuren.
Verder:
- Handler geextraheerd naar handleUpdateIdeaPlanReviewed + inputSchema
geexporteerd, conform het create-sprint/update-sprint-patroon, zodat
de logica zonder McpServer-wrapper testbaar is.
- Tool-beschrijving + header-comment aangescherpt zodat code en docs
niet meer divergeren.
- Nieuw test-bestand: 6 tests (approved/rejected/pending/omitted
status-transitie, not-found, log-persistentie).
Build groen, 379 tests groen.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>