@lannguyensi/harness 0.42.0 → 0.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -0
- package/dist/cli/approve/branch-protection.js +1 -1
- package/dist/cli/approve/branch-protection.js.map +1 -1
- package/dist/cli/dry-run.js +19 -1
- package/dist/cli/dry-run.js.map +1 -1
- package/dist/cli/index.js +4 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/composer.js +6 -6
- package/dist/cli/init/composer.js.map +1 -1
- package/dist/cli/init/profiles.d.ts +1 -1
- package/dist/cli/init/profiles.js +1 -1
- package/dist/cli/init/templates.d.ts +1 -1
- package/dist/cli/init/templates.js +53 -31
- package/dist/cli/init/templates.js.map +1 -1
- package/dist/cli/pack/hook-branch-protection.js +1 -1
- package/dist/cli/pack/hook-branch-protection.js.map +1 -1
- package/dist/cli/pack/hook-post-merge-gate.js +43 -25
- package/dist/cli/pack/hook-post-merge-gate.js.map +1 -1
- package/dist/cli/pack/hook-solution-acceptance-writeguard.js +1 -1
- package/dist/cli/pack/hook-solution-acceptance-writeguard.js.map +1 -1
- package/dist/cli/pack/hook-solution-acceptance.js +1 -1
- package/dist/cli/pack/hook-solution-acceptance.js.map +1 -1
- package/dist/cli/policy/intercept.js +209 -14
- package/dist/cli/policy/intercept.js.map +1 -1
- package/dist/cli/validate/checks.js +2 -2
- package/dist/cli/validate/checks.js.map +1 -1
- package/dist/policy-packs/builtin/branch-protection-runtime.d.ts +1 -1
- package/dist/policy-packs/builtin/branch-protection-runtime.js +1 -1
- package/dist/policy-packs/builtin/branch-protection.js +2 -2
- package/dist/policy-packs/builtin/branch-protection.js.map +1 -1
- package/dist/policy-packs/builtin/post-merge-gate-runtime.d.ts +90 -10
- package/dist/policy-packs/builtin/post-merge-gate-runtime.js +112 -16
- package/dist/policy-packs/builtin/post-merge-gate-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/post-merge-gate.js +40 -23
- package/dist/policy-packs/builtin/post-merge-gate.js.map +1 -1
- package/dist/policy-packs/builtin/solution-acceptance-runtime.d.ts +13 -0
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js +15 -2
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/solution-acceptance.js +1 -1
- package/dist/runtime/bash-match-facts.d.ts +58 -0
- package/dist/runtime/bash-match-facts.js +194 -0
- package/dist/runtime/bash-match-facts.js.map +1 -0
- package/dist/runtime/bash-match-registry.d.ts +75 -0
- package/dist/runtime/bash-match-registry.js +359 -0
- package/dist/runtime/bash-match-registry.js.map +1 -0
- package/dist/runtime/bash-prefix-parse.js +23 -0
- package/dist/runtime/bash-prefix-parse.js.map +1 -1
- package/dist/runtime/command-normalize.d.ts +405 -0
- package/dist/runtime/command-normalize.js +1888 -0
- package/dist/runtime/command-normalize.js.map +1 -0
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.js +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/intercept.d.ts +208 -2
- package/dist/runtime/intercept.js +437 -28
- package/dist/runtime/intercept.js.map +1 -1
- package/dist/runtime/read-only-bash.d.ts +43 -0
- package/dist/runtime/read-only-bash.js +73 -10
- package/dist/runtime/read-only-bash.js.map +1 -1
- package/dist/runtime/shell-word.d.ts +21 -0
- package/dist/runtime/shell-word.js +242 -0
- package/dist/runtime/shell-word.js.map +1 -0
- package/dist/schema/policies.js +1 -1
- package/dist/schema/policies.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-normalize.js","sourceRoot":"","sources":["../../src/runtime/command-normalize.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { intercept, policyMatchesEvent, type ClaudeDenyJson, type InterceptOptions, type InterceptResult, type LedgerClient, type PolicyDecision, type PolicyOutcome, type RiskGateContext, type ToolEvent, } from "./intercept.js";
|
|
1
|
+
export { attributeTriggerSegments, intercept, policyMatchesEvent, type ClaudeDenyJson, type InterceptOptions, type InterceptResult, type LedgerClient, type PolicyDecision, type PolicyOutcome, type RiskGateContext, type ToolEvent, } from "./intercept.js";
|
|
2
2
|
export { evaluateWhen, type WhenClauseKey, type WhenClauseResult, type WhenContext, type WhenEvaluation, } from "./when-eval.js";
|
|
3
3
|
export { recordPolicyDecision, recordPolicyDecisionOnSession, payloadFromDecision, encodeLedgerContent, decodeLedgerContent, decisionSortKey, type LedgerRecordOptions, type PolicyDecisionPayload, } from "./ledger-record.js";
|
|
4
4
|
export { resolveSessionId } from "./session-id.js";
|
package/dist/runtime/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { intercept, policyMatchesEvent, } from "./intercept.js";
|
|
1
|
+
export { attributeTriggerSegments, intercept, policyMatchesEvent, } from "./intercept.js";
|
|
2
2
|
export { evaluateWhen, } from "./when-eval.js";
|
|
3
3
|
export { recordPolicyDecision, recordPolicyDecisionOnSession, payloadFromDecision, encodeLedgerContent, decodeLedgerContent, decisionSortKey, } from "./ledger-record.js";
|
|
4
4
|
export { resolveSessionId } from "./session-id.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,kBAAkB,GASnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,GAKb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,GAElB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAuB,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,mBAAmB,GAKpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,GAGb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,GAGnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,GAInB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,aAAa,GAGd,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,SAAS,EACT,kBAAkB,GASnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,GAKb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,GAElB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAuB,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,mBAAmB,GAKpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,YAAY,GAGb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,GAGnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,GAInB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,aAAa,GAGd,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type ExtractBuiltins, type LedgerQueryResult } from "../policies/index.js";
|
|
2
2
|
import type { Manifest, Policy } from "../schema/index.js";
|
|
3
|
+
import { type AmpAwareNormalizedCommand, type CommandSegment, type NormalizedCommand } from "./command-normalize.js";
|
|
3
4
|
import { type EnvironmentResolution } from "./environment-resolver.js";
|
|
4
|
-
import type
|
|
5
|
+
import { type GitRepoContext } from "./git-context.js";
|
|
5
6
|
import { type RiskProfile } from "./risk-classifier.js";
|
|
6
7
|
export interface ToolEvent {
|
|
7
8
|
hook_event_name?: string;
|
|
@@ -130,6 +131,131 @@ export interface InterceptOptions {
|
|
|
130
131
|
* policy never reads any of this regardless (see `intercept`).
|
|
131
132
|
*/
|
|
132
133
|
riskContext?: RiskGateContext;
|
|
134
|
+
/**
|
|
135
|
+
* Precomputed `NormalizedCommand` for a Bash event's
|
|
136
|
+
* `tool_input.command`. `runInterceptCli` already calls
|
|
137
|
+
* `normalizeCommand` once (for `bash_match` trigger normalisation);
|
|
138
|
+
* threading the SAME result in here lets `policyMatchesEvent` reuse it
|
|
139
|
+
* for every policy in the `matching` loop below instead of recomputing
|
|
140
|
+
* it — same resolved-by-the-wrapper pattern as `currentHeadSha`,
|
|
141
|
+
* `builtins`, and `riskContext`. Optional: omitted by non-Bash events
|
|
142
|
+
* and by callers/tests that don't supply one, in which case
|
|
143
|
+
* `policyMatchesEvent` computes it lazily per policy (correct, just
|
|
144
|
+
* not de-duplicated).
|
|
145
|
+
*
|
|
146
|
+
* INVARIANT: this is NOT checked against `event` at runtime — nothing
|
|
147
|
+
* verifies the `NormalizedCommand`
|
|
148
|
+
* passed in was actually derived from THIS event's own
|
|
149
|
+
* `tool_input.command`. Safe today because there is exactly one
|
|
150
|
+
* production caller (`runInterceptCli`, `src/cli/policy/intercept.ts`),
|
|
151
|
+
* which computes it from the SAME `event` it then passes to
|
|
152
|
+
* `intercept()`. A future second caller that threads a mismatched
|
|
153
|
+
* `NormalizedCommand` (e.g. reused across two different events) would
|
|
154
|
+
* silently apply the wrong command's `bash_match` normalisation with
|
|
155
|
+
* no error — keep this pairing manual-but-obvious at every call site
|
|
156
|
+
* rather than assuming it self-enforces.
|
|
157
|
+
*/
|
|
158
|
+
normalizedCommand?: NormalizedCommand;
|
|
159
|
+
/**
|
|
160
|
+
* Memoised thunk resolving the ampersand-aware SECOND normalisation
|
|
161
|
+
* pass for the SAME Bash event's `tool_input.command` (task aabbad63,
|
|
162
|
+
* `src/runtime/command-normalize.ts`'s `normalizeCommandAmpAware`).
|
|
163
|
+
* `policyMatchesEvent`'s third arm calls this ONLY when a policy's
|
|
164
|
+
* regex has already missed BOTH the raw command and `normalizedCommand`
|
|
165
|
+
* above — most events never reach it. Threaded as a THUNK rather than
|
|
166
|
+
* a precomputed value (unlike `normalizedCommand`) specifically so that
|
|
167
|
+
* "compute at most once per event" can be achieved WITHOUT paying the
|
|
168
|
+
* cost on the common (already-matched) path: `runInterceptCli`
|
|
169
|
+
* constructs one self-memoising closure per event and hands it here;
|
|
170
|
+
* every policy in the `matching` loop below that still needs the amp
|
|
171
|
+
* form calls the SAME thunk, and only the FIRST such call does the
|
|
172
|
+
* actual work.
|
|
173
|
+
*
|
|
174
|
+
* Optional: omitted by non-Bash events and by callers/tests that don't
|
|
175
|
+
* supply one, in which case `policyMatchesEvent` falls back to calling
|
|
176
|
+
* `normalizeCommandAmpAware` directly per policy (correct, just not
|
|
177
|
+
* de-duplicated) — the same fallback shape `normalizedCommand` already
|
|
178
|
+
* has.
|
|
179
|
+
*
|
|
180
|
+
* SAME INVARIANT as `normalizedCommand` above: this is NOT checked
|
|
181
|
+
* against `event` at runtime. Nothing verifies the thunk passed in was
|
|
182
|
+
* actually derived from THIS event's own `tool_input.command`. Safe
|
|
183
|
+
* today because there is exactly one production caller
|
|
184
|
+
* (`runInterceptCli`), which builds the thunk from the SAME `event` it
|
|
185
|
+
* then passes to `intercept()` — keep this pairing manual-but-obvious
|
|
186
|
+
* at every call site rather than assuming it self-enforces.
|
|
187
|
+
*/
|
|
188
|
+
ampNormalizedCommandThunk?: () => AmpAwareNormalizedCommand;
|
|
189
|
+
/**
|
|
190
|
+
* Precomputed per-segment view (`command-normalize.ts`'s
|
|
191
|
+
* `segmentViewOf`) of a Bash event's `tool_input.command`, EAGERLY
|
|
192
|
+
* supplied (task `98ad072f`, T-003). `null` mirrors `segmentViewOf`'s
|
|
193
|
+
* own contract: the command exceeded `MAX_NORMALIZE_LENGTH`, so no
|
|
194
|
+
* segment view exists (treated as `[]` — unattributable, cwd builtins,
|
|
195
|
+
* identical to a command with no `bash_match` trigger at all).
|
|
196
|
+
*
|
|
197
|
+
* CORRECTED (D-015, fix round, run 2026-08-02-per-repo-gate-scoping-
|
|
198
|
+
* redesign): the prior wording here claimed a manifest with no
|
|
199
|
+
* `${REPO}`/`${BRANCH}`/`at_head` policy "never pays this cost even
|
|
200
|
+
* when uninjected" — true only for a caller that omits BOTH this field
|
|
201
|
+
* AND `commandSegmentsThunk` below. The one production caller
|
|
202
|
+
* (`runInterceptCli`) previously injected THIS field eagerly, computed
|
|
203
|
+
* unconditionally for every Bash event regardless of whether any policy
|
|
204
|
+
* needed it — measured a real, avoidable second segmentation walk (see
|
|
205
|
+
* `segmentViewOf`'s own doc comment in `command-normalize.ts` for the
|
|
206
|
+
* +206% number). It now injects `commandSegmentsThunk` instead, which
|
|
207
|
+
* IS deferred until first use. This eager field still exists for a
|
|
208
|
+
* caller that already has a segment view in hand (or a test asserting
|
|
209
|
+
* against a specific one) and wants to skip `intercept()`'s own lazy
|
|
210
|
+
* resolution entirely — it is simply not, by itself, a laziness
|
|
211
|
+
* guarantee. Optional: omitted by non-Bash events and by callers/tests
|
|
212
|
+
* that don't supply one, in which case `resolveCommandSegments` falls
|
|
213
|
+
* through to `commandSegmentsThunk`, then to computing it lazily itself.
|
|
214
|
+
*
|
|
215
|
+
* SAME INVARIANT as `normalizedCommand` / `ampNormalizedCommandThunk`
|
|
216
|
+
* above: not checked against `event` at runtime; the one production
|
|
217
|
+
* caller derives it from the identical event, same as those two.
|
|
218
|
+
*/
|
|
219
|
+
commandSegments?: CommandSegment[] | null;
|
|
220
|
+
/**
|
|
221
|
+
* Memoised thunk resolving the per-segment view (task `98ad072f`,
|
|
222
|
+
* T-003; D-015 fix round) — the SAME resolved-by-the-wrapper,
|
|
223
|
+
* compute-at-most-once-per-event pattern `ampNormalizedCommandThunk`
|
|
224
|
+
* above already uses, applied to `commandSegments` so the segmentation
|
|
225
|
+
* walk it wraps is deferred until some matching policy actually needs
|
|
226
|
+
* it (`usesPerRepoBuiltins` below), not paid on every Bash event
|
|
227
|
+
* regardless. Preferred over the eager `commandSegments` field above
|
|
228
|
+
* when both are supplied. Optional: omitted by non-Bash events and by
|
|
229
|
+
* callers/tests that don't supply one, in which case
|
|
230
|
+
* `resolveCommandSegments` falls back to `commandSegments`, then to
|
|
231
|
+
* computing it lazily itself — same fallback chain shape as
|
|
232
|
+
* `normalizedCommand` / `ampNormalizedCommandThunk`.
|
|
233
|
+
*
|
|
234
|
+
* SAME INVARIANT as `normalizedCommand` / `ampNormalizedCommandThunk`
|
|
235
|
+
* above: not checked against `event` at runtime.
|
|
236
|
+
*/
|
|
237
|
+
commandSegmentsThunk?: () => CommandSegment[] | null;
|
|
238
|
+
/**
|
|
239
|
+
* Whether `options.builtins.REPO` / `.BRANCH` were set by an explicit
|
|
240
|
+
* operator override (`HARNESS_REPO` / `HARNESS_BRANCH` env vars) rather
|
|
241
|
+
* than derived from the cwd's git context (D-015 fix round, run
|
|
242
|
+
* 2026-08-02-per-repo-gate-scoping-redesign). `src/cli/policy/
|
|
243
|
+
* intercept.ts`'s own comment on its `builtins` object says "an
|
|
244
|
+
* explicit env var still wins" — true for the cwd context, but a
|
|
245
|
+
* per-policy ATTRIBUTED context (a foreign target's resolved
|
|
246
|
+
* `${REPO}`/`${BRANCH}`) unconditionally overwrote REPO/BRANCH with the
|
|
247
|
+
* target repo's own identity, discarding the override — measured.
|
|
248
|
+
* When true here, `resolveAttributedContexts` keeps
|
|
249
|
+
* `options.builtins.REPO` (already the override value — see the CLI
|
|
250
|
+
* wrapper) instead of substituting the attributed target's own repo
|
|
251
|
+
* name; independently for BRANCH via `branchOverridden`. `false` /
|
|
252
|
+
* absent — the default for every caller that does not set this,
|
|
253
|
+
* including every existing test — when the corresponding builtin was
|
|
254
|
+
* derived, not overridden.
|
|
255
|
+
*/
|
|
256
|
+
repoOverridden?: boolean;
|
|
257
|
+
/** See `repoOverridden` above; the same override for `${BRANCH}`. */
|
|
258
|
+
branchOverridden?: boolean;
|
|
133
259
|
/**
|
|
134
260
|
* Destination for audit-write failure diagnostics. Defaults to
|
|
135
261
|
* `process.stderr` when omitted. Goes to stderr so Claude Code's
|
|
@@ -167,6 +293,86 @@ export interface RiskGateContext {
|
|
|
167
293
|
* evaluated separately (`evaluateWhen`). A policy fires only when both
|
|
168
294
|
* hold. Exported so `harness explain-policy` can report the trigger
|
|
169
295
|
* verdict on its own.
|
|
296
|
+
*
|
|
297
|
+
* `precomputedNormalizedCommand` is an optional caller-supplied
|
|
298
|
+
* `NormalizedCommand` for the event's command: `intercept()` below
|
|
299
|
+
* resolves ONE `NormalizedCommand` per event (via
|
|
300
|
+
* `options.normalizedCommand`, itself computed once by
|
|
301
|
+
* `runInterceptCli`) and threads it into every `policyMatchesEvent`
|
|
302
|
+
* call in its `matching` loop, so a raw-miss event normalises the
|
|
303
|
+
* command exactly ONCE across the whole manifest instead of once per
|
|
304
|
+
* policy. Omitted by standalone callers (`harness explain-policy`, most
|
|
305
|
+
* tests), which fall back to computing it lazily right here — correct
|
|
306
|
+
* either way, since `normalizeCommand` is a pure function of the
|
|
307
|
+
* command string alone.
|
|
308
|
+
*
|
|
309
|
+
* `ampNormalizedCommandThunk` (task aabbad63) is the SAME
|
|
310
|
+
* resolved-by-the-wrapper pattern for the ampersand-aware SECOND
|
|
311
|
+
* normalisation pass, but threaded as a memoised THUNK rather than a
|
|
312
|
+
* precomputed value — see `InterceptOptions.ampNormalizedCommandThunk`
|
|
313
|
+
* for why laziness matters here specifically. Omitted callers fall back
|
|
314
|
+
* to calling `normalizeCommandAmpAware` directly, same shape as the
|
|
315
|
+
* `precomputedNormalizedCommand` fallback above.
|
|
316
|
+
*/
|
|
317
|
+
export declare function policyMatchesEvent(policy: Policy, event: ToolEvent, precomputedNormalizedCommand?: NormalizedCommand, ampNormalizedCommandThunk?: () => AmpAwareNormalizedCommand): boolean;
|
|
318
|
+
/**
|
|
319
|
+
* Which of a policy's own trigger-satisfying segments name a target — the
|
|
320
|
+
* attribution sibling of `policyMatchesEvent` (task `98ad072f`, T-003).
|
|
321
|
+
* Re-tests the policy's OWN `bash_match` regex against each segment's
|
|
322
|
+
* `text` in isolation: every shipped `bash_match` alternation includes a
|
|
323
|
+
* `^` branch, so testing it against one segment's canonicalised text
|
|
324
|
+
* alone (no leading boundary character — see `CommandSegment.text`'s own
|
|
325
|
+
* doc comment) is well-defined. Returns every segment that matches on its
|
|
326
|
+
* own — usually one, occasionally several (D-004: a decoy read and a cwd
|
|
327
|
+
* read chained in one command can each independently satisfy the SAME
|
|
328
|
+
* trigger).
|
|
329
|
+
*
|
|
330
|
+
* Never changes WHETHER a policy matches — `policyMatchesEvent` already
|
|
331
|
+
* decided that from the WHOLE command (raw-or-normalised-or-amp-
|
|
332
|
+
* normalised), unchanged by this function. This only narrows down WHICH
|
|
333
|
+
* segment(s), if any, are individually responsible for the match, so
|
|
334
|
+
* `intercept()` below knows which segment's target — if any — to resolve
|
|
335
|
+
* the `${REPO}`/`${BRANCH}`/`currentHeadSha` builtins from instead of the
|
|
336
|
+
* event's own cwd. `[]` when the policy has no `bash_match` trigger (an
|
|
337
|
+
* MCP-tool-name-triggered policy — no segment concept applies), when its
|
|
338
|
+
* regex is malformed (mirrors `policyMatchesEvent`'s own defensive
|
|
339
|
+
* `try/catch`), or when the whole-command match came ONLY from the
|
|
340
|
+
* ampersand-aware third arm: `segments` here is always built from the
|
|
341
|
+
* PRIMARY (`BOUNDARY_RE`) segmentation, which — by construction — cannot
|
|
342
|
+
* itself contain the bare-`&` split the amp arm relies on, so an amp-
|
|
343
|
+
* only match finds no individually-matching segment and this returns
|
|
344
|
+
* `[]` (D-003: cwd builtins, identical to shipped).
|
|
345
|
+
*/
|
|
346
|
+
export declare function attributeTriggerSegments(policy: Policy, segments: readonly CommandSegment[]): CommandSegment[];
|
|
347
|
+
/** One `${REPO}`/`${BRANCH}`/`currentHeadSha` context a policy is evaluated against. */
|
|
348
|
+
interface AttributedContext {
|
|
349
|
+
builtins: ExtractBuiltins;
|
|
350
|
+
currentHeadSha: string | undefined;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Bound on the number of DISTINCT attributed contexts one policy is
|
|
354
|
+
* evaluated against for one event (D-013, fix round, run
|
|
355
|
+
* 2026-08-02-per-repo-gate-scoping-redesign). Each distinct context costs
|
|
356
|
+
* one ledger query and one audit write in `intercept()`'s evaluation loop
|
|
357
|
+
* below; on a manifest with several per-repo-builtins policies (the
|
|
358
|
+
* shipped `FULL_TEMPLATE` has four), an event naming K distinct targets
|
|
359
|
+
* amplifies to 4K queries/writes, unbounded by `MAX_NORMALIZE_LENGTH` —
|
|
360
|
+
* measured 200/200 at K=200 by reviewer 2, on a hook budget whose timeout
|
|
361
|
+
* is ALLOW (same class as the 07-27 quadratic hot-path fail-open: a slow
|
|
362
|
+
* enough event silently passes). `resolveAttributedContexts` returns a
|
|
363
|
+
* `"bounded"` result instead of a `contexts` array once a policy's DISTINCT
|
|
364
|
+
* targets would exceed this constant; `intercept()` denies that policy
|
|
365
|
+
* directly (naming the ambiguity) without querying the ledger for any of
|
|
366
|
+
* them, rather than silently evaluating all of them.
|
|
170
367
|
*/
|
|
171
|
-
export declare
|
|
368
|
+
export declare const MAX_ATTRIBUTED_CONTEXTS = 4;
|
|
369
|
+
/** Discriminated result of `resolveAttributedContexts` (D-013). */
|
|
370
|
+
export type AttributedContextsResult = {
|
|
371
|
+
kind: "contexts";
|
|
372
|
+
contexts: AttributedContext[];
|
|
373
|
+
} | {
|
|
374
|
+
kind: "bounded";
|
|
375
|
+
distinctCount: number;
|
|
376
|
+
};
|
|
172
377
|
export declare function intercept(options: InterceptOptions): Promise<InterceptResult>;
|
|
378
|
+
export {};
|