Repository navigation
feat(setup): always install vetted-ops and warn when the isolated setup is missing - #1761
Merged
Merged
Conversation
…up is missing A fresh install could stop with "no vetted-ops policy for this repo". Setup runs now report a missing policy as n/a and carry on, without writing one. Every other skill, and a policy that exists but fails to load, still stops. magpie-vetted-ops joins the baseline: it is pre-ticked and cannot be unticked, seeded into the adopted floor, INSTALLED_BY_DEFAULT in the Codex catalogue, and required by every pre-flight even when an older lock omits it. Installing it grants nothing: the read dispatcher's allow rules, sandbox exclusions and Codex native rules are wired only where the sandbox is configured, and verify treats them as a failure without it. In a repository that has adopted Magpie, magpie-setup's session-start hook now warns once per session while the machine has no isolated setup. The warning says what is at stake and tells the user not to point skills at untrusted content. A project can opt out with `isolation_warning: off` in the committed project.md, which adopt asks about; a personal layer cannot opt out. Generated-by: Claude Opus 5
Generated-by: Claude Opus 5
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.
Summary
magpie-vetted-opsis always installed, but bypasses nothing without the sandbox. It joins the baseline (pre-ticked, cannot be unticked), the seeded adoption floor, and the Codex catalogue asINSTALLED_BY_DEFAULT. The pre-flight requires it even when an older lock omits it. Its read-dispatcher allow rules, sandbox exclusions and Codex native rules are wired only where the sandbox is configured, andisolated-setup-verifytreats them as a failure without it.magpie-setup's existingSessionStarthook warns while the machine has no isolated setup. It says trying Magpie needs no isolated setup but longer use does, explains what an injected instruction can do without the sandbox, and warns against pointing skills at untrusted PRs, issues or mail. A project opts out withisolation_warning: offin the committed.apache-magpie-overrides/project.md, whichadoptnow asks about; a personal layer cannot opt out. The key lives there rather than in the lock because the strict lock parser would make older clients reject the lock.Type of change
.claude/skills/<name>/) — eval fixtures updated belowtools/*/withpyproject.toml)docs/,README.md,CONTRIBUTING.md)prek, workflows, validators)Test plan
prek run --all-filespassestools/setup-preflight: pytest, ruff, mypy pass. New tests cover the always-required plugin,configured(), the warning conditions (adopted only, opted out, personal layer cannot opt out, configured) and HOME isolation for every test.preflight-floor(22, incl. newcase-22-floor-omits-vetted-ops),adopt-write-floor,step-adopt-settings-merge,verify-default-set,step-m3-baseline-pick,setup-prefill-from-floor, newstep-vetted-ops-no-policy(4), newadopt-isolation-warning(4),setup-isolated-setup-install(19).step-vetted-ops-no-policy,adopt-isolation-warning,preflight-floor/case-22.upstream/main: about 10 cases in the fullsetupsuite (config-local-custom-parser,step-delegate-propose,uninstall-default-set,upgrade-adoption-split, …) and 5–6 insetup-isolated-setup-verify. They are not touched here.RFC-AI-0004 compliance
Linked issues
Notes for reviewers (optional)
adoption-and-setup,marketplace-distribution,vetted-command-surface).tools/spec-loop/.last-syncis left as is: it was already 32 commits behindmainbefore this change, and bumping it would claim a full sync.sandbox.enabledin the project's or the user's Claude Code settings (setup_preflight.isolated.configured). The hook runs outside the sandbox, so it can read the user settings.🤖 Generated with Claude Code