fix: control-plane guide org/repo params after #530 guard (Closes #588) #589

Merged
sysadmin merged 1 commits from fix/issue-588-guide-repo-guard into master 2026-07-09 12:49:25 -05:00
Owner

Summary

Closes #588 (follow-up for incomplete/regressed #530 guide bootstrap).

Live failure: mcp_get_control_plane_guide(remote="prgs") hit the #530 remote/repo guard because bare prgs resolves to Scaled-Tech-Consulting/Timesheet while local git is Scaled-Tech-Consulting/Gitea-Tools. Remediation told callers to pass org=/repo=, but the guide schema only had remote/host.

Changes

  • mcp_get_control_plane_guide accepts optional org and repo
  • Bare remote with local mismatch auto-aligns guide target to local git org/repo (read-only bootstrap only)
  • Mutation tools still fail closed on bare mismatch (#530 preserved)
  • Remediation text names mcp_get_control_plane_guide and only recommends schema-valid parameters
  • Returns resolved_repository so callers can see what was used

Validation

python3 -m pytest tests/test_remote_repo_guard.py tests/test_operator_guide.py::TestControlPlaneGuide -q
# 33 passed
git diff --check
# clean

Worktree

branches/issue-586-guide-repo-guard @ 57b2023611b4df7000b7d77c1f7116be3a398e6c

Canonical PR State

STATE: ready-for-review
WHO_IS_NEXT: reviewer
NEXT_ACTION: review PR at head 57b2023611
NEXT_PROMPT:

Use prgs-reviewer. Review this PR for Issue #588. Expected head 57b2023611b4df7000b7d77c1f7116be3a398e6c. Approve if guide accepts org/repo, bare prgs aligns to Gitea-Tools in-worktree, and mutation bare mismatch still fails closed.

WHAT_HAPPENED: Fixed control-plane guide schema/local alignment after #530 guard made bare guide unusable.
WHY: Session bootstrap tool must be callable in Gitea-Tools; recovery text must match tool schema.
PRIOR_ISSUE: #530
BLOCKERS: none
VALIDATION: 33 passed; diff --check clean
LAST_UPDATED_BY: jcwalker3 (prgs-author)

## Summary Closes #588 (follow-up for incomplete/regressed #530 guide bootstrap). Live failure: `mcp_get_control_plane_guide(remote="prgs")` hit the #530 remote/repo guard because bare `prgs` resolves to `Scaled-Tech-Consulting/Timesheet` while local git is `Scaled-Tech-Consulting/Gitea-Tools`. Remediation told callers to pass `org=`/`repo=`, but the guide schema only had `remote`/`host`. ## Changes - `mcp_get_control_plane_guide` accepts optional `org` and `repo` - Bare remote with local mismatch auto-aligns guide target to local git org/repo (read-only bootstrap only) - Mutation tools still fail closed on bare mismatch (#530 preserved) - Remediation text names `mcp_get_control_plane_guide` and only recommends schema-valid parameters - Returns `resolved_repository` so callers can see what was used ## Validation ```text python3 -m pytest tests/test_remote_repo_guard.py tests/test_operator_guide.py::TestControlPlaneGuide -q # 33 passed git diff --check # clean ``` ## Worktree `branches/issue-586-guide-repo-guard` @ `57b2023611b4df7000b7d77c1f7116be3a398e6c` ## Canonical PR State STATE: ready-for-review WHO_IS_NEXT: reviewer NEXT_ACTION: review PR at head 57b2023611b4df7000b7d77c1f7116be3a398e6c NEXT_PROMPT: ```text Use prgs-reviewer. Review this PR for Issue #588. Expected head 57b2023611b4df7000b7d77c1f7116be3a398e6c. Approve if guide accepts org/repo, bare prgs aligns to Gitea-Tools in-worktree, and mutation bare mismatch still fails closed. ``` WHAT_HAPPENED: Fixed control-plane guide schema/local alignment after #530 guard made bare guide unusable. WHY: Session bootstrap tool must be callable in Gitea-Tools; recovery text must match tool schema. PRIOR_ISSUE: #530 BLOCKERS: none VALIDATION: 33 passed; diff --check clean LAST_UPDATED_BY: jcwalker3 (prgs-author)
jcwalker3 added 1 commit 2026-07-09 12:18:59 -05:00
#530's remote/repo guard blocked mcp_get_control_plane_guide(remote=prgs)
because the bare default resolves to Timesheet while local git is
Gitea-Tools, and remediation told callers to pass org/repo on a tool that
did not accept those parameters.

- Accept optional org/repo on mcp_get_control_plane_guide
- Prefer local git remote org/repo when bare defaults mismatch (read-only guide)
- Keep mutation tools fail-closed on bare mismatch
- Align remediation text with tools that accept org/repo

Closes #588
Author
Owner

Canonical PR State

STATE: ready-for-review
WHO_IS_NEXT: reviewer
NEXT_ACTION: review and approve PR #589 at head 57b2023611
NEXT_PROMPT:

Use prgs-reviewer. Review PR #589 for Issue #588. Expected head 57b2023611b4df7000b7d77c1f7116be3a398e6c. Approve if guide accepts org/repo, bare prgs aligns to Gitea-Tools, mutation bare mismatch still fails closed, and remediation matches schema.

WHAT_HAPPENED: Opened PR #589 fixing control-plane guide schema/local alignment after #530.
WHY: Guide bootstrap must work in Gitea-Tools; recovery text must match tool parameters.
RELATED_PRS: #589 #555
BLOCKERS: none
VALIDATION: pytest tests/test_remote_repo_guard.py tests/test_operator_guide.py::TestControlPlaneGuide -q -> 33 passed; git diff --check clean
LAST_UPDATED_BY: jcwalker3 (prgs-author)

Files

  • remote_repo_guard.py
  • gitea_mcp_server.py
  • tests/test_remote_repo_guard.py
  • tests/test_operator_guide.py
## Canonical PR State STATE: ready-for-review WHO_IS_NEXT: reviewer NEXT_ACTION: review and approve PR #589 at head 57b2023611b4df7000b7d77c1f7116be3a398e6c NEXT_PROMPT: ```text Use prgs-reviewer. Review PR #589 for Issue #588. Expected head 57b2023611b4df7000b7d77c1f7116be3a398e6c. Approve if guide accepts org/repo, bare prgs aligns to Gitea-Tools, mutation bare mismatch still fails closed, and remediation matches schema. ``` WHAT_HAPPENED: Opened PR #589 fixing control-plane guide schema/local alignment after #530. WHY: Guide bootstrap must work in Gitea-Tools; recovery text must match tool parameters. RELATED_PRS: #589 #555 BLOCKERS: none VALIDATION: pytest tests/test_remote_repo_guard.py tests/test_operator_guide.py::TestControlPlaneGuide -q -> 33 passed; git diff --check clean LAST_UPDATED_BY: jcwalker3 (prgs-author) ### Files - remote_repo_guard.py - gitea_mcp_server.py - tests/test_remote_repo_guard.py - tests/test_operator_guide.py
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #589
issue: #588
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 53880-210f8d568cbd
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-589-issue-588
phase: claimed
candidate_head: 57b2023611
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T17:40:41Z
expires_at: 2026-07-09T19:40:41Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #589 issue: #588 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 53880-210f8d568cbd worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-589-issue-588 phase: claimed candidate_head: 57b2023611b4df7000b7d77c1f7116be3a398e6c target_branch: master target_branch_sha: none last_activity: 2026-07-09T17:40:41Z expires_at: 2026-07-09T19:40:41Z blocker: none
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #589
issue: #588
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 53880-210f8d568cbd
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-fix-issue-588-guide-repo-guard
phase: claimed
candidate_head: 57b2023611
target_branch: master
target_branch_sha: 27d75facd4
last_activity: 2026-07-09T17:41:22Z
expires_at: 2026-07-09T19:41:22Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #589 issue: #588 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 53880-210f8d568cbd worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-fix-issue-588-guide-repo-guard phase: claimed candidate_head: 57b2023611b4df7000b7d77c1f7116be3a398e6c target_branch: master target_branch_sha: 27d75facd4d2fd6db5b46f48ee3e0bcd8909ebac last_activity: 2026-07-09T17:41:22Z expires_at: 2026-07-09T19:41:22Z blocker: none
sysadmin approved these changes 2026-07-09 12:41:37 -05:00
sysadmin left a comment
Owner

Canonical PR State

STATE: review-approved
WHO_IS_NEXT: merger
NEXT_ACTION: merge PR #589 at head 57b2023611 after operator authorization
NEXT_PROMPT:

Use prgs-merger. Merge PR #589 at expected_head_sha=57b2023611b4df7000b7d77c1f7116be3a398e6c org=Scaled-Tech-Consulting repo=Gitea-Tools.

WHAT_HAPPENED: Reviewed PR #589 (control-plane guide org/repo + local alignment for #588).
WHY: Fixes #530 follow-up — guide accepts org/repo; bare prgs aligns to Gitea-Tools in-worktree; mutations still fail closed on Timesheet default mismatch; remediation matches schema.
ISSUE: #588
HEAD_SHA: 57b2023611
REVIEW_STATUS: APPROVED
MERGE_READY: yes (awaiting explicit merge authorization)
BLOCKERS: none
VALIDATION: pytest tests/test_remote_repo_guard.py tests/test_operator_guide.py::TestControlPlaneGuide -> 33 passed; git diff --check clean; scope 4 files
LAST_UPDATED_BY: sysadmin (prgs-reviewer)

Review notes

  • Not self-review (author jcwalker3).
  • Scope limited to guide/schema/guard remediation + tests.
  • Preserves #530 mutation fail-closed behavior.
## Canonical PR State STATE: review-approved WHO_IS_NEXT: merger NEXT_ACTION: merge PR #589 at head 57b2023611b4df7000b7d77c1f7116be3a398e6c after operator authorization NEXT_PROMPT: ```text Use prgs-merger. Merge PR #589 at expected_head_sha=57b2023611b4df7000b7d77c1f7116be3a398e6c org=Scaled-Tech-Consulting repo=Gitea-Tools. ``` WHAT_HAPPENED: Reviewed PR #589 (control-plane guide org/repo + local alignment for #588). WHY: Fixes #530 follow-up — guide accepts org/repo; bare prgs aligns to Gitea-Tools in-worktree; mutations still fail closed on Timesheet default mismatch; remediation matches schema. ISSUE: #588 HEAD_SHA: 57b2023611b4df7000b7d77c1f7116be3a398e6c REVIEW_STATUS: APPROVED MERGE_READY: yes (awaiting explicit merge authorization) BLOCKERS: none VALIDATION: pytest tests/test_remote_repo_guard.py tests/test_operator_guide.py::TestControlPlaneGuide -> 33 passed; git diff --check clean; scope 4 files LAST_UPDATED_BY: sysadmin (prgs-reviewer) ## Review notes - Not self-review (author jcwalker3). - Scope limited to guide/schema/guard remediation + tests. - Preserves #530 mutation fail-closed behavior.
Owner

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #589
issue: #588
reviewer_identity: sysadmin
profile: prgs-reviewer
session_id: 53880-210f8d568cbd
worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-589-issue-588
phase: claimed
candidate_head: 57b2023611
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T17:42:04Z
expires_at: 2026-07-09T19:42:04Z
blocker: none

<!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #589 issue: #588 reviewer_identity: sysadmin profile: prgs-reviewer session_id: 53880-210f8d568cbd worktree: /Users/jasonwalker/Development/Gitea-Tools/branches/review-pr-589-issue-588 phase: claimed candidate_head: 57b2023611b4df7000b7d77c1f7116be3a398e6c target_branch: master target_branch_sha: none last_activity: 2026-07-09T17:42:04Z expires_at: 2026-07-09T19:42:04Z blocker: none
Owner

adopted_at: 2026-07-09T17:49:07Z
adopted_by_identity: sysadmin
adopted_by_profile: prgs-merger
adopted_from_session_id: 53880-210f8d568cbd
adopted_from_profile: prgs-reviewer
adopted_from_reviewer_identity: sysadmin
adopted_from_comment_id: 8381
adoption_reason: merger-handoff-approved-head

repo: Scaled-Tech-Consulting/Gitea-Tools
pr: #589
issue: #588
reviewer_identity: sysadmin
profile: prgs-merger
session_id: merger-pr589-20260709
worktree: branches/merger-pr589
phase: adopted
candidate_head: 57b2023611
target_branch: master
target_branch_sha: none
last_activity: 2026-07-09T17:49:07Z
expires_at: 2026-07-09T19:49:07Z
blocker: none

<!-- mcp-review-lease-adoption:v1 --> adopted_at: 2026-07-09T17:49:07Z adopted_by_identity: sysadmin adopted_by_profile: prgs-merger adopted_from_session_id: 53880-210f8d568cbd adopted_from_profile: prgs-reviewer adopted_from_reviewer_identity: sysadmin adopted_from_comment_id: 8381 adoption_reason: merger-handoff-approved-head <!-- mcp-review-lease:v1 --> repo: Scaled-Tech-Consulting/Gitea-Tools pr: #589 issue: #588 reviewer_identity: sysadmin profile: prgs-merger session_id: merger-pr589-20260709 worktree: branches/merger-pr589 phase: adopted candidate_head: 57b2023611b4df7000b7d77c1f7116be3a398e6c target_branch: master target_branch_sha: none last_activity: 2026-07-09T17:49:07Z expires_at: 2026-07-09T19:49:07Z blocker: none
sysadmin merged commit 05b4f13e96 into master 2026-07-09 12:49:25 -05:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

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