fix: mcp_get_control_plane_guide must accept org/repo after #530 guard #588

Closed
opened 2026-07-09 12:16:52 -05:00 by jcwalker3 · 1 comment
Owner

Problem

Regression / incomplete fix for #530.

Live failure during controller triage:

mcp_get_control_plane_guide(remote="prgs")

failed with remote/repo guard (#530):

  • MCP-resolved repository: Scaled-Tech-Consulting/Timesheet
  • local git remote: https://gitea.prgs.cc/Scaled-Tech-Consulting/Gitea-Tools.git
  • remediation text: pass explicit org= and repo=
  • schema gap: mcp_get_control_plane_guide only accepted remote and host — no org/repo parameters — so the suggested recovery was impossible through the tool schema

Scope

  1. Add org and repo optional parameters to mcp_get_control_plane_guide (schema must match remediation).
  2. Safe context: when bare remote defaults mismatch the local git remote, align the guide target to the local org/repo so bootstrap still works in a Gitea-Tools worktree.
  3. Keep mutation tools fail-closed on bare mismatch (#530 guard preserved).
  4. Remediation text must only recommend parameters the guide (and other tools) actually accept.
  5. Regression tests for explicit Gitea-Tools, bare local alignment, wrong-default fail-closed guidance, schema/remediation consistency.

Prior work

  • #530 / PR #555 landed the mismatch guard but left the guide unusable under bare remote=prgs in this repo.

Acceptance

  • mcp_get_control_plane_guide(remote="prgs", org=..., repo=Gitea-Tools) succeeds and reports that repository
  • Bare guide in a Gitea-Tools worktree does not stay on Timesheet
  • Wrong bare default still fails closed for mutation tools
  • Every recovery suggestion matches the actual tool schema
## Problem Regression / incomplete fix for #530. Live failure during controller triage: ```text mcp_get_control_plane_guide(remote="prgs") ``` failed with remote/repo guard (#530): * MCP-resolved repository: `Scaled-Tech-Consulting/Timesheet` * local git remote: `https://gitea.prgs.cc/Scaled-Tech-Consulting/Gitea-Tools.git` * remediation text: pass explicit `org=` and `repo=` * **schema gap:** `mcp_get_control_plane_guide` only accepted `remote` and `host` — no `org`/`repo` parameters — so the suggested recovery was impossible through the tool schema ## Scope 1. Add `org` and `repo` optional parameters to `mcp_get_control_plane_guide` (schema must match remediation). 2. Safe context: when bare remote defaults mismatch the local git remote, align the guide target to the local org/repo so bootstrap still works in a Gitea-Tools worktree. 3. Keep mutation tools fail-closed on bare mismatch (#530 guard preserved). 4. Remediation text must only recommend parameters the guide (and other tools) actually accept. 5. Regression tests for explicit Gitea-Tools, bare local alignment, wrong-default fail-closed guidance, schema/remediation consistency. ## Prior work * #530 / PR #555 landed the mismatch guard but left the guide unusable under bare `remote=prgs` in this repo. ## Acceptance - [ ] `mcp_get_control_plane_guide(remote="prgs", org=..., repo=Gitea-Tools)` succeeds and reports that repository - [ ] Bare guide in a Gitea-Tools worktree does not stay on Timesheet - [ ] Wrong bare default still fails closed for mutation tools - [ ] Every recovery suggestion matches the actual tool schema
jcwalker3 added the status:in-progress label 2026-07-09 12:18:05 -05:00
Author
Owner

Issue claim heartbeat

<!-- gitea-issue-claim-heartbeat:v1 --> **Issue claim heartbeat** - kind: claim - issue: #588 - branch: fix/issue-588-guide-repo-guard - phase: claimed - profile: prgs-author - pr: none - blocker: none - next_action: create worktree and begin implementation
jcwalker3 added status:pr-open and removed status:in-progress labels 2026-07-09 12:19:00 -05:00
Sign in to join this conversation.
No labels status:pr-open
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Scaled-Tech-Consulting/Gitea-Tools#588