chore(crew): the permission floor + kit 1.10.0 crew capabilities - #6
Merged
Conversation
This repo ran with no permission floor, no gates and no worktree enforcement.
All of it lands here.
- `.claude/hooks/dangerous-command-gate.sh`: the permission floor. A PreToolUse
Bash gate wired first in the chain, matching the operation rather than the
spelling — it catches `git -C <path> reset --hard`, `git clean -xdf`,
reordered flags and env prefixes that a `permissions.deny` prefix pattern
walks straight past, and it fires in every permission mode including
bypassPermissions.
- `.claude/settings.json`: the deny list as one readable declarative layer (not
the floor), the ask rules on `gh pr merge` / `gh repo create` / DELETE API,
`worktree.bgIsolation: none`, and `ponytail@ponytail` through the author's
own marketplace.
- `.claude/hooks/`: the rest of the kit set; gate ledger `2026-08-13.1`.
- `.claude/tron-clu-{merge,worktree,pulse}-guard.sh`: byte-identical to the
copies canon carries, wired the same way. Inert until `.tron-clu-active`
exists.
- `.mcp.json`: exa on its keyless hosted path, plus github, chrome-devtools and
playwright.
- `.pi/`: the seven-package pin set and the user-level routing example.
Where the repo carried no `.repo-class` / `.integration-branch`, both are added
here. The class is `app` deliberately: it is the fail-safe of the three, since
only `canon` and `meta` may take the no-PR fast-forward landing. The
integration branch is read from the remote's own default, never assumed.
No PostToolUse hook: there is no lint, typecheck or test command that runs in a
fresh worktree without an install step.
Refs: plan-canon-crew-extensions.md P4, canon principles-base.md §19.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Plan 2 (
plan-canon-crew-extensions.md) phase P4 — the fleet retrofit.This repo ran with no permission floor, no gates and no worktree enforcement. Both land here, in one pass.
What this adds
.claude/hooks/dangerous-command-gate.shBashgate wired first in the chain. It splits the command on;/|/&, normalises each segment and matches the operation, not the spelling — sogit -C <path> reset --hard,git clean -xdf, reordered flags and env prefixes cannot step around it.claude/settings.json→permissionsgh pr merge/gh repo create/ DELETE API.claude/settings.json→ restworktree.bgIsolation: none,ponytail@ponytailthrough the author's own marketplace.claude/hooks/2026-08-13.1.claude/tron-clu-{merge,worktree,pulse}-guard.sh.tron-clu-activemarker exists.mcp.jsonhttps://mcp.exa.ai/mcp), plus github, chrome-devtools and playwright.pi/settings.json+.pi/web-search.example.json.gitignoresettings.local.jsonandhooks/*.local.jsonstay untrackedVerified before opening this PR
filecmp-identical to the kit's, with the executable bits set.--permission-mode bypassPermissionsa realgit -C . reset --hard HEADwas refused by the PreToolUse gate and the uncommitted change survived. That is exactly the case apermissions.denyprefix pattern misses.Known duplicate, not fixed here
This host declares
exa,playwrightandchrome-devtoolsat user scope on different endpoints. Both scopes resolve. Removing the user-scope entries would strip those servers from every repo not yet retrofitted, so it waits until the fleet pass is done.