fix(add-orchestrator): realign allowed-tools with skill bodies (#7) - #9
Merged
Conversation
Two grant-vs-body drift fixes in the add-orchestrator bundle, both least-privilege / no behaviour change: - discover-agents v1.7→1.8: add mcp__trinity__report. The Step 7 fleet_scan report call is in the body but was absent from the grant, so under tool-enforcement it silently never published (the guard swallowed the tool-not-found error). - orchestrate v1.13→1.14: drop the three vestigial schedule tools (create/delete/list_agent_schedule). Zero positive body usage remains since the v1.7 watchdog moved fully to set_reminder/cancel_reminder. Bundle add-orchestrator 1.20→1.21; agent-dev plugin 1.14.0→1.14.1. Deliberately scoped to the two concrete grant fixes. The allowed-tools↔body lint gate proposed in #7 is deferred to its own PR/follow-up (new cross-skill enforcement machinery, not coupled to this defect fix). Refs #7 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This was referenced Aug 17, 2026
Merged
vybe
pushed a commit
that referenced
this pull request
Aug 17, 2026
…ode + overwrite-prompt wiring (#8) Re-running /add-orchestrator offered overwrite/skip/cancel per skill with no version comparison, no diff, and no detection of local customization. Two real failures came from that: a hand-written routing directive that a plain overwrite would have silently destroyed, and two skills sitting ahead of the bundle for weeks with nothing comparing the two directions (#5). Add a read-only `--check` mode that, per installed runtime skill, reports the three states — installed < bundled (upgrade available), installed > bundled (back-port candidate), installed == bundled but content differs (local customization) — in the canon-doctor PASS/WARN/FAIL shape with a one-line fleet-readable verdict. Step 4's per-skill overwrite prompt calls the same comparison, so the warning arrives at the moment of decision, not after. Deliberately scoped to add-orchestrator's own bundle and stateless (no new on-disk registry). Plugin-framework-wide version filed as a follow-up. add-orchestrator 1.20 -> 1.22 (skips 1.21, reserved for open PR #9); agent-dev plugin 1.14.0 -> 1.14.2 (skips 1.14.1, reserved for #9). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
vybe
added a commit
that referenced
this pull request
Aug 17, 2026
…ode + overwrite-prompt wiring (#8) (#13) Re-running /add-orchestrator offered overwrite/skip/cancel per skill with no version comparison, no diff, and no detection of local customization. Two real failures came from that: a hand-written routing directive that a plain overwrite would have silently destroyed, and two skills sitting ahead of the bundle for weeks with nothing comparing the two directions (#5). Add a read-only `--check` mode that, per installed runtime skill, reports the three states — installed < bundled (upgrade available), installed > bundled (back-port candidate), installed == bundled but content differs (local customization) — in the canon-doctor PASS/WARN/FAIL shape with a one-line fleet-readable verdict. Step 4's per-skill overwrite prompt calls the same comparison, so the warning arrives at the moment of decision, not after. Deliberately scoped to add-orchestrator's own bundle and stateless (no new on-disk registry). Plugin-framework-wide version filed as a follow-up. add-orchestrator 1.20 -> 1.22 (skips 1.21, reserved for open PR #9); agent-dev plugin 1.14.0 -> 1.14.2 (skips 1.14.1, reserved for #9). Co-authored-by: Trinity PM Agent <trinity-pm@abilityai.dev> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
vybe
pushed a commit
that referenced
this pull request
Aug 17, 2026
#5) Second half of the #5 back-port, on top of the sync-fleet-to-head commit. profile-fleet 1.4 → 1.6 (from Abilityai/corbin-internal@c8dfad4): - v1.5 autonomy-toggle cross-check in Step 3 (enabled schedules + autonomy_enabled:false = silent no-op) — grants get_schedule_executions to keep allowed-tools ↔ body aligned - v1.6 --autonomous run mode (per-skill; convention tracked in #6) Universalized, not swapped: dropped the corbin Step 0 refresh_workspace.sh; re-homed the autonomous correction queue from corbin's fleet-gap-analysis/status.yaml onto the bundle's own /fleet-reconcile convention (.claude/skills/profile-fleet/status.yaml, which fleet-reconcile already globs). Kept generic teammate/example/self-reference text. Bundle mechanics: - add-orchestrator SKILL.md 1.20 → 1.23 (takes 1.23 above the in-flight 1.21 for PR #7/#9 and 1.22 for issue #8; changelog prepended) - agent-dev plugin 1.14.0 → 1.14.3 Gates: fence integrity even, name≡directory, plugin.json valid, secret scan clean, no corbin-specific strings in either skill body. Refs #5 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
vybe
added a commit
that referenced
this pull request
Aug 17, 2026
… & profile-fleet (#5) (#10) * back-port(sync-fleet-to-head): 1.0 → 1.4 — universalized field-hardening (#5) Back-ports the generalizable v1.1–1.4 deltas from the production orchestrator's deployed copy (Abilityai/corbin-internal@c8dfad4) into the add-orchestrator bundle template: - v1.1 get_git_sync_state post-pull cache-lag note - v1.2 two 409 subtypes (unstaged vs unmerged files) - v1.3 400 submodule-fetch Error Recovery row - v1.4 --autonomous run mode (per-skill; convention tracked in #6) Universalized/dropped the corbin-specific scaffolding: the Step 0 refresh_workspace.sh call, the o.nikitin/k.sivak teammate names, the corbin fleet example table, the ref:-only trinity_name narrowing, and the corbin-20 self-reference. Changelog is append-only. Refs #5 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * back-port(profile-fleet): 1.4 → 1.6 + bundle mechanics — universalized (#5) Second half of the #5 back-port, on top of the sync-fleet-to-head commit. profile-fleet 1.4 → 1.6 (from Abilityai/corbin-internal@c8dfad4): - v1.5 autonomy-toggle cross-check in Step 3 (enabled schedules + autonomy_enabled:false = silent no-op) — grants get_schedule_executions to keep allowed-tools ↔ body aligned - v1.6 --autonomous run mode (per-skill; convention tracked in #6) Universalized, not swapped: dropped the corbin Step 0 refresh_workspace.sh; re-homed the autonomous correction queue from corbin's fleet-gap-analysis/status.yaml onto the bundle's own /fleet-reconcile convention (.claude/skills/profile-fleet/status.yaml, which fleet-reconcile already globs). Kept generic teammate/example/self-reference text. Bundle mechanics: - add-orchestrator SKILL.md 1.20 → 1.23 (takes 1.23 above the in-flight 1.21 for PR #7/#9 and 1.22 for issue #8; changelog prepended) - agent-dev plugin 1.14.0 → 1.14.3 Gates: fence integrity even, name≡directory, plugin.json valid, secret scan clean, no corbin-specific strings in either skill body. Refs #5 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Trinity Agent (trinity-pm) <trinity-pm@ability.ai> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
vybe
pushed a commit
that referenced
this pull request
Aug 17, 2026
) Promote --autonomous from the per-skill patches back-ported in #5 (sync-fleet-to-head v1.4, profile-fleet v1.6) to a documented bundle-wide/marketplace-wide run-mode convention. New "Run-mode convention — --autonomous for gated skills on crons" section in add-orchestrator SKILL.md is the canonical contract the per-skill instances now point at: mode from $ARGUMENTS never caller prose; never call AskUserQuestion; take the safe default at each gate; never take a destructive/irreversible path a gate protected; a non-trivial decision becomes a needs-attention line, not a guess. The earning invariant: every below-the-gate action is non-destructive by construction. Enforcement is mechanical: /audit-wizards flags any automation: gated skill listed in a schedules: block without a declared autonomous mode (the check that would have caught ruby's /video-intake). add-orchestrator 1.20 -> 1.24, agent-dev plugin 1.14.0 -> 1.14.4 (above the in-flight #9/#8/#5 numbers to avoid collision). Closes #6 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
vybe
added a commit
that referenced
this pull request
Aug 17, 2026
) (#14) Promote --autonomous from the per-skill patches back-ported in #5 (sync-fleet-to-head v1.4, profile-fleet v1.6) to a documented bundle-wide/marketplace-wide run-mode convention. New "Run-mode convention — --autonomous for gated skills on crons" section in add-orchestrator SKILL.md is the canonical contract the per-skill instances now point at: mode from $ARGUMENTS never caller prose; never call AskUserQuestion; take the safe default at each gate; never take a destructive/irreversible path a gate protected; a non-trivial decision becomes a needs-attention line, not a guess. The earning invariant: every below-the-gate action is non-destructive by construction. Enforcement is mechanical: /audit-wizards flags any automation: gated skill listed in a schedules: block without a declared autonomous mode (the check that would have caught ruby's /video-intake). add-orchestrator 1.20 -> 1.24, agent-dev plugin 1.14.0 -> 1.14.4 (above the in-flight #9/#8/#5 numbers to avoid collision). Closes #6 Co-authored-by: Trinity PM Agent <trinity-pm@abilityai.dev> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the two concrete grant-vs-body drift fixes in issue #7. Minimal, per Eugene's ruling (adopt with minimal necessary changes; deliver as a PR).
What changed
discover-agentsv1.7→1.8 — addmcp__trinity__reporttoallowed-tools. The Step 7fleet_scanreport call was already in the body but absent from the grant, so under tool-enforcement the report silently never published (the guard swallowed the tool-not-found error). Grant now matches the body.orchestratev1.13→1.14 — drop the three vestigial schedule tools (create_agent_schedule/delete_agent_schedule/list_agent_schedules). Zero positive body usage remains since the v1.7 watchdog moved fully toset_reminder/cancel_reminder(the only surviving mention is the negative "no schedule litter, no delete_agent_schedule"). Least-privilege trim.add-orchestrator1.20→1.21;agent-devplugin 1.14.0→1.14.1; changelogs prepended on all three.Both are hygiene fixes with no behaviour change where the tool was already effectively permitted.
Deliberately left out (to keep it minimal)
/audit-wizardsand/test-wizard), not one small script, and allowed-tools drifts from skill body when mechanism changes — add a deterministic lint gate; fix discover-agents (mcp__trinity__report), trim orchestrate's vestigial schedule tools #7's defect fix should not wait behind it. Tracked as a follow-up.Verification
Deterministic gates checked on the changed files: fence integrity (even), valid
plugin.json, secret scan clean.Refs #7