Repository navigation
feat(agents): govern run with the mctl-api approvals backend - #2106
Conversation
Sets MCTL_POLICY_APPROVALS=mctl-api on the run template and drops its rollout: staged marker, as investigate did (mctl-gitops#1980). Refs #1980
|
Claude finished @mashkovd's task in 16s —— View job Review of fd742c3Approved: 0 P1, 0 P2, 0 P3.
I did not run any tooling, only the static diff review. The PR body says this is a prod behaviour flip that waits for an explicit owner OK, so hold the merge until that is given. |
There was a problem hiding this comment.
No P1/P2 findings (0 P3). Literal MCTL_POLICY_APPROVALS=mctl-api added to run-orchestrator matches the investigate pattern, the pinned image 1.95.0 is >= min_approvals_version 1.86.1, and the staged marker is removed from the manifest. Good to merge once the owner OK noted in the PR body is given.
Antigravity (agy) review — informationalModel: gemini-3.8-flash-high · commit No significant issues found. |
|
Owner OK given on 2026-10-24 for all five staged-surface PRs (#2105 implement, #2106 run, #2107 shepherd, #2108 worker-control; #2109 keeps reconcile non-governed). Merging one at a time; each governed surface is then checked on a live run for POLICY_DECISION lines with the mctl-api backend, and rolled back if it breaks. |
Draft: prod behaviour flip, waits for an explicit owner OK for this surface (mctlhq/.github#181 governance tails).
Refs #1980. Image on the surface: mctl-agents 1.95.0 >=
min_approvals_version1.86.1.Rollback: revert this PR (the surface returns to
NO_APPROVALS, fail closed) and mark the manifest entrygoverned: false,boundary: bypass-openwith atracked_by.Verification after merge: one live run of the surface;
POLICY_DECISIONlines name the mctl-api backend and no legitimate run is refused.What changes: the run template (RUN_MODE full, mentor-only, single-service) builds service-agent and mentor sessions with
mcp__mctl__*; a non-read call now goes to the approval store instead of being blocked outright. Same caveat as implement: no prompt directs a governed mctl tool today.🤖 Generated with Claude Code