Skip to content

docs(plans): propose one permission policy across all block layers - #231

Merged
twistedmelonman merged 5 commits into
mainfrom
claude/docs-permission-policy-cbe34707
Oct 28, 2026
Merged

twistedmelonman merged 5 commits into
mainfrom
claude/docs-permission-policy-cbe34707

Conversation

@twistedmelonman

Copy link
Copy Markdown
Member

Summary

A proposal, not an implementation. docs/plans/2026-10-27-permission-policy.md
sets one rule for every blocked action: A (make it work) or B (change the
procedure so it never happens). "Ask Andrew to run it" is not an answer.

  • Evidence: a script read all 413 transcripts. It found 633 blocks since
    2026-10-15: hooks 220 (every affected session), sandbox network 307 rows,
    harness guards 42, sandbox filesystem 37, classifier 15, permission rules 0.
  • Hooks are the largest lever. Allow rules cannot override a hook block.
  • The worktree procedure (EnterWorktree, switch -c, ExitWorktree remove)
    was tested end to end on 2026-10-27.
  • Decisions for Andrew are marked Decide. Follow-up work is listed by
    repo. Nothing is changed outside this repo.

STATUS.md gets a dated 2026-10-27 entry.

Test plan

  • markdownlint clean
  • pre-push full-diff review: PASS

Claude Code Bot added 4 commits October 27, 2026 17:10
An inventory of all 413 session transcripts found 633 blocks since
2026-10-15: hooks 220 (every affected session), sandbox network 307 rows,
harness guards 42, sandbox filesystem 37, classifier 15, permission rules 0.

The plan gives every blocked pattern one answer: A (make it work) or B
(change the procedure so it never happens). "Ask Andrew to run it" is not
an answer. It also records the worktree procedure tested on 2026-10-27
(EnterWorktree, switch -c, ExitWorktree remove), general Edit and autoMode
rules, and the hook changes, which are the largest lever. Decisions are
marked for Andrew. STATUS.md gets a dated entry.
Shared rules go in claude-config settings.json; host-specific paths, defaultMode and autoMode environment text go in each Mac's overlay, generated from a tracked per-host file. --settings arrays concatenate, so the shared file is a floor every machine gets.
fsmonitor off for Claude sessions only (test the settings-env route first); ps added to excludedCommands; the API-credit fallback is working as designed; the settings split is accepted, with a fleet drift audit before it ships.
… fix

ExitWorktree remove only works while the session is still in the worktree it created. Kept worktrees are now removed by a nightly worktree-reaper.sh outside the sandbox (B), and hook-block-enter-worktree.sh must accept path re-entry (A). Corrects the claim that my-repos runs on a schedule; it does not.
@twistedmelonman
twistedmelonman merged commit 1af3d1e into main Oct 28, 2026
5 checks passed
@twistedmelonman
twistedmelonman deleted the claude/docs-permission-policy-cbe34707 branch October 28, 2026 00:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant