audit-tools 0.34.29 → 0.34.31

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 (151) hide show
  1. package/README.md +32 -11
  2. package/dist/audit/cli/args.d.ts +2 -2
  3. package/dist/audit/cli/args.d.ts.map +1 -1
  4. package/dist/audit/cli/args.js.map +1 -1
  5. package/dist/audit/cli/dispatch/paths.d.ts.map +1 -1
  6. package/dist/audit/cli/dispatch/paths.js +3 -9
  7. package/dist/audit/cli/dispatch/paths.js.map +1 -1
  8. package/dist/audit/cli/prepareDispatchCommand.d.ts +32 -0
  9. package/dist/audit/cli/prepareDispatchCommand.d.ts.map +1 -1
  10. package/dist/audit/cli/prepareDispatchCommand.js +39 -16
  11. package/dist/audit/cli/prepareDispatchCommand.js.map +1 -1
  12. package/dist/audit/cli/providerConfirmationStep.d.ts.map +1 -1
  13. package/dist/audit/cli/providerConfirmationStep.js +19 -7
  14. package/dist/audit/cli/providerConfirmationStep.js.map +1 -1
  15. package/dist/audit/cli/quotaCommand.d.ts.map +1 -1
  16. package/dist/audit/cli/quotaCommand.js +8 -20
  17. package/dist/audit/cli/quotaCommand.js.map +1 -1
  18. package/dist/audit/extractors/analyzers/typescript.d.ts.map +1 -1
  19. package/dist/audit/extractors/analyzers/typescript.js +3 -2
  20. package/dist/audit/extractors/analyzers/typescript.js.map +1 -1
  21. package/dist/audit/extractors/graph.d.ts.map +1 -1
  22. package/dist/audit/extractors/graph.js +4 -5
  23. package/dist/audit/extractors/graph.js.map +1 -1
  24. package/dist/audit/io/artifacts.d.ts +1 -12
  25. package/dist/audit/io/artifacts.d.ts.map +1 -1
  26. package/dist/audit/io/artifacts.js +9 -39
  27. package/dist/audit/io/artifacts.js.map +1 -1
  28. package/dist/audit/orchestrator/designReviewSnapshot.d.ts.map +1 -1
  29. package/dist/audit/orchestrator/designReviewSnapshot.js +4 -2
  30. package/dist/audit/orchestrator/designReviewSnapshot.js.map +1 -1
  31. package/dist/audit/orchestrator/intakeExecutors.d.ts.map +1 -1
  32. package/dist/audit/orchestrator/intakeExecutors.js +59 -3
  33. package/dist/audit/orchestrator/intakeExecutors.js.map +1 -1
  34. package/dist/remediate/contractPipeline/reviewSnapshot.d.ts +8 -0
  35. package/dist/remediate/contractPipeline/reviewSnapshot.d.ts.map +1 -1
  36. package/dist/remediate/contractPipeline/reviewSnapshot.js +10 -2
  37. package/dist/remediate/contractPipeline/reviewSnapshot.js.map +1 -1
  38. package/dist/remediate/contractPipeline/testPlanCarry.d.ts +7 -1
  39. package/dist/remediate/contractPipeline/testPlanCarry.d.ts.map +1 -1
  40. package/dist/remediate/contractPipeline/testPlanCarry.js +9 -3
  41. package/dist/remediate/contractPipeline/testPlanCarry.js.map +1 -1
  42. package/dist/remediate/phases/close.d.ts.map +1 -1
  43. package/dist/remediate/phases/close.js +10 -8
  44. package/dist/remediate/phases/close.js.map +1 -1
  45. package/dist/remediate/phases/plan.js +2 -2
  46. package/dist/remediate/phases/plan.js.map +1 -1
  47. package/dist/remediate/riskSignal.d.ts.map +1 -1
  48. package/dist/remediate/riskSignal.js +5 -2
  49. package/dist/remediate/riskSignal.js.map +1 -1
  50. package/dist/remediate/state/itemStatus.d.ts +26 -3
  51. package/dist/remediate/state/itemStatus.d.ts.map +1 -1
  52. package/dist/remediate/state/itemStatus.js +56 -18
  53. package/dist/remediate/state/itemStatus.js.map +1 -1
  54. package/dist/remediate/state/store.d.ts.map +1 -1
  55. package/dist/remediate/state/store.js +18 -0
  56. package/dist/remediate/state/store.js.map +1 -1
  57. package/dist/remediate/state/types.d.ts +18 -42
  58. package/dist/remediate/state/types.d.ts.map +1 -1
  59. package/dist/remediate/state/types.js +5 -3
  60. package/dist/remediate/state/types.js.map +1 -1
  61. package/dist/remediate/steps/contractPipeline.d.ts +1 -1
  62. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  63. package/dist/remediate/steps/contractPipeline.js +7 -1
  64. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  65. package/dist/remediate/steps/dispatch/implementPrompt.d.ts +2 -2
  66. package/dist/remediate/steps/dispatch/implementPrompt.d.ts.map +1 -1
  67. package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
  68. package/dist/remediate/steps/dispatch/marshal.js +34 -16
  69. package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
  70. package/dist/remediate/steps/dispatch/worktreeLifecycle.d.ts.map +1 -1
  71. package/dist/remediate/steps/dispatch/worktreeLifecycle.js +10 -7
  72. package/dist/remediate/steps/dispatch/worktreeLifecycle.js.map +1 -1
  73. package/dist/remediate/steps/finalGate.d.ts.map +1 -1
  74. package/dist/remediate/steps/finalGate.js +11 -4
  75. package/dist/remediate/steps/finalGate.js.map +1 -1
  76. package/dist/remediate/steps/nextStep.d.ts +7 -2
  77. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  78. package/dist/remediate/steps/nextStep.js +99 -35
  79. package/dist/remediate/steps/nextStep.js.map +1 -1
  80. package/dist/remediate/steps/stepUtils.d.ts +23 -0
  81. package/dist/remediate/steps/stepUtils.d.ts.map +1 -1
  82. package/dist/remediate/steps/stepUtils.js +55 -1
  83. package/dist/remediate/steps/stepUtils.js.map +1 -1
  84. package/dist/remediate/steps/types.d.ts +21 -0
  85. package/dist/remediate/steps/types.d.ts.map +1 -1
  86. package/dist/remediate/steps/types.js.map +1 -1
  87. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  88. package/dist/remediate/validation/artifacts.js +9 -0
  89. package/dist/remediate/validation/artifacts.js.map +1 -1
  90. package/dist/remediate/validation/contractPipelineGates.d.ts +7 -3
  91. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  92. package/dist/remediate/validation/contractPipelineGates.js +9 -21
  93. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  94. package/dist/shared/constitutionalDocPaths.d.ts +13 -0
  95. package/dist/shared/constitutionalDocPaths.d.ts.map +1 -0
  96. package/dist/shared/constitutionalDocPaths.js +73 -0
  97. package/dist/shared/constitutionalDocPaths.js.map +1 -0
  98. package/dist/shared/index.d.ts +5 -2
  99. package/dist/shared/index.d.ts.map +1 -1
  100. package/dist/shared/index.js +8 -1
  101. package/dist/shared/index.js.map +1 -1
  102. package/dist/shared/io/frictionCapture.d.ts.map +1 -1
  103. package/dist/shared/io/frictionCapture.js +6 -1
  104. package/dist/shared/io/frictionCapture.js.map +1 -1
  105. package/dist/shared/io/pathContainment.d.ts +46 -0
  106. package/dist/shared/io/pathContainment.d.ts.map +1 -0
  107. package/dist/shared/io/pathContainment.js +40 -0
  108. package/dist/shared/io/pathContainment.js.map +1 -0
  109. package/dist/shared/io/schemaVersion.d.ts +67 -0
  110. package/dist/shared/io/schemaVersion.d.ts.map +1 -0
  111. package/dist/shared/io/schemaVersion.js +87 -0
  112. package/dist/shared/io/schemaVersion.js.map +1 -0
  113. package/dist/shared/providers/auditorSources.d.ts +9 -1
  114. package/dist/shared/providers/auditorSources.d.ts.map +1 -1
  115. package/dist/shared/providers/auditorSources.js +46 -2
  116. package/dist/shared/providers/auditorSources.js.map +1 -1
  117. package/dist/shared/providers/claudeWorkerProvider.d.ts +0 -1
  118. package/dist/shared/providers/claudeWorkerProvider.d.ts.map +1 -1
  119. package/dist/shared/providers/claudeWorkerProvider.js +4 -2
  120. package/dist/shared/providers/claudeWorkerProvider.js.map +1 -1
  121. package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
  122. package/dist/shared/providers/openAiCompatibleProvider.js +47 -10
  123. package/dist/shared/providers/openAiCompatibleProvider.js.map +1 -1
  124. package/dist/shared/providers/sharedProviderConfirmation.d.ts +42 -1
  125. package/dist/shared/providers/sharedProviderConfirmation.d.ts.map +1 -1
  126. package/dist/shared/providers/sharedProviderConfirmation.js +197 -3
  127. package/dist/shared/providers/sharedProviderConfirmation.js.map +1 -1
  128. package/dist/shared/quota/coverage.js +1 -1
  129. package/dist/shared/repair/brokeredDispatch.d.ts.map +1 -1
  130. package/dist/shared/repair/brokeredDispatch.js +10 -48
  131. package/dist/shared/repair/brokeredDispatch.js.map +1 -1
  132. package/dist/shared/types/auditorDescriptor.d.ts +8 -2
  133. package/dist/shared/types/auditorDescriptor.d.ts.map +1 -1
  134. package/dist/shared/types/auditorDescriptor.js.map +1 -1
  135. package/dist/shared/types/sessionConfig.d.ts +25 -1
  136. package/dist/shared/types/sessionConfig.d.ts.map +1 -1
  137. package/dist/shared/types/sessionConfig.js +4 -0
  138. package/dist/shared/types/sessionConfig.js.map +1 -1
  139. package/dist/shared/validation/findingGrounding.d.ts +19 -7
  140. package/dist/shared/validation/findingGrounding.d.ts.map +1 -1
  141. package/dist/shared/validation/findingGrounding.js +22 -10
  142. package/dist/shared/validation/findingGrounding.js.map +1 -1
  143. package/docs/audit-pkg/operator-guide.md +19 -9
  144. package/docs/audit-pkg/release.md +4 -0
  145. package/package.json +10 -3
  146. package/scripts/audit/postinstall.mjs +16 -1
  147. package/scripts/remediate/postinstall.mjs +17 -1
  148. package/dist/remediate/coverage/findingLedger.d.ts +0 -99
  149. package/dist/remediate/coverage/findingLedger.d.ts.map +0 -1
  150. package/dist/remediate/coverage/findingLedger.js +0 -110
  151. package/dist/remediate/coverage/findingLedger.js.map +0 -1
@@ -3,14 +3,25 @@ import type { DispatchModelTier } from "./stepContract.js";
3
3
  export declare const PROVIDER_NAMES: readonly ["auto", "worker-command", "subprocess-template", "claude-code", "claude-worker", "codex", "opencode", "openai-compatible", "vscode-task", "antigravity", "agy"];
4
4
  export type ProviderName = (typeof PROVIDER_NAMES)[number];
5
5
  export type ResolvedProviderName = Exclude<ProviderName, "auto">;
6
+ /**
7
+ * A provider that can be the conversation HOST driving a run. `claude-worker` is
8
+ * the proxied dispatch-worker class and is excluded by construction, so a host
9
+ * identity can never be typed as one — the type states what
10
+ * {@link assertHostProviderName} already enforces at runtime.
11
+ */
12
+ export type HostProviderName = Exclude<ProviderName, "claude-worker">;
6
13
  /**
7
14
  * Validate a `--host-provider` CLI value against {@link PROVIDER_NAMES}, throwing
8
15
  * the same message both orchestrators surface on a typo (host_provider is a
9
16
  * quota-ATTRIBUTION key — a silently-wrong value would mis-charge dispatch fan-out
10
17
  * to the wrong account). Single-sourced so audit's `getHostProvider` and
11
18
  * remediate's `parseHostProviderOption` cannot drift.
19
+ *
20
+ * Narrows to {@link HostProviderName}, not `ProviderName`: this function rejects
21
+ * `claude-worker`, so asserting the wider type would hand every caller a value
22
+ * the validator just refused.
12
23
  */
13
- export declare function assertHostProviderName(value: string): asserts value is ProviderName;
24
+ export declare function assertHostProviderName(value: string): asserts value is HostProviderName;
14
25
  /**
15
26
  * The attended-vs-headless discriminator for dispatch (defect-1). TRUE (default,
16
27
  * conversation-first) means an attended conversation host is driving THIS invocation
@@ -342,6 +353,19 @@ export interface DispatchableSource {
342
353
  api_key_env?: string;
343
354
  /** Inline API key (discouraged — prefer `api_key_env`). */
344
355
  api_key?: string;
356
+ /**
357
+ * Operator-declared: this endpoint takes NO credential (an unauthenticated local
358
+ * proxy — LiteLLM with no master key, LM Studio, a local vLLM). Reach is then
359
+ * proven by an endpoint liveness probe instead of by an env var, exactly as the
360
+ * `claude-worker` proxy lane already does.
361
+ *
362
+ * EXPLICIT by design, never inferred from an omitted `api_key_env`: forgetting the
363
+ * key is the common error, and the liveness probe cannot catch it (any HTTP status
364
+ * on `/v1/models` counts as alive, so a 401 from a keyed endpoint still reads as
365
+ * reachable). Declaring it together with `api_key_env` is contradictory and is
366
+ * refused rather than silently resolved.
367
+ */
368
+ no_auth?: boolean;
345
369
  /**
346
370
  * Worker-kind override (see {@link WorkerKind} / {@link deriveWorkerKind}).
347
371
  * Normally DERIVED from the transport — declare it only where genuinely ambiguous.
@@ -1 +1 @@
1
- {"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,10 @@ export const PROVIDER_NAMES = [
18
18
  * quota-ATTRIBUTION key — a silently-wrong value would mis-charge dispatch fan-out
19
19
  * to the wrong account). Single-sourced so audit's `getHostProvider` and
20
20
  * remediate's `parseHostProviderOption` cannot drift.
21
+ *
22
+ * Narrows to {@link HostProviderName}, not `ProviderName`: this function rejects
23
+ * `claude-worker`, so asserting the wider type would hand every caller a value
24
+ * the validator just refused.
21
25
  */
22
26
  export function assertHostProviderName(value) {
23
27
  // claude-worker is the proxied dispatch WORKER class — it can never be the
@@ -1 +1 @@
1
- {"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"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"}
@@ -42,13 +42,25 @@ export declare function isBareBasename(p: string): boolean;
42
42
  export declare function resolveBasenameToTrackedPath(basename: string, knownPaths: ReadonlySet<string>): string | undefined;
43
43
  /**
44
44
  * Case-preserving corpus of the tracked working-tree paths at `root`, via
45
- * `git ls-files` (forward-slashed, trimmed). This is the sibling of the M-B3
46
- * gate's `enumerateRepoTreePaths` (which `normalizeRepoPath`-lowercases for
47
- * membership matching): the remediate consumers that resolve a basename and then
48
- * read the file off disk (line counting) need the REAL on-disk case, so this one
49
- * does not lowercase. Degrades to an empty set when git is missing / not a repo
50
- * (callers then fall back to their existing `existsSync` check — monotonic, never
51
- * a regression). OS-agnostic: `shell: false`, forward-slash output.
45
+ * `git ls-files -z` (forward-slashed). THE one git enumeration behind both
46
+ * grounding corpora: the M-B3 gate's `enumerateRepoTreePaths` is a
47
+ * `normalizeRepoPath`-lowercased draw over this set, while the remediate
48
+ * consumers that resolve a basename and then read the file off disk (line
49
+ * counting) need the REAL on-disk case, so this one does not lowercase.
50
+ *
51
+ * `-z` is load-bearing, not a flourish: plain `ls-files` renders any path git
52
+ * considers unusual in C-quoted form (`core.quotePath` turns a non-ASCII byte
53
+ * into `\303`, and a path containing a newline is quoted too), so a newline
54
+ * split yielded an entry that no longer equals the real repo path — every
55
+ * citation naming that file silently failed to ground while the file-disposition
56
+ * rule, which already used `-z`, kept it in scope. NUL-delimited output is
57
+ * unquoted and unambiguous, so entries are taken verbatim (no trim: with no line
58
+ * terminator to strip, trimming could only damage a legitimately space-padded
59
+ * POSIX path).
60
+ *
61
+ * Degrades to an empty set when git is missing / not a repo (callers then fall
62
+ * back to their existing `existsSync` check — monotonic, never a regression).
63
+ * OS-agnostic: `shell: false`, forward-slash output.
52
64
  */
53
65
  export declare function enumerateTrackedFilePaths(root: string): Set<string>;
54
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"findingGrounding.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/findingGrounding.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAErE,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAsBnE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAI7E;AAED,qFAAqF;AACrF,MAAM,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAKrE;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,GAAE,YAAkC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CA+B3B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,OAAO,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAClC,OAAO,CAET"}
1
+ {"version":3,"file":"findingGrounding.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/findingGrounding.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAErE,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAsBnE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAI7E;AAED,qFAAqF;AACrF,MAAM,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAKrE;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,GAAE,YAAkC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CA+B3B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,OAAO,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAClC,OAAO,CAET"}
@@ -86,19 +86,31 @@ export function resolveBasenameToTrackedPath(basename, knownPaths) {
86
86
  }
87
87
  /**
88
88
  * Case-preserving corpus of the tracked working-tree paths at `root`, via
89
- * `git ls-files` (forward-slashed, trimmed). This is the sibling of the M-B3
90
- * gate's `enumerateRepoTreePaths` (which `normalizeRepoPath`-lowercases for
91
- * membership matching): the remediate consumers that resolve a basename and then
92
- * read the file off disk (line counting) need the REAL on-disk case, so this one
93
- * does not lowercase. Degrades to an empty set when git is missing / not a repo
94
- * (callers then fall back to their existing `existsSync` check — monotonic, never
95
- * a regression). OS-agnostic: `shell: false`, forward-slash output.
89
+ * `git ls-files -z` (forward-slashed). THE one git enumeration behind both
90
+ * grounding corpora: the M-B3 gate's `enumerateRepoTreePaths` is a
91
+ * `normalizeRepoPath`-lowercased draw over this set, while the remediate
92
+ * consumers that resolve a basename and then read the file off disk (line
93
+ * counting) need the REAL on-disk case, so this one does not lowercase.
94
+ *
95
+ * `-z` is load-bearing, not a flourish: plain `ls-files` renders any path git
96
+ * considers unusual in C-quoted form (`core.quotePath` turns a non-ASCII byte
97
+ * into `\303`, and a path containing a newline is quoted too), so a newline
98
+ * split yielded an entry that no longer equals the real repo path — every
99
+ * citation naming that file silently failed to ground while the file-disposition
100
+ * rule, which already used `-z`, kept it in scope. NUL-delimited output is
101
+ * unquoted and unambiguous, so entries are taken verbatim (no trim: with no line
102
+ * terminator to strip, trimming could only damage a legitimately space-padded
103
+ * POSIX path).
104
+ *
105
+ * Degrades to an empty set when git is missing / not a repo (callers then fall
106
+ * back to their existing `existsSync` check — monotonic, never a regression).
107
+ * OS-agnostic: `shell: false`, forward-slash output.
96
108
  */
97
109
  export function enumerateTrackedFilePaths(root) {
98
110
  const known = new Set();
99
111
  let result;
100
112
  try {
101
- result = spawnSync("git", ["ls-files"], {
113
+ result = spawnSync("git", ["ls-files", "-z"], {
102
114
  cwd: root,
103
115
  encoding: "utf8",
104
116
  shell: false,
@@ -112,8 +124,8 @@ export function enumerateTrackedFilePaths(root) {
112
124
  if (!result || result.status !== 0 || typeof result.stdout !== "string") {
113
125
  return known;
114
126
  }
115
- for (const line of result.stdout.split("\n")) {
116
- const path = line.trim().replace(/\\/g, "/");
127
+ for (const entry of result.stdout.split("\0")) {
128
+ const path = entry.replace(/\\/g, "/");
117
129
  if (path.length > 0)
118
130
  known.add(path);
119
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"findingGrounding.js","sourceRoot":"","sources":["../../../src/shared/validation/findingGrounding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findingGrounding.js","sourceRoot":"","sources":["../../../src/shared/validation/findingGrounding.ts"],"names":[],"mappings":"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"}
@@ -221,7 +221,7 @@ Every other field is optional:
221
221
  {
222
222
  "schema_version": "provider-confirmation-input/v1",
223
223
  "cost_order": ["<provider-or-model-key>", "..."],
224
- "exclude": ["<provider>:<model>", "<provider>", "<endpoint-host>"],
224
+ "exclude": ["transport:<name>", "transport:<name>/<model>", "service:<name>", "host:<endpoint-host>"],
225
225
  "include": ["<self-spawn-blocked provider to opt back in>"],
226
226
  "host_models": [{ "model_id": "<your model id>", "tier": "frontier|capable|fast" }]
227
227
  }
@@ -232,19 +232,29 @@ Every other field is optional:
232
232
  report in `host_models`. Keys you omit keep their suggested relative order,
233
233
  appended after the ones you name; unrecognized keys are ignored. Omit it to accept
234
234
  the suggested order.
235
- - `exclude` — drops backends from the dispatchable pool. Each entry is a rule, at
236
- whatever granularity you mean:
237
- - `openai-compatible:gpt-oss-120b` — that **model** of that provider, leaving the
238
- provider's other models routable. This is the granularity to reach for: you are
235
+ - `exclude` — drops backends from the dispatchable pool. Each entry names its AXIS
236
+ explicitly, so the same string means the same thing on every machine:
237
+ - `transport:openai-compatible/gpt-oss-120b` — that **model** of that transport,
238
+ leaving its other models routable. This is the granularity to reach for: you are
239
239
  confirming model choices, so ruling out one model of a multi-model backend
240
240
  should not rule out the backend.
241
- - `codex` — the whole **provider**, every model of it.
242
- - `integrate.api.nvidia.com` (or `localhost:8000` to pin a port) — every source at
243
- that **endpoint host**.
241
+ - `transport:codex` — the whole **transport**, every model of it.
242
+ - `service:nim` — every transport reaching that **service**, including ones
243
+ discovered later.
244
+ - `host:integrate.api.nvidia.com` (or `host:localhost:8000` to pin a port) — every
245
+ source at that **endpoint host**.
246
+
247
+ The older prefix-less forms (`codex`, `openai-compatible:gpt-oss-120b`,
248
+ `integrate.api.nvidia.com`) are still accepted and migrated to the axis form on
249
+ read, so saved rules keep working. A rule naming an axis that does not exist —
250
+ `model:gpt-oss-120b` — is REFUSED when you submit it, rather than being silently
251
+ reinterpreted as a host rule that matches nothing.
244
252
 
245
253
  A rule is a durable decision, not a reachability claim: it keeps applying on a
246
254
  later run and on a different machine, whatever is reachable there. A rule that
247
- matches nothing is simply inert.
255
+ matches nothing is legitimate and stays inert — the tool authors one itself every
256
+ run — but the confirmation summary lists any of YOUR rules that matched nothing,
257
+ as an advisory, so a model-name typo is visible without blocking anything.
248
258
  - `include` — opts a self-spawn-blocked provider back in. A CLI provider detected
249
259
  while you are already inside a session of that same agent (`claude-code` under
250
260
  `CLAUDECODE`, `codex` under `CODEX`) is excluded by default so the run can't
@@ -12,6 +12,10 @@ npm run verify:release
12
12
  `verify:release` covers:
13
13
 
14
14
  - TypeScript typecheck (`build`)
15
+ - test-tree typecheck (`check:tests`)
16
+ - raw control-byte gate (`check:control-bytes`)
17
+ - loop-core pattern-list drift check (`check:loop-core-patterns`)
18
+ - backlog size-budget gate (`check:backlog-budget`)
15
19
  - dead-code export gate (`check:deadcode`)
16
20
  - doc-manifest reconciliation gate (`check:doc-manifest`)
17
21
  - full automated test suite (`vitest run`)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "audit-tools",
3
- "version": "0.34.29",
3
+ "version": "0.34.31",
4
4
  "private": false,
5
5
  "license": "ISC",
6
6
  "description": "Portable hybrid code auditing + remediation orchestrators for arbitrary repositories.",
@@ -41,16 +41,18 @@
41
41
  "prebuild": "node scripts/shared/guard-no-suite-running.mjs",
42
42
  "build": "tsc -p tsconfig.json && node scripts/shared/copy-data-assets.mjs",
43
43
  "check": "tsc -p tsconfig.json --noEmit",
44
+ "check:tests": "tsc -p tsconfig.test.json",
44
45
  "nightly:review": "node scripts/nightly/serve.mjs",
45
46
  "test:doc-contract": "node scripts/shared/run-vitest-gate.mjs tests/audit/release-contract.test.mjs tests/audit/file-lock-doc-sync.test.mjs tests/audit/host-asset-renderer-drift.test.mjs",
46
47
  "test": "npm run build && node scripts/shared/run-vitest-gate.mjs",
47
48
  "test:single": "npm run build && node scripts/shared/run-vitest-gate.mjs",
48
49
  "verify:guards": "node scripts/shared/run-vitest-gate.mjs --retry=2 --exclude \"**/audit-code-completion.test.mjs\" --exclude \"**/audit-code-wrapper.test.mjs\" --exclude \"**/audit/next-step.test.mjs\" --exclude \"**/seam-host-only-next-step.test.mjs\" --exclude \"**/*-e2e.test.*\" --exclude \"**/next-step-implement-dispatch.test.ts\" --exclude \"**/next-step-pipeline-dispatch.test.ts\"",
49
- "verify:checks": "node scripts/shared/profile-run.mjs verify-checks check:control-bytes check:loop-core-patterns check:deadcode check:doc-manifest check:backlog-budget build verify:hosts verify:remediate-hosts smoke:packaged-audit-code smoke:packaged-remediate-code",
50
+ "verify:checks": "node scripts/shared/profile-run.mjs verify-checks check:control-bytes check:version-gates check:loop-core-patterns check:constitutional-doc-paths check:deadcode check:doc-manifest check:philosophy-brief check:handoff-roadmap check:memory-citations check:backlog-budget check:backlog-status check:tests build verify:hosts verify:remediate-hosts smoke:packaged-audit-code smoke:packaged-remediate-code",
50
51
  "verify:release": "npm run verify:checks && node scripts/shared/run-vitest-gate.mjs",
51
52
  "check:control-bytes": "node scripts/check-control-bytes.mjs",
52
53
  "check:deadcode": "knip --no-config-hints",
53
54
  "check:doc-manifest": "node scripts/check-doc-manifest.mjs",
55
+ "check:philosophy-brief": "node scripts/check-philosophy-brief.mjs",
54
56
  "verify:hosts": "node scripts/audit/verify-hosts.mjs",
55
57
  "verify:remediate-hosts": "node scripts/remediate/verify-hosts.mjs",
56
58
  "smoke:linked-audit-code": "node scripts/audit/smoke-linked-audit-code.mjs",
@@ -70,7 +72,12 @@
70
72
  "prepack": "npm run build",
71
73
  "prepublishOnly": "npm run verify:release",
72
74
  "check:loop-core-patterns": "node scripts/shared/generate-loop-core-patterns.mjs --check",
73
- "check:backlog-budget": "node scripts/check-backlog-budget.mjs"
75
+ "check:backlog-budget": "node scripts/check-backlog-budget.mjs",
76
+ "check:memory-citations": "node scripts/check-memory-citations.mjs",
77
+ "check:version-gates": "node scripts/check-version-gates.mjs",
78
+ "check:constitutional-doc-paths": "node scripts/shared/generate-constitutional-doc-paths.mjs --check",
79
+ "check:handoff-roadmap": "node scripts/shared/generate-handoff-roadmap.mjs --check",
80
+ "check:backlog-status": "node scripts/check-backlog-status-tokens.mjs"
74
81
  },
75
82
  "engines": {
76
83
  "node": ">=20"
@@ -73,6 +73,21 @@ const OPENCODE_AUDIT_BASH_PERMISSION = {
73
73
  // skipped with a warning instead of failing the whole install.
74
74
  const sharedOpenCodePermissions = await resolveSharedOpenCodePermissions();
75
75
 
76
+ // A pre-hardening deploy wrote agent-scope bash['*']='allow' (the historically
77
+ // managed broad value). Migrate exactly that value away so the generated 'ask'
78
+ // seed wins on re-deploy; any other user-authored wildcard survives untouched.
79
+ // This mirrors the install wrapper so an upgrade that only ever runs
80
+ // `npm install` converges on the same hardened agent block — otherwise the
81
+ // postinstall is the one path that keeps a broad wildcard alive.
82
+ function withoutManagedBroadBashWildcard(rule) {
83
+ const { withoutOpenCodeWildcard, OPENCODE_MANAGED_BROAD_VALUE } = sharedOpenCodePermissions;
84
+ const existing = objectValue(rule);
85
+ if (existing['*'] !== OPENCODE_MANAGED_BROAD_VALUE) {
86
+ return rule;
87
+ }
88
+ return withoutOpenCodeWildcard(existing);
89
+ }
90
+
76
91
  // Auditor agent scope (read-only agent, parity with the remediator hardening):
77
92
  // enumerated audit-code commands stay managed allows/denies, but the bash
78
93
  // wildcard defaults to "ask" (an existing user wildcard survives — the
@@ -96,7 +111,7 @@ function mergeOpenCodeAgentPermissionConfig(existingPermission, generatedPermiss
96
111
  OPENCODE_AUDIT_EDIT_PERMISSION,
97
112
  ),
98
113
  bash: mergeOpenCodeAgentPermissionRule(
99
- existingPermission.bash,
114
+ withoutManagedBroadBashWildcard(existingPermission.bash),
100
115
  generatedPermission.bash,
101
116
  withoutOpenCodeWildcard(OPENCODE_AUDIT_BASH_PERMISSION),
102
117
  ),
@@ -73,6 +73,22 @@ const OPENCODE_REMEDIATE_BASH_PERMISSION = {
73
73
  // skipped with a warning instead of failing the whole install.
74
74
  const sharedOpenCodePermissions = await resolveSharedOpenCodePermissions();
75
75
 
76
+ // A pre-hardening deploy wrote agent-scope bash['*']='allow' (the historically
77
+ // managed broad value). Migrate exactly that value away so the generated 'ask'
78
+ // seed wins on re-deploy; any other user-authored wildcard survives untouched.
79
+ // This mirrors the install wrapper so an upgrade that only ever runs
80
+ // `npm install` converges on the same hardened agent block — otherwise the
81
+ // postinstall is the one path that keeps a broad wildcard alive.
82
+ function withoutManagedBroadBashWildcard(rule) {
83
+ const { withoutOpenCodeWildcard, OPENCODE_MANAGED_BROAD_VALUE } =
84
+ sharedOpenCodePermissions;
85
+ const existing = objectValue(rule);
86
+ if (existing["*"] !== OPENCODE_MANAGED_BROAD_VALUE) {
87
+ return rule;
88
+ }
89
+ return withoutOpenCodeWildcard(existing);
90
+ }
91
+
76
92
  // Remediator agent scope: managed rules win for specific patterns; an
77
93
  // existing user wildcard survives (the managed set is passed without "*").
78
94
  function renderOpenCodeAgentPermissionConfig(existing) {
@@ -90,7 +106,7 @@ function renderOpenCodeAgentPermissionConfig(existing) {
90
106
  withoutOpenCodeWildcard(OPENCODE_REMEDIATE_EDIT_PERMISSION),
91
107
  ),
92
108
  bash: mergeOpenCodeAgentPermissionRule(
93
- existingPermission.bash,
109
+ withoutManagedBroadBashWildcard(existingPermission.bash),
94
110
  OPENCODE_REMEDIATE_BASH_PERMISSION,
95
111
  withoutOpenCodeWildcard(OPENCODE_REMEDIATE_BASH_PERMISSION),
96
112
  ),
@@ -1,99 +0,0 @@
1
- /**
2
- * Per-finding / per-node coverage ledger (N-coverage-ledger).
3
- *
4
- * Source_type-aware denominator (INV-CL-05):
5
- * - structured_audit → finding-enumeration denominator (every finding id
6
- * from finding-enumeration.json must reach a terminal disposition)
7
- * - document / non-enumerable → DAG-node denominator (every promoted
8
- * implementation-DAG node must reach a terminal disposition)
9
- *
10
- * A 0/0 ledger is INCOMPLETE (fail-closed) — zero denominator never counts as
11
- * vacuously complete (INV-CL-05).
12
- *
13
- * Terminal dispositions: resolved, resolved_no_change, ignored,
14
- * deemed_inappropriate, force_closed_unresolved.
15
- *
16
- * Non-terminal item statuses (blocked, pending, tested, refactored, verified,
17
- * tested_successfully) map to force_closed_unresolved so that the ledger is
18
- * always fully populated after build.
19
- *
20
- * Identity (drift-plan R2): the ledger keys every entry off a finding/node id
21
- * that is already the output of the single finding-identity authority —
22
- * structured_audit denominator ids come from `assignStableFindingIds`
23
- * (`<LENS>-<sha256(findingIdentitySignature)>`) and DAG-node denominator ids
24
- * come from `ensureNodeId`. The ledger therefore performs no identity rule of
25
- * its own; two findings the shared authority deems the same already collapse to
26
- * one denominator id upstream (cross-lens dedup), so the ledger never
27
- * double-counts one identity. The duplicate guard below catches the inverse —
28
- * one identity id claimed by two entries (a merge/build defect).
29
- */
30
- import type { PerFindingCoverageLedger, PerFindingDenominatorKind, RemediationItemState } from "../state/types.js";
31
- /**
32
- * Parameters for building the per-finding ledger.
33
- *
34
- * For `structured_audit` sources pass `enumeratedIds` — the complete list of
35
- * finding ids from `finding-enumeration.json`. For document / non-enumerable
36
- * sources pass `promotedNodeIds` — the ids of all promoted implementation-DAG
37
- * nodes.
38
- *
39
- * `items` is the `RemediationState.items` record: finding_id → state.
40
- */
41
- export interface BuildPerFindingLedgerParams {
42
- /** "finding_enumeration" for structured_audit; "dag_node" for document sources. */
43
- denominatorKind: PerFindingDenominatorKind;
44
- /**
45
- * The authoritative denominator set.
46
- *
47
- * - structured_audit: every id from finding-enumeration.json (all findings).
48
- * - document: every promoted implementation-DAG node id.
49
- */
50
- denominatorIds: readonly string[];
51
- /** The current `RemediationState.items` (may be undefined when state is pre-plan). */
52
- items: Record<string, RemediationItemState> | undefined;
53
- }
54
- /**
55
- * Build a `PerFindingCoverageLedger` from the authoritative denominator set
56
- * and the current item state.
57
- *
58
- * Every id in `denominatorIds` produces exactly one entry. Ids present in
59
- * `items` are mapped via `statusToDisposition`; ids absent from `items`
60
- * (never reached the implement phase) produce `force_closed_unresolved`.
61
- */
62
- export declare function buildPerFindingLedger(params: BuildPerFindingLedgerParams): PerFindingCoverageLedger;
63
- /** Result returned by `assertLedgerComplete`. */
64
- export interface LedgerCompletenessResult {
65
- /** True only when every denominator id has a terminal disposition AND denominator > 0. */
66
- complete: boolean;
67
- /**
68
- * Ids that appear in the denominator but have no terminal disposition
69
- * (i.e. missing from entries or mapped to a non-terminal disposition).
70
- *
71
- * In the current implementation all non-terminal statuses map to
72
- * `force_closed_unresolved` (which IS terminal), so `missing` contains ids
73
- * that are absent from `entries` altogether — which cannot happen after
74
- * `buildPerFindingLedger` runs. This field is retained for callers that
75
- * construct ledgers manually or via partial merges.
76
- */
77
- missing: string[];
78
- /**
79
- * Ids that appear more than once in `entries`. Duplicate entries indicate
80
- * a merge/build defect (two workers claimed the same finding).
81
- */
82
- duplicated: string[];
83
- /** How the denominator was derived (pass-through from the ledger). */
84
- denominator_kind: PerFindingDenominatorKind;
85
- }
86
- /**
87
- * Assert that a `PerFindingCoverageLedger` is complete.
88
- *
89
- * Completeness rules (INV-CL-05):
90
- * 1. `denominator` must be > 0. A 0/0 ledger is INCOMPLETE (fail-closed).
91
- * 2. Every entry must have a terminal disposition.
92
- * 3. No id may appear more than once in `entries` (no duplicates).
93
- * 4. The number of terminal entries must equal `denominator`.
94
- *
95
- * Returns `{complete: true, missing: [], duplicated: [], denominator_kind}`
96
- * when all rules are satisfied; otherwise `{complete: false, missing, duplicated, ...}`.
97
- */
98
- export declare function assertLedgerComplete(ledger: PerFindingCoverageLedger): LedgerCompletenessResult;
99
- //# sourceMappingURL=findingLedger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findingLedger.d.ts","sourceRoot":"","sources":["../../../src/remediate/coverage/findingLedger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAGzB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAuB3B;;;;;;;;;GASG;AACH,MAAM,WAAW,2BAA2B;IAC1C,mFAAmF;IACnF,eAAe,EAAE,yBAAyB,CAAC;IAC3C;;;;;OAKG;IACH,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,sFAAsF;IACtF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,SAAS,CAAC;CACzD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,2BAA2B,GAClC,wBAAwB,CAmB1B;AAID,iDAAiD;AACjD,MAAM,WAAW,wBAAwB;IACvC,0FAA0F;IAC1F,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;;;OASG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,sEAAsE;IACtE,gBAAgB,EAAE,yBAAyB,CAAC;CAC7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,wBAAwB,GAC/B,wBAAwB,CAoC1B"}
@@ -1,110 +0,0 @@
1
- /**
2
- * Per-finding / per-node coverage ledger (N-coverage-ledger).
3
- *
4
- * Source_type-aware denominator (INV-CL-05):
5
- * - structured_audit → finding-enumeration denominator (every finding id
6
- * from finding-enumeration.json must reach a terminal disposition)
7
- * - document / non-enumerable → DAG-node denominator (every promoted
8
- * implementation-DAG node must reach a terminal disposition)
9
- *
10
- * A 0/0 ledger is INCOMPLETE (fail-closed) — zero denominator never counts as
11
- * vacuously complete (INV-CL-05).
12
- *
13
- * Terminal dispositions: resolved, resolved_no_change, ignored,
14
- * deemed_inappropriate, force_closed_unresolved.
15
- *
16
- * Non-terminal item statuses (blocked, pending, tested, refactored, verified,
17
- * tested_successfully) map to force_closed_unresolved so that the ledger is
18
- * always fully populated after build.
19
- *
20
- * Identity (drift-plan R2): the ledger keys every entry off a finding/node id
21
- * that is already the output of the single finding-identity authority —
22
- * structured_audit denominator ids come from `assignStableFindingIds`
23
- * (`<LENS>-<sha256(findingIdentitySignature)>`) and DAG-node denominator ids
24
- * come from `ensureNodeId`. The ledger therefore performs no identity rule of
25
- * its own; two findings the shared authority deems the same already collapse to
26
- * one denominator id upstream (cross-lens dedup), so the ledger never
27
- * double-counts one identity. The duplicate guard below catches the inverse —
28
- * one identity id claimed by two entries (a merge/build defect).
29
- */
30
- import { statusToDisposition } from "../state/itemStatus.js";
31
- // ── Disposition terminality ─────────────────────────────────────────────────
32
- // The status→disposition map is single-sourced in state/itemStatus.ts; this
33
- // module owns only PerFindingDisposition terminality (which dispositions count
34
- // toward coverage).
35
- /** Whether a PerFindingDisposition is terminal (contributes to coverage). */
36
- const TERMINAL_DISPOSITIONS = new Set([
37
- "resolved",
38
- "resolved_no_change",
39
- "ignored",
40
- "deemed_inappropriate",
41
- "force_closed_unresolved",
42
- ]);
43
- function dispositionIsTerminal(d) {
44
- return TERMINAL_DISPOSITIONS.has(d);
45
- }
46
- /**
47
- * Build a `PerFindingCoverageLedger` from the authoritative denominator set
48
- * and the current item state.
49
- *
50
- * Every id in `denominatorIds` produces exactly one entry. Ids present in
51
- * `items` are mapped via `statusToDisposition`; ids absent from `items`
52
- * (never reached the implement phase) produce `force_closed_unresolved`.
53
- */
54
- export function buildPerFindingLedger(params) {
55
- const { denominatorKind, denominatorIds, items } = params;
56
- const entries = denominatorIds.map((id) => {
57
- const stateItem = items?.[id];
58
- const disposition = stateItem
59
- ? statusToDisposition(stateItem.status)
60
- : "force_closed_unresolved";
61
- return { id, disposition };
62
- });
63
- const covered = entries.filter((e) => dispositionIsTerminal(e.disposition)).length;
64
- return {
65
- denominator_kind: denominatorKind,
66
- denominator: denominatorIds.length,
67
- covered,
68
- entries,
69
- };
70
- }
71
- /**
72
- * Assert that a `PerFindingCoverageLedger` is complete.
73
- *
74
- * Completeness rules (INV-CL-05):
75
- * 1. `denominator` must be > 0. A 0/0 ledger is INCOMPLETE (fail-closed).
76
- * 2. Every entry must have a terminal disposition.
77
- * 3. No id may appear more than once in `entries` (no duplicates).
78
- * 4. The number of terminal entries must equal `denominator`.
79
- *
80
- * Returns `{complete: true, missing: [], duplicated: [], denominator_kind}`
81
- * when all rules are satisfied; otherwise `{complete: false, missing, duplicated, ...}`.
82
- */
83
- export function assertLedgerComplete(ledger) {
84
- const { denominator, entries, denominator_kind } = ledger;
85
- // Rule 1: fail-closed on zero denominator.
86
- if (denominator === 0) {
87
- return { complete: false, missing: [], duplicated: [], denominator_kind };
88
- }
89
- // Detect duplicates
90
- const seen = new Map();
91
- for (const entry of entries) {
92
- seen.set(entry.id, (seen.get(entry.id) ?? 0) + 1);
93
- }
94
- const duplicated = [...seen.entries()]
95
- .filter(([, count]) => count > 1)
96
- .map(([id]) => id);
97
- // Ids with non-terminal disposition
98
- const nonTerminal = entries
99
- .filter((e) => !dispositionIsTerminal(e.disposition))
100
- .map((e) => e.id);
101
- // Ids missing from entries entirely (if someone built a partial ledger)
102
- // We detect this by checking covered vs denominator via the entries array.
103
- const terminalCount = entries.filter((e) => dispositionIsTerminal(e.disposition)).length;
104
- const missing = nonTerminal; // non-terminal entries = still missing a real closure
105
- const complete = duplicated.length === 0 &&
106
- missing.length === 0 &&
107
- terminalCount === denominator;
108
- return { complete, missing, duplicated, denominator_kind };
109
- }
110
- //# sourceMappingURL=findingLedger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findingLedger.js","sourceRoot":"","sources":["../../../src/remediate/coverage/findingLedger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AASH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,+EAA+E;AAC/E,4EAA4E;AAC5E,+EAA+E;AAC/E,oBAAoB;AAEpB,6EAA6E;AAC7E,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAwB;IAC3D,UAAU;IACV,oBAAoB;IACpB,SAAS;IACT,sBAAsB;IACtB,yBAAyB;CAC1B,CAAC,CAAC;AAEH,SAAS,qBAAqB,CAAC,CAAwB;IACrD,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AA4BD;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAmC;IAEnC,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAE1D,MAAM,OAAO,GAA4B,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACjE,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,WAAW,GAA0B,SAAS;YAClD,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC;YACvC,CAAC,CAAC,yBAAyB,CAAC;QAC9B,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnF,OAAO;QACL,gBAAgB,EAAE,eAAe;QACjC,WAAW,EAAE,cAAc,CAAC,MAAM;QAClC,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC;AA4BD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAgC;IAEhC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IAE1D,2CAA2C;IAC3C,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC;IAC5E,CAAC;IAED,oBAAoB;IACpB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAErB,oCAAoC;IACpC,MAAM,WAAW,GAAG,OAAO;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEpB,wEAAwE;IACxE,2EAA2E;IAC3E,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzC,qBAAqB,CAAC,CAAC,CAAC,WAAW,CAAC,CACrC,CAAC,MAAM,CAAC;IAET,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,sDAAsD;IAEnF,MAAM,QAAQ,GACZ,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,OAAO,CAAC,MAAM,KAAK,CAAC;QACpB,aAAa,KAAK,WAAW,CAAC;IAEhC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAC7D,CAAC"}