bug(mcp): madt_orchestrate reconcile mode is unreachable — schema requires prs+verify which reconcile forbids, and the CLI fallback is steered back to the broken tool #18
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea#18
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
madt_orchestrate's input schema marksprsandverifyas required, but reconcile mode (reconcile=<pr>) documents them as mutually exclusive with it. Result: the documented recovery rail cannot be invoked over MCP at all.Live reproduction (2026-07-10, this repo, an earlier PR whose base moved under it):
madt_orchestrate reconcile=<pr> (or: madtea orchestrate reconcile <pr>).madt_orchestrate(reconcile="<pr>")→validating "arguments": validating root: required: missing properties: ["prs" "verify"]— rejected at the validation layer before the handler runs.madtea orchestrate reconcile <pr>→ the PreToolUse hook steers it straight back: "Use madt_orchestrate instead ofmadtea orchestrate". A textbook guard cycle (#15): every path the rails offer bounces to another wall.prs/verify— with a merge-capable tool, guessing at mutually-exclusive params is exactly the kind of gamble the schema should make impossible, not force.Working exit used instead (own-repo case):
madt_fetch+ localgit merge origin/mainon the PR head +madt_push+madt_prs action=merge. Fine for the session's own checkout; for a foreign repo even that path is fenced (see #14).Ask
prs+verifyrequired only whenreconcileis absent (oneOf: batch-merge shape vs reconcile shape).reconcile_continue/reconcile_abortbelong to the reconcile shape.madtea orchestratetomadt_orchestrate, the steer text should carry the working parameter shape for the mode detected in the CLI args, so a mode-specific breakage is at least visible at the steer.Acceptance
madt_orchestrate(reconcile="N")passes schema validation and runs.prs+verify.