scrum4me-mcp/src/tools
Janpeter Visser 1fe6ccf609
feat(gate): verify_required levels — ALIGNED/ALIGNED_OR_PARTIAL/ANY (#16)
Sluit story 'Verify-gate uitbreiden' in PBI 'Agent verify-flow hardening' af.

The previous gate weighed only EMPTY: any PARTIAL or DIVERGENT verify
slipped through. The Insights batch (2 May 2026) showed why that's
weak — agent-jobs claiming DONE while only delivering helpers, not
the requested UI components, with verify=DIVERGENT/PARTIAL accepted.

New decision matrix:

  null                       → reject (run verify_task_against_plan)
  EMPTY  + !verify_only      → reject
  EMPTY  + verify_only       → allowed
  ALIGNED                    → always allowed
  PARTIAL/DIVERGENT
    required=ALIGNED         → reject (strict task)
    required=ALIGNED_OR_PARTIAL (default) → allowed only if summary
                                            ≥20 chars (acknowledge drift)
    required=ANY             → allowed (refactor escape hatch)

`update_job_status('done')` now reads `task.verify_required` from the DB
(field added in Scrum4Me PR #53) and passes it + `summary` to the gate.
Tool description updated with the new rules.

Vendor submodule synced to pick up the schema enum.

Tests: 129/129 (was 120 + 9 new combinatorial gate tests).

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 17:55:06 +02:00
..
ask-user-question.ts feat(ST-1102): add 4 question-channel MCP tools (M11) 2026-04-28 01:00:59 +02:00
cancel-question.ts feat(ST-1102): add 4 question-channel MCP tools (M11) 2026-04-28 01:00:59 +02:00
cleanup-my-worktrees.ts feat(M13): cleanup_my_worktrees tool — scan + remove stale worktrees for terminal-status jobs 2026-05-01 13:22:47 +02:00
create-pbi.ts feat: add 3 authoring tools — create_pbi / create_story / create_task 2026-04-29 15:52:15 +02:00
create-story.ts feat: add 3 authoring tools — create_pbi / create_story / create_task 2026-04-29 15:52:15 +02:00
create-task.ts feat: add 3 authoring tools — create_pbi / create_story / create_task 2026-04-29 15:52:15 +02:00
create-todo.ts feat(ST-708): create_todo tool 2026-04-26 23:08:05 +02:00
get-claude-context.ts feat: wire story-promotion into update_task_status + filter done stories from get_claude_context 2026-04-30 18:22:47 +02:00
get-question-answer.ts feat(ST-1102): add 4 question-channel MCP tools (M11) 2026-04-28 01:00:59 +02:00
health.ts feat(ST-705): read tools — health, list_products, get_claude_context 2026-04-26 23:04:51 +02:00
list-open-questions.ts feat(ST-1102): add 4 question-channel MCP tools (M11) 2026-04-28 01:00:59 +02:00
list-products.ts feat(ST-705): read tools — health, list_products, get_claude_context 2026-04-26 23:04:51 +02:00
log-commit.ts chore: sync schema with scrum4me@43a4294 + write metadata in log tools 2026-04-26 23:44:33 +02:00
log-implementation.ts chore: sync schema with scrum4me@43a4294 + write metadata in log tools 2026-04-26 23:44:33 +02:00
log-test-result.ts chore: sync schema with scrum4me@43a4294 + write metadata in log tools 2026-04-26 23:44:33 +02:00
update-job-status.ts feat(gate): verify_required levels — ALIGNED/ALIGNED_OR_PARTIAL/ANY (#16) 2026-05-02 17:55:06 +02:00
update-task-plan.ts feat(ST-706): task write tools — update_task_status and update_task_plan 2026-04-26 23:05:49 +02:00
update-task-status.ts feat: wire story-promotion into update_task_status + filter done stories from get_claude_context 2026-04-30 18:22:47 +02:00
verify-task-against-plan.ts feat: verify_task_against_plan calls classifyDiffAgainstPlan + saves verify_result to DB 2026-05-01 12:59:17 +02:00
wait-for-job.ts feat: branch-per-story + worktree-defer + verify EMPTY edge-cases (#12) 2026-05-01 17:04:54 +02:00