@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.
Files changed (65) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/dist/cli/approve/branch-protection.js +1 -1
  3. package/dist/cli/approve/branch-protection.js.map +1 -1
  4. package/dist/cli/dry-run.js +19 -1
  5. package/dist/cli/dry-run.js.map +1 -1
  6. package/dist/cli/index.js +4 -3
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/cli/init/composer.js +6 -6
  9. package/dist/cli/init/composer.js.map +1 -1
  10. package/dist/cli/init/profiles.d.ts +1 -1
  11. package/dist/cli/init/profiles.js +1 -1
  12. package/dist/cli/init/templates.d.ts +1 -1
  13. package/dist/cli/init/templates.js +53 -31
  14. package/dist/cli/init/templates.js.map +1 -1
  15. package/dist/cli/pack/hook-branch-protection.js +1 -1
  16. package/dist/cli/pack/hook-branch-protection.js.map +1 -1
  17. package/dist/cli/pack/hook-post-merge-gate.js +43 -25
  18. package/dist/cli/pack/hook-post-merge-gate.js.map +1 -1
  19. package/dist/cli/pack/hook-solution-acceptance-writeguard.js +1 -1
  20. package/dist/cli/pack/hook-solution-acceptance-writeguard.js.map +1 -1
  21. package/dist/cli/pack/hook-solution-acceptance.js +1 -1
  22. package/dist/cli/pack/hook-solution-acceptance.js.map +1 -1
  23. package/dist/cli/policy/intercept.js +209 -14
  24. package/dist/cli/policy/intercept.js.map +1 -1
  25. package/dist/cli/validate/checks.js +2 -2
  26. package/dist/cli/validate/checks.js.map +1 -1
  27. package/dist/policy-packs/builtin/branch-protection-runtime.d.ts +1 -1
  28. package/dist/policy-packs/builtin/branch-protection-runtime.js +1 -1
  29. package/dist/policy-packs/builtin/branch-protection.js +2 -2
  30. package/dist/policy-packs/builtin/branch-protection.js.map +1 -1
  31. package/dist/policy-packs/builtin/post-merge-gate-runtime.d.ts +90 -10
  32. package/dist/policy-packs/builtin/post-merge-gate-runtime.js +112 -16
  33. package/dist/policy-packs/builtin/post-merge-gate-runtime.js.map +1 -1
  34. package/dist/policy-packs/builtin/post-merge-gate.js +40 -23
  35. package/dist/policy-packs/builtin/post-merge-gate.js.map +1 -1
  36. package/dist/policy-packs/builtin/solution-acceptance-runtime.d.ts +13 -0
  37. package/dist/policy-packs/builtin/solution-acceptance-runtime.js +15 -2
  38. package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +1 -1
  39. package/dist/policy-packs/builtin/solution-acceptance.js +1 -1
  40. package/dist/runtime/bash-match-facts.d.ts +58 -0
  41. package/dist/runtime/bash-match-facts.js +194 -0
  42. package/dist/runtime/bash-match-facts.js.map +1 -0
  43. package/dist/runtime/bash-match-registry.d.ts +75 -0
  44. package/dist/runtime/bash-match-registry.js +359 -0
  45. package/dist/runtime/bash-match-registry.js.map +1 -0
  46. package/dist/runtime/bash-prefix-parse.js +23 -0
  47. package/dist/runtime/bash-prefix-parse.js.map +1 -1
  48. package/dist/runtime/command-normalize.d.ts +405 -0
  49. package/dist/runtime/command-normalize.js +1888 -0
  50. package/dist/runtime/command-normalize.js.map +1 -0
  51. package/dist/runtime/index.d.ts +1 -1
  52. package/dist/runtime/index.js +1 -1
  53. package/dist/runtime/index.js.map +1 -1
  54. package/dist/runtime/intercept.d.ts +208 -2
  55. package/dist/runtime/intercept.js +437 -28
  56. package/dist/runtime/intercept.js.map +1 -1
  57. package/dist/runtime/read-only-bash.d.ts +43 -0
  58. package/dist/runtime/read-only-bash.js +73 -10
  59. package/dist/runtime/read-only-bash.js.map +1 -1
  60. package/dist/runtime/shell-word.d.ts +21 -0
  61. package/dist/runtime/shell-word.js +242 -0
  62. package/dist/runtime/shell-word.js.map +1 -0
  63. package/dist/schema/policies.js +1 -1
  64. package/dist/schema/policies.js.map +1 -1
  65. 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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"}
@@ -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";
@@ -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 { GitRepoContext } from "./git-context.js";
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 function policyMatchesEvent(policy: Policy, event: ToolEvent): boolean;
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 {};