Adds the 4 new MCP-tools for the Scrum4Me M12 Idea-entity flow + extends
3 existing tools to handle the new ClaudeJobKind discriminator.
New tools:
- get_idea_context: full idea + product + open questions + recent logs
- update_idea_grill_md: save grill-result + status → GRILLED + IdeaLog
- update_idea_plan_md: server-side yaml parser validates frontmatter;
ok → PLAN_READY, fail → PLAN_FAILED + line-info errors
- log_idea_decision: DECISION/NOTE entries on the timeline
Extended tools:
- ask_user_question: xor schema (story_id | idea_id); idea-questions are
user-private with productId derived from idea.product_id
- wait_for_job: returns \`kind\` discriminator; IDEA_* payloads include
idea + prompt_text (from src/prompts/idea/) and skip worktree creation
- update_job_status: failed on IDEA_* auto-transitions idea-status to
GRILL_FAILED / PLAN_FAILED + IdeaLog{JOB_EVENT}; auto-PR + worktree-
cleanup skipped for idea-jobs
Other changes:
- Health version now read dynamically from package.json (was hardcoded
'0.1.0' which caused deploy-sync confusion)
- Schema synced to Scrum4Me M12 (Idea + IdeaLog + enums + ClaudeJob/
Question nullable-FKs + check-constraints + pg_notify-trigger update)
- New @scrum4me-mcp/lib/idea-plan-parser duplicates Scrum4Me's parser
(drift detected by vendor schema-watchdog)
- Embedded grill+make-plan prompts copied to src/prompts/idea/
- New userOwnsIdea access helper
Tests: 153/153 green; tsc + build clean.
Migration: requires Scrum4Me M12 migration (20260504172747_add_ideas_and_grill_jobs)
applied on the target DB. See vendor/scrum4me/docs/runbooks/mcp-integration.md
for the updated batch-loop with kind-switch.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.1 KiB
2.1 KiB
Changelog
All notable changes to scrum4me-mcp.
[0.6.0] — 2026-05-04
Adds support for Scrum4Me M12 (Idea entity + Grill/Plan jobs).
Added
get_idea_context(idea_id)— fetch full idea + product + recent logs + open questions for agent context.update_idea_grill_md(idea_id, markdown)— save grill-result + transition to GRILLED + IdeaLog{GRILL_RESULT}.update_idea_plan_md(idea_id, markdown)— save plan with server-side yaml-frontmatter validation; ok → PLAN_READY, parse-fail → PLAN_FAILED + IdeaLog{JOB_EVENT, errors}.log_idea_decision(idea_id, type, content, metadata?)— DECISION/NOTE entries on the idea timeline.
Changed
ask_user_question— now accepts exact one ofstory_idORidea_id(zod xor refine). Idea-questions are user-private (owner-scoped, no productAccessFilter).wait_for_job— response now includeskind: 'TASK_IMPLEMENTATION' | 'IDEA_GRILL' | 'IDEA_MAKE_PLAN'. For idea-jobs the payload returnsidea,product,repo_url,prompt_text(embedded prompt fromsrc/prompts/idea/) and no worktree (agent works in user's existing repo).update_job_status— forfailedonIDEA_GRILL/IDEA_MAKE_PLAN: idea status auto-transitions toGRILL_FAILED/PLAN_FAILED+ IdeaLog{JOB_EVENT}. Auto-PR + worktree-cleanup skipped for idea-jobs.- Health version — now read dynamically from
package.jsonat module load (was hardcoded; resolved sync-issues at deploy time).
Schema
- Vendored
prisma/schema.prismasynced with Scrum4Me M12 (Idea + IdeaLog models, IdeaStatus + ClaudeJobKind + IdeaLogType enums, ClaudeJob.task_id nullable + idea_id + kind, ClaudeQuestion.story_id nullable + idea_id, check-constraints, pg_notify-trigger update). - Pinned to scrum4me commit on branch
feat/m12-ideasuntil merged to main.
Migration notes
- Requires Scrum4Me database to have M12 migration applied (
20260504172747_add_ideas_and_grill_jobs). - Worker runtime: see
vendor/scrum4me/docs/runbooks/mcp-integration.md— batch-loop now switches onkinddiscriminator.
[0.5.0] — earlier
Version bump (no changelog entry).