spacehub

surshar / claude-code

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

Built by Anthropic · github.com/anthropics

sec-default: the README and one doc comment say what the batch fix changedBrowse files
poteat authored 24 days ago parent 96eed3f · commit 2b52422be44d
2 changed files+8 -6compared with 96eed3f
Mmods/sec-default/README.md
Mmods/sec-default/hooks/held-verdict/caught-answer.ts
@@ -60,8 +60,8 @@
6060 - The hook first runs the chain as it is. If the answer is a deny, or no
6161 link that may hold a person's plugin answered more permissively than the
6262 verdict handed up to it, the answer passes: nothing of the person's
63- loosened anything, and a plugin that only listens costs nothing more. This
64- is read off `next.trace`, whose tiers the engine pins: a link that never
63+ loosened anything, and a plugin that only listens adds no run of its own.
64+ This is read off `next.trace`, whose tiers the engine pins: a link that never
6565 called `next` is measured against a deny, and since the engine lists
6666 neighbouring plugins that share a worker as one batch under its first
6767 member's tier, a `prepend` entry beneath this plugin counts as well as a
@@ -78,13 +78,15 @@
7878 carries the rule as written, never where it was read from. A deny that
7979 names no rule (a settings hook's, a tool's own check) is not held.
8080 - An organization's plugin (prepend or append) or a built-in that allows
81- over a deny rule takes part in both runs, so its answer stands. An ask
81+ over a deny rule takes part in both runs, so its answer stands (a prepended
82+ one that loosens is what brings the second run about, so its hooks run
83+ twice on such a call). An ask
8284 that a person's plugin turns into an allow, with no deny rule behind it,
8385 stands: that is what such a plugin is for.
8486 - `tool.check` pins the question (`tool`, `input`, `tool_use_id`), so no hook
8587 can have the rules evaluated on one command and another run; a rewrite
8688 belongs to `tool.call`, which runs before any of this.
87-- The person is told once for each plugin in a session, in the transcript
89+- The person is told once for each name in a session, in the transcript
8890 and the debug log: `<plugin> tried to lift a deny rule in your settings
8991 from a <tool> call (<rule>); the deny rule holds over the plugins you
9092 install (allowModsToOverrideDenyRules)`. Plugins the engine ran as one
@@ -6,8 +6,8 @@
66 * What the `tool.check` hook's failure handler answers from the one run it
77 * can read, the failed hook's last: that run's verdict, or a refusal.
88 *
9- * A verdict no plugin a person installed loosened stands (a deny, the run
10- * past the user tier). A loosened one, or none at all, met no deny rule.
9+ * A deny stands, and so does a verdict no link that may hold a person's
10+ * plugin loosened. A loosened one, or none at all, met no deny rule.
1111 *
1212 * @param last what that run settled on; undefined when it rejected
1313 * @param trace that run's `next.trace`