Merge pull request #22 from madhura68/fix/idea-job-done-skip-verify

fix: idea-jobs done blocked by verify-gate (v0.6.2)
This commit is contained in:
Janpeter Visser 2026-05-05 13:27:20 +02:00 committed by GitHub
commit 35460b09de
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 24 additions and 14 deletions

View file

@ -1,6 +1,6 @@
{ {
"name": "scrum4me-mcp", "name": "scrum4me-mcp",
"version": "0.6.1", "version": "0.6.2",
"description": "MCP server for Scrum4Me — exposes dev-flow tools and prompts via the Model Context Protocol", "description": "MCP server for Scrum4Me — exposes dev-flow tools and prompts via the Model Context Protocol",
"type": "module", "type": "module",
"bin": { "bin": {

View file

@ -306,20 +306,30 @@ export function registerUpdateJobStatusTool(server: McpServer) {
let skipWorktreeCleanup = false let skipWorktreeCleanup = false
if (status === 'done') { if (status === 'done') {
const gate = checkVerifyGate( // M12: idea-jobs hebben geen task/plan_snapshot/branch — skip de
job.verify_result ?? null, // verify-gate én de prepareDoneUpdate (die doet git push). Voor
job.task?.verify_only ?? false, // idea-jobs is `done` direct geldig: de bijhorende update_idea_*_md
(job.task?.verify_required ?? 'ALIGNED_OR_PARTIAL') as VerifyRequired, // heeft de idea-status al naar GRILLED/PLAN_READY gezet.
summary, if (job.kind === 'IDEA_GRILL' || job.kind === 'IDEA_MAKE_PLAN') {
) actualStatus = 'done'
if (!gate.allowed) return toolError(gate.error) // pushedAt blijft undefined, branch/error overrides ook
skipWorktreeCleanup = true
} else {
const gate = checkVerifyGate(
job.verify_result ?? null,
job.task?.verify_only ?? false,
(job.task?.verify_required ?? 'ALIGNED_OR_PARTIAL') as VerifyRequired,
summary,
)
if (!gate.allowed) return toolError(gate.error)
const plan = await prepareDoneUpdate(job_id, branch) const plan = await prepareDoneUpdate(job_id, branch)
actualStatus = plan.dbStatus === 'DONE' ? 'done' : 'failed' actualStatus = plan.dbStatus === 'DONE' ? 'done' : 'failed'
pushedAt = plan.pushedAt pushedAt = plan.pushedAt
if (plan.branchOverride !== undefined) branchToWrite = plan.branchOverride if (plan.branchOverride !== undefined) branchToWrite = plan.branchOverride
if (plan.errorOverride !== undefined) errorToWrite = plan.errorOverride if (plan.errorOverride !== undefined) errorToWrite = plan.errorOverride
skipWorktreeCleanup = plan.skipWorktreeCleanup skipWorktreeCleanup = plan.skipWorktreeCleanup
}
} }
// Auto-PR: best-effort, only when push actually happened. // Auto-PR: best-effort, only when push actually happened.