audit-tools 0.30.2 → 0.30.4

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 (141) hide show
  1. package/dist/audit/cli/auditStep.d.ts.map +1 -1
  2. package/dist/audit/cli/auditStep.js +24 -13
  3. package/dist/audit/cli/auditStep.js.map +1 -1
  4. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  5. package/dist/audit/cli/nextStepHelpers.js +11 -6
  6. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  7. package/dist/audit/cli/prompts.d.ts.map +1 -1
  8. package/dist/audit/cli/prompts.js +3 -1
  9. package/dist/audit/cli/prompts.js.map +1 -1
  10. package/dist/audit/cli/reviewRun.d.ts.map +1 -1
  11. package/dist/audit/cli/reviewRun.js +9 -4
  12. package/dist/audit/cli/reviewRun.js.map +1 -1
  13. package/dist/audit/contracts/workerSchemas.d.ts +22 -4
  14. package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
  15. package/dist/audit/contracts/wrapperResponse.d.ts +12 -12
  16. package/dist/audit/orchestrator/artifactFreshness.d.ts +2 -1
  17. package/dist/audit/orchestrator/artifactFreshness.d.ts.map +1 -1
  18. package/dist/audit/orchestrator/artifactFreshness.js +5 -15
  19. package/dist/audit/orchestrator/artifactFreshness.js.map +1 -1
  20. package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
  21. package/dist/audit/orchestrator/executorRunners.js +10 -9
  22. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  23. package/dist/audit/orchestrator/ingestionExecutors.d.ts.map +1 -1
  24. package/dist/audit/orchestrator/ingestionExecutors.js +5 -1
  25. package/dist/audit/orchestrator/ingestionExecutors.js.map +1 -1
  26. package/dist/audit/orchestrator/intentCheckpointGate.d.ts +129 -0
  27. package/dist/audit/orchestrator/intentCheckpointGate.d.ts.map +1 -0
  28. package/dist/audit/orchestrator/intentCheckpointGate.js +193 -0
  29. package/dist/audit/orchestrator/intentCheckpointGate.js.map +1 -0
  30. package/dist/audit/orchestrator/ledger.d.ts +30 -0
  31. package/dist/audit/orchestrator/ledger.d.ts.map +1 -0
  32. package/dist/audit/orchestrator/ledger.js +126 -0
  33. package/dist/audit/orchestrator/ledger.js.map +1 -0
  34. package/dist/audit/orchestrator/nextStep.d.ts +11 -29
  35. package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
  36. package/dist/audit/orchestrator/nextStep.js +11 -29
  37. package/dist/audit/orchestrator/nextStep.js.map +1 -1
  38. package/dist/audit/orchestrator/resultBaseline.d.ts +82 -0
  39. package/dist/audit/orchestrator/resultBaseline.d.ts.map +1 -0
  40. package/dist/audit/orchestrator/resultBaseline.js +79 -0
  41. package/dist/audit/orchestrator/resultBaseline.js.map +1 -0
  42. package/dist/audit/quota/index.d.ts +17 -12
  43. package/dist/audit/quota/index.d.ts.map +1 -1
  44. package/dist/audit/types/artifactMetadata.d.ts +9 -0
  45. package/dist/audit/types/artifactMetadata.d.ts.map +1 -1
  46. package/dist/audit/types.d.ts +13 -4
  47. package/dist/audit/types.d.ts.map +1 -1
  48. package/dist/audit/types.js +8 -0
  49. package/dist/audit/types.js.map +1 -1
  50. package/dist/remediate/steps/dispatch.d.ts.map +1 -1
  51. package/dist/remediate/steps/dispatch.js +16 -22
  52. package/dist/remediate/steps/dispatch.js.map +1 -1
  53. package/dist/remediate/steps/nextStep.d.ts +11 -23
  54. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  55. package/dist/remediate/steps/nextStep.js +49 -43
  56. package/dist/remediate/steps/nextStep.js.map +1 -1
  57. package/dist/shared/contentKey.d.ts +83 -0
  58. package/dist/shared/contentKey.d.ts.map +1 -0
  59. package/dist/shared/contentKey.js +163 -0
  60. package/dist/shared/contentKey.js.map +1 -0
  61. package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
  62. package/dist/shared/dispatch/rollingDispatch.js +7 -3
  63. package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
  64. package/dist/shared/friction/captureFrictionEvent.d.ts +50 -0
  65. package/dist/shared/friction/captureFrictionEvent.d.ts.map +1 -0
  66. package/dist/shared/friction/captureFrictionEvent.js +34 -0
  67. package/dist/shared/friction/captureFrictionEvent.js.map +1 -0
  68. package/dist/shared/friction/triage.d.ts +126 -0
  69. package/dist/shared/friction/triage.d.ts.map +1 -0
  70. package/dist/shared/friction/triage.js +149 -0
  71. package/dist/shared/friction/triage.js.map +1 -0
  72. package/dist/shared/index.d.ts +15 -3
  73. package/dist/shared/index.d.ts.map +1 -1
  74. package/dist/shared/index.js +11 -3
  75. package/dist/shared/index.js.map +1 -1
  76. package/dist/shared/io/auditToolsPaths.d.ts +9 -0
  77. package/dist/shared/io/auditToolsPaths.d.ts.map +1 -1
  78. package/dist/shared/io/auditToolsPaths.js +11 -0
  79. package/dist/shared/io/auditToolsPaths.js.map +1 -1
  80. package/dist/shared/io/frictionCapture.d.ts +2 -0
  81. package/dist/shared/io/frictionCapture.d.ts.map +1 -1
  82. package/dist/shared/io/frictionCapture.js +1 -1
  83. package/dist/shared/io/frictionCapture.js.map +1 -1
  84. package/dist/shared/quota/apiPool.d.ts +1 -1
  85. package/dist/shared/quota/apiPool.d.ts.map +1 -1
  86. package/dist/shared/quota/apiPool.js +29 -7
  87. package/dist/shared/quota/apiPool.js.map +1 -1
  88. package/dist/shared/quota/capacity.d.ts +19 -4
  89. package/dist/shared/quota/capacity.d.ts.map +1 -1
  90. package/dist/shared/quota/capacity.js +5 -0
  91. package/dist/shared/quota/capacity.js.map +1 -1
  92. package/dist/shared/quota/claudeOAuthQuotaSource.d.ts +8 -0
  93. package/dist/shared/quota/claudeOAuthQuotaSource.d.ts.map +1 -1
  94. package/dist/shared/quota/claudeOAuthQuotaSource.js +15 -0
  95. package/dist/shared/quota/claudeOAuthQuotaSource.js.map +1 -1
  96. package/dist/shared/quota/codexQuotaSource.d.ts +3 -0
  97. package/dist/shared/quota/codexQuotaSource.d.ts.map +1 -1
  98. package/dist/shared/quota/codexQuotaSource.js +8 -0
  99. package/dist/shared/quota/codexQuotaSource.js.map +1 -1
  100. package/dist/shared/quota/compositeQuotaSource.d.ts +22 -0
  101. package/dist/shared/quota/compositeQuotaSource.d.ts.map +1 -1
  102. package/dist/shared/quota/compositeQuotaSource.js +42 -0
  103. package/dist/shared/quota/compositeQuotaSource.js.map +1 -1
  104. package/dist/shared/quota/coverage.d.ts +45 -0
  105. package/dist/shared/quota/coverage.d.ts.map +1 -0
  106. package/dist/shared/quota/coverage.js +77 -0
  107. package/dist/shared/quota/coverage.js.map +1 -0
  108. package/dist/shared/quota/httpQuotaSource.d.ts +24 -1
  109. package/dist/shared/quota/httpQuotaSource.d.ts.map +1 -1
  110. package/dist/shared/quota/httpQuotaSource.js +46 -6
  111. package/dist/shared/quota/httpQuotaSource.js.map +1 -1
  112. package/dist/shared/quota/quotaCoverageNudge.d.ts +26 -0
  113. package/dist/shared/quota/quotaCoverageNudge.d.ts.map +1 -0
  114. package/dist/shared/quota/quotaCoverageNudge.js +82 -0
  115. package/dist/shared/quota/quotaCoverageNudge.js.map +1 -0
  116. package/dist/shared/quota/quotaSource.d.ts +25 -2
  117. package/dist/shared/quota/quotaSource.d.ts.map +1 -1
  118. package/dist/shared/quota/quotaSource.js +15 -0
  119. package/dist/shared/quota/quotaSource.js.map +1 -1
  120. package/dist/shared/quota/scheduler.d.ts +10 -2
  121. package/dist/shared/quota/scheduler.d.ts.map +1 -1
  122. package/dist/shared/quota/scheduler.js +12 -3
  123. package/dist/shared/quota/scheduler.js.map +1 -1
  124. package/dist/shared/repair/emitValidateRepair.d.ts +124 -0
  125. package/dist/shared/repair/emitValidateRepair.d.ts.map +1 -0
  126. package/dist/shared/repair/emitValidateRepair.js +179 -0
  127. package/dist/shared/repair/emitValidateRepair.js.map +1 -0
  128. package/dist/shared/repair/index.d.ts +8 -0
  129. package/dist/shared/repair/index.d.ts.map +1 -0
  130. package/dist/shared/repair/index.js +2 -0
  131. package/dist/shared/repair/index.js.map +1 -0
  132. package/dist/shared/stableStringify.d.ts +14 -0
  133. package/dist/shared/stableStringify.d.ts.map +1 -0
  134. package/dist/shared/stableStringify.js +28 -0
  135. package/dist/shared/stableStringify.js.map +1 -0
  136. package/dist/shared/types/sessionConfig.d.ts +16 -0
  137. package/dist/shared/types/sessionConfig.d.ts.map +1 -1
  138. package/dist/shared/types/sessionConfig.js.map +1 -1
  139. package/package.json +1 -1
  140. package/schemas/audit_result.schema.json +9 -0
  141. package/schemas/audit_results.schema.json +9 -0
@@ -58,12 +58,12 @@ export declare const AuditCodeResponseSchema: z.ZodObject<{
58
58
  suggested_path: z.ZodString;
59
59
  description: z.ZodString;
60
60
  }, "strict", z.ZodTypeAny, {
61
- description: string;
62
61
  flag: "--batch-results" | "--results" | "--updates" | "--external-analyzer-results";
62
+ description: string;
63
63
  suggested_path: string;
64
64
  }, {
65
- description: string;
66
65
  flag: "--batch-results" | "--results" | "--updates" | "--external-analyzer-results";
66
+ description: string;
67
67
  suggested_path: string;
68
68
  }>, "many">;
69
69
  suggested_commands: z.ZodArray<z.ZodString, "many">;
@@ -76,15 +76,15 @@ export declare const AuditCodeResponseSchema: z.ZodObject<{
76
76
  audit_results_path: z.ZodString;
77
77
  worker_command: z.ZodArray<z.ZodString, "many">;
78
78
  }, "strict", z.ZodTypeAny, {
79
- worker_command: string[];
80
79
  run_id: string;
80
+ worker_command: string[];
81
81
  audit_results_path: string;
82
82
  task_path: string;
83
83
  prompt_path: string;
84
84
  pending_audit_tasks_path?: string | undefined;
85
85
  }, {
86
- worker_command: string[];
87
86
  run_id: string;
87
+ worker_command: string[];
88
88
  audit_results_path: string;
89
89
  task_path: string;
90
90
  prompt_path: string;
@@ -150,15 +150,15 @@ export declare const AuditCodeResponseSchema: z.ZodObject<{
150
150
  };
151
151
  pending_obligations: string[];
152
152
  suggested_inputs: {
153
- description: string;
154
153
  flag: "--batch-results" | "--results" | "--updates" | "--external-analyzer-results";
154
+ description: string;
155
155
  suggested_path: string;
156
156
  }[];
157
157
  suggested_commands: string[];
158
158
  interactive_provider_hint: string | null;
159
159
  active_review_run?: {
160
- worker_command: string[];
161
160
  run_id: string;
161
+ worker_command: string[];
162
162
  audit_results_path: string;
163
163
  task_path: string;
164
164
  prompt_path: string;
@@ -187,15 +187,15 @@ export declare const AuditCodeResponseSchema: z.ZodObject<{
187
187
  };
188
188
  pending_obligations: string[];
189
189
  suggested_inputs: {
190
- description: string;
191
190
  flag: "--batch-results" | "--results" | "--updates" | "--external-analyzer-results";
191
+ description: string;
192
192
  suggested_path: string;
193
193
  }[];
194
194
  suggested_commands: string[];
195
195
  interactive_provider_hint: string | null;
196
196
  active_review_run?: {
197
- worker_command: string[];
198
197
  run_id: string;
198
+ worker_command: string[];
199
199
  audit_results_path: string;
200
200
  task_path: string;
201
201
  prompt_path: string;
@@ -244,15 +244,15 @@ export declare const AuditCodeResponseSchema: z.ZodObject<{
244
244
  };
245
245
  pending_obligations: string[];
246
246
  suggested_inputs: {
247
- description: string;
248
247
  flag: "--batch-results" | "--results" | "--updates" | "--external-analyzer-results";
248
+ description: string;
249
249
  suggested_path: string;
250
250
  }[];
251
251
  suggested_commands: string[];
252
252
  interactive_provider_hint: string | null;
253
253
  active_review_run?: {
254
- worker_command: string[];
255
254
  run_id: string;
255
+ worker_command: string[];
256
256
  audit_results_path: string;
257
257
  task_path: string;
258
258
  prompt_path: string;
@@ -301,15 +301,15 @@ export declare const AuditCodeResponseSchema: z.ZodObject<{
301
301
  };
302
302
  pending_obligations: string[];
303
303
  suggested_inputs: {
304
- description: string;
305
304
  flag: "--batch-results" | "--results" | "--updates" | "--external-analyzer-results";
305
+ description: string;
306
306
  suggested_path: string;
307
307
  }[];
308
308
  suggested_commands: string[];
309
309
  interactive_provider_hint: string | null;
310
310
  active_review_run?: {
311
- worker_command: string[];
312
311
  run_id: string;
312
+ worker_command: string[];
313
313
  audit_results_path: string;
314
314
  task_path: string;
315
315
  prompt_path: string;
@@ -1,4 +1,5 @@
1
- export declare function stableStringify(value: unknown): string;
1
+ import { stableStringify } from "../../shared/stableStringify.js";
2
+ export { stableStringify };
2
3
  export declare function normalizeForMetadataHash(artifactName: string, value: unknown): unknown;
3
4
  export declare function hashArtifactValue(artifactName: string, value: unknown): string;
4
5
  //# sourceMappingURL=artifactFreshness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifactFreshness.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/artifactFreshness.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CActD;AA8ED,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,OAAO,GACb,OAAO,CAgBT;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,OAAO,GACb,MAAM,CAIR"}
1
+ {"version":3,"file":"artifactFreshness.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/artifactFreshness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,CAAC;AA8E3B,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,OAAO,GACb,OAAO,CAgBT;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,OAAO,GACb,MAAM,CAIR"}
@@ -1,19 +1,9 @@
1
1
  import { createHash } from "node:crypto";
2
- export function stableStringify(value) {
3
- if (value === undefined) {
4
- return "null";
5
- }
6
- if (value === null || typeof value !== "object") {
7
- return JSON.stringify(value);
8
- }
9
- if (Array.isArray(value)) {
10
- return `[${value.map((item) => stableStringify(item ?? null)).join(",")}]`;
11
- }
12
- const entries = Object.entries(value)
13
- .filter(([, item]) => item !== undefined)
14
- .sort(([a], [b]) => a.localeCompare(b));
15
- return `{${entries.map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`).join(",")}}`;
16
- }
2
+ // Single-sourced in src/shared/stableStringify.ts (INV-CK-2). Re-exported here so
3
+ // existing callers (and the single-serializer property) are preserved — there is
4
+ // exactly one serializer.
5
+ import { stableStringify } from "../../shared/stableStringify.js";
6
+ export { stableStringify };
17
7
  // Non-semantic top-level fields stripped before hashing, per artifact. These
18
8
  // are provenance (wall-clock stamps, run ids), NOT content: two rebuilds with
19
9
  // identical data but different stamps must hash equal, or the artifact's
@@ -1 +1 @@
1
- {"version":3,"file":"artifactFreshness.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/artifactFreshness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifactFreshness.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/artifactFreshness.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"executorRunners.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/executorRunners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AAyBlE;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,GAAG,EAAE,SAAS,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,gBAAgB,KAClB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAahC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAsHhE,CAAC"}
1
+ {"version":3,"file":"executorRunners.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/executorRunners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AAyBlE;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,GAAG,EAAE,SAAS,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,gBAAgB,KAClB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAahC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAuHhE,CAAC"}
@@ -83,12 +83,13 @@ export const EXECUTOR_RUNNERS = {
83
83
  },
84
84
  auto_fix_executor: async (bundle, { options }) => runAutoFixExecutor(bundle, requireRoot(options.root, "auto_fix_executor")),
85
85
  syntax_resolution_executor: async (bundle, { options }) => runSyntaxResolutionExecutor(bundle, requireRoot(options.root, "syntax_resolution_executor")),
86
- // Terminal friction close-out (parity with remediate-code). Fires the shared,
87
- // run_id-keyed friction persist via `decideAuditFrictionCloseout`: degrade-clean
88
- // (a zero-friction record satisfies the obligation) and idempotent (a record
89
- // already present short-circuits, so it never re-fires). The artifacts dir
90
- // defaults to the standard `.audit-tools/audit` location; the run id mirrors the
91
- // operator-handoff default of "run" when the caller has no explicit run id.
86
+ // Terminal friction-TRIAGE close-out (parity with remediate-code; single-sourced
87
+ // in `audit-tools/shared`). The blocking triage stays unsatisfied ("dispose")
88
+ // until every captured mechanical event AND every surfaced agent-feedback
89
+ // reflection carries a disposition; an empty set is trivially "disposed". The
90
+ // artifacts dir defaults to the standard `.audit-tools/audit` location; the run id
91
+ // mirrors the operator-handoff default of "run" when the caller has no explicit
92
+ // run id.
92
93
  friction_capture_executor: async (bundle, { options }) => {
93
94
  const artifactsDir = options.artifactsDir ??
94
95
  auditArtifactsDir(requireRoot(options.root, "friction_capture_executor"));
@@ -96,9 +97,9 @@ export const EXECUTOR_RUNNERS = {
96
97
  return {
97
98
  updated: bundle,
98
99
  artifacts_written: ["friction/run.json"],
99
- progress_summary: decision.action === "capture"
100
- ? "Friction close-out captured (degrade-clean record persisted)."
101
- : "Friction close-out already captured this run.",
100
+ progress_summary: decision.action === "disposed"
101
+ ? "Friction triage disposed (all captured items have a disposition)."
102
+ : `Friction triage blocked: ${decision.pending.length} item(s) await a disposition.`,
102
103
  };
103
104
  },
104
105
  };
@@ -1 +1 @@
1
- {"version":3,"file":"executorRunners.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/executorRunners.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,kCAAkC,EAClC,iCAAiC,GAClC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAsB/C;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAwB,EAAE,YAAoB;IACjE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,YAAY,gBAAgB,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAwC;IACnE,8BAA8B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC5D,mCAAmC,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;IAC3D,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC7C,iBAAiB,CACf,MAAM,EACN,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAC5C,OAAO,CAAC,YAAY,CACrB;IACH,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CACxD,+BAA+B,CAC7B,MAAM,EACN,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,4BAA4B,CAAC,EACvD,OAAO,CAAC,KAAK,CACd;IACH,6EAA6E;IAC7E,kCAAkC;IAClC,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAChD,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;IAC5C,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CACvD,0BAA0B,CAAC,MAAM,EAAE;QACjC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,gBAAgB,EAAE,OAAO,CAAC,qBAAqB;QAC/C,aAAa,EAAE,OAAO,CAAC,oBAAoB;KAC5C,CAAC;IACJ,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAC3C,2BAA2B,CAAC,MAAM,CAAC;IACrC,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CACvC,2BAA2B,CAAC,MAAM,EAAE,UAAU,CAAC;IACjD,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CACzC,2BAA2B,CAAC,MAAM,EAAE,YAAY,CAAC;IACnD,qCAAqC;IACrC,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC;IAC5E,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE;QAC/E,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/E,GAAG,CAAC,KAAK,CAAC;YACR,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,OAAO;YACb,aAAa;YACb,UAAU,EAAE,UAAU,IAAI,SAAS;YACnC,IAAI,EACF,YAAY,CAAC,IAAI,KAAK,OAAO;gBAC3B,CAAC,CAAC,eAAe,YAAY,CAAC,KAAK,KAAK,YAAY,CAAC,UAAU,CAAC,MAAM,cAAc,YAAY,CAAC,cAAc,CAAC,MAAM,+CAA+C;gBACrK,CAAC,CAAC,kBAAkB;SACzB,CAAC,CAAC;QACH,OAAO,mBAAmB,CACxB,MAAM,EACN,IAAI,EACJ,OAAO,CAAC,SAAS,IAAI,EAAE,EACvB,OAAO,CAAC,SAAS,EACjB,YAAY,CACb,CAAC;IACJ,CAAC;IACD,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CACvD,0BAA0B,CACxB,MAAM,EACN,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,aAAa,IAAI,EAAE,CACnD;IACH,2BAA2B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CACzD,4BAA4B,CAC1B,MAAM,EACN,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,6BAA6B,CAAC,CACzD;IACH,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAChD,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IACpD,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC1D,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC;IACjE,kCAAkC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChE,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;QACJ,CAAC;QACD,OAAO,kCAAkC,CACvC,MAAM,EACN,OAAO,CAAC,wBAAwB,CACjC,CAAC;IACJ,CAAC;IACD,iCAAiC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/D,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,OAAO,iCAAiC,CACtC,MAAM,EACN,OAAO,CAAC,uBAAuB,CAChC,CAAC;IACJ,CAAC;IACD,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC/C,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC5E,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CACxD,2BAA2B,CACzB,MAAM,EACN,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,4BAA4B,CAAC,CACxD;IACH,8EAA8E;IAC9E,iFAAiF;IACjF,6EAA6E;IAC7E,2EAA2E;IAC3E,iFAAiF;IACjF,4EAA4E;IAC5E,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACvD,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY;YACpB,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO;YACL,OAAO,EAAE,MAAM;YACf,iBAAiB,EAAE,CAAC,mBAAmB,CAAC;YACxC,gBAAgB,EACd,QAAQ,CAAC,MAAM,KAAK,SAAS;gBAC3B,CAAC,CAAC,+DAA+D;gBACjE,CAAC,CAAC,+CAA+C;SACtD,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"executorRunners.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/executorRunners.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ingestionExecutors.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/ingestionExecutors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAkB5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAqF7D,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,WAAW,EAAE,GACrB,iBAAiB,CAmGnB;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,CAAC,CA0E5B;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,uBAAuB,GAC/B,iBAAiB,CAkCnB;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,uBAAuB,GACvC,iBAAiB,CAkBnB"}
1
+ {"version":3,"file":"ingestionExecutors.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/ingestionExecutors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAmB5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAqF7D,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,WAAW,EAAE,GACrB,iBAAiB,CAsGnB;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,CAAC,CA0E5B;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,uBAAuB,GAC/B,iBAAiB,CAkCnB;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,cAAc,EACtB,eAAe,EAAE,uBAAuB,GACvC,iBAAiB,CAkBnB"}
@@ -3,6 +3,7 @@ import { buildFlowCoverage } from "./flowCoverage.js";
3
3
  import { buildRequeuePayload } from "./requeueCommand.js";
4
4
  import { buildRuntimeValidationTasks, mergeRuntimeValidationReport, } from "./runtimeValidation.js";
5
5
  import { ingestAuditResults, updateAuditTaskStatuses, } from "./resultIngestion.js";
6
+ import { appendResultsToLedger } from "./ledger.js";
6
7
  import { buildAuditPlanMetrics, sizeIndexFromManifest, } from "./reviewPackets.js";
7
8
  import { updateRuntimeValidationReport } from "./runtimeValidationUpdate.js";
8
9
  import { buildSelectiveDeepeningTasks } from "./selectiveDeepening.js";
@@ -88,7 +89,10 @@ export function runResultIngestionExecutor(bundle, results) {
88
89
  const runtimeValidationReport = runtimeValidationTasks
89
90
  ? mergeRuntimeValidationReport(runtimeValidationTasks, bundle.runtime_validation_report)
90
91
  : bundle.runtime_validation_report;
91
- const mergedResults = [...(bundle.audit_results ?? []), ...results];
92
+ // Append-only, instance-keyed, IDEMPOTENT on idempotency_key (O2): a replay of
93
+ // an already-ingested logical result is a no-op; distinct results sharing a
94
+ // coordinate (base vs. deepening/steward) both persist. Never a naive concat.
95
+ const mergedResults = appendResultsToLedger(bundle.audit_results, results);
92
96
  const completedAuditTasks = updateAuditTaskStatuses(bundle.audit_tasks, mergedResults);
93
97
  const baseUpdatedBundle = {
94
98
  ...bundle,
@@ -1 +1 @@
1
- {"version":3,"file":"ingestionExecutors.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/ingestionExecutors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingestionExecutors.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/ingestionExecutors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import type { IntentCheckpoint } from 'audit-tools/shared';
2
+ /** A gate verdict over a (prior, new) intent_checkpoint pair. */
3
+ export type IntentCheckpointVerdict = 'unchanged' | 'changed';
4
+ /**
5
+ * The bounded LLM judge. Returns `true` iff the two normalized intent values are
6
+ * semantically EQUIVALENT. A judge that is uncertain, errors, or returns a
7
+ * non-boolean is treated as `changed` by the caller (fail-safe) — the judge
8
+ * itself need not encode that policy. Provider-agnostic: the host supplies the
9
+ * actual LLM call; the gate never reaches for a specific backend.
10
+ */
11
+ export type SemanticEquivalenceJudge = (input: {
12
+ priorNormalized: string;
13
+ newNormalized: string;
14
+ }) => Promise<boolean> | boolean;
15
+ /**
16
+ * Deterministic normalization config. Bumping any field bumps `gate_version` and
17
+ * invalidates every cached verdict. Kept as data (not code) so the version hash
18
+ * captures the active policy, not the module's source text.
19
+ */
20
+ export interface NormalizeConfig {
21
+ /** Schema/recipe version of the normalization itself. Bump on any change. */
22
+ readonly version: string;
23
+ /**
24
+ * Checkpoint fields that carry SEMANTIC intent and participate in the normal
25
+ * form. Volatile/provenance fields (timestamps, confirmed_by, schema_version)
26
+ * are excluded so a benign re-confirm normalizes identically.
27
+ */
28
+ readonly semanticFields: readonly (keyof IntentCheckpoint)[];
29
+ }
30
+ /** The single active normalization config (INV-O2-inv-5 input). */
31
+ export declare const DEFAULT_NORMALIZE_CONFIG: NormalizeConfig;
32
+ /** Static prompt-template version — bump on any judge-prompt change. */
33
+ export declare const INTENT_GATE_PROMPT_TEMPLATE_VERSION = "intent-checkpoint-judge-prompt/v1";
34
+ /**
35
+ * Deterministically normalize an intent_checkpoint value to its semantic normal
36
+ * form. Only `config.semanticFields` participate; values are canonically
37
+ * serialized (stable key order) so reordering/whitespace is invisible. An absent
38
+ * checkpoint normalizes to a stable empty marker so present-vs-absent is a real
39
+ * difference, not a crash.
40
+ */
41
+ export declare function normalizeCheckpointValue(checkpoint: IntentCheckpoint | undefined, config?: NormalizeConfig): string;
42
+ /**
43
+ * Compute the LOCALLY-resolved `gate_version` cache key component:
44
+ * `hash(normalizeConfig) + judge-id token + prompt-template version`.
45
+ *
46
+ * NO network/API probe (INV-O2-inv-6): the judge id is a caller-supplied LOCAL
47
+ * token (e.g. a configured model id string already known to the host, or a
48
+ * sentinel like `'host'`), never a live capability query. Bumping the normalize
49
+ * config, the judge id, or the prompt template deterministically invalidates the
50
+ * verdict cache.
51
+ */
52
+ export declare function computeGateVersion(input: {
53
+ normalizeConfig?: NormalizeConfig;
54
+ /** Locally-resolved judge id token. No probe; supplied by the host. */
55
+ judgeId: string;
56
+ promptTemplateVersion?: string;
57
+ }): string;
58
+ /** A cached verdict keyed on (priorNormalized, newNormalized, gate_version). */
59
+ export interface VerdictCache {
60
+ get(key: string): IntentCheckpointVerdict | undefined;
61
+ set(key: string, verdict: IntentCheckpointVerdict): void;
62
+ }
63
+ /** Build the deterministic verdict-cache key from the version-keyed trio. */
64
+ export declare function verdictCacheKey(priorNormalized: string, newNormalized: string, gateVersion: string): string;
65
+ /**
66
+ * The normalize-then-bounded-LLM-judge equivalence gate.
67
+ *
68
+ * 1. Normalize both values; equal normal forms ⟹ `unchanged`, no judge call.
69
+ * 2. Cache hit on (priorNormalized, newNormalized, gate_version) ⟹ cached verdict.
70
+ * 3. Otherwise run the bounded judge; FAIL-SAFE — uncertain/errored/non-boolean
71
+ * ⟹ `'changed'`. Cache and return.
72
+ *
73
+ * Pure decision: holds no lock and does no artifact IO. The lock-interleave
74
+ * discipline lives in `runIntentCheckpointGate`.
75
+ */
76
+ export declare function intentCheckpointEquivalenceGate(input: {
77
+ prior: IntentCheckpoint | undefined;
78
+ next: IntentCheckpoint | undefined;
79
+ judge: SemanticEquivalenceJudge;
80
+ judgeId: string;
81
+ normalizeConfig?: NormalizeConfig;
82
+ promptTemplateVersion?: string;
83
+ cache?: VerdictCache;
84
+ }): Promise<{
85
+ verdict: IntentCheckpointVerdict;
86
+ gateVersion: string;
87
+ judged: boolean;
88
+ }>;
89
+ /**
90
+ * A monotonic ledger/version token capturing the artifact-tree state at read.
91
+ * Any interleaved append moves it; comparing the read-time token to the
92
+ * post-judge token detects an interleave that must force a re-derive.
93
+ */
94
+ export type LedgerVersionToken = string;
95
+ /**
96
+ * Run the intent_checkpoint gate under the O2 lock-interleave discipline.
97
+ *
98
+ * The judge is SLOW and runs OUTSIDE the held lock. Sequence per attempt:
99
+ * 1. Acquire the lock; read the current ledger/version token; release.
100
+ * 2. Run the bounded equivalence gate (judge) UNLOCKED.
101
+ * 3. Re-acquire the lock; read the token again. If unchanged, COMMIT the verdict
102
+ * under the lock and return. If an interleaved append moved the token,
103
+ * release and re-derive (bounded to `maxAttempts`).
104
+ * 4. On attempt exhaustion, take the lock ACROSS the judge for one final
105
+ * guaranteed-committing derivation, recording the fallback firing through the
106
+ * best-effort friction sink (CE-010 residual — never blocks the commit).
107
+ *
108
+ * `withLock` is the artifact-tree lock wrapper (e.g. `withFileLock` bound to the
109
+ * artifact-tree lock path); `commit` persists the decided verdict under the held
110
+ * lock and is the single mutation point.
111
+ */
112
+ export declare function runIntentCheckpointGate<T>(deps: {
113
+ withLock: <R>(fn: () => Promise<R>) => Promise<R>;
114
+ readLedgerToken: () => Promise<LedgerVersionToken>;
115
+ gate: () => Promise<{
116
+ verdict: IntentCheckpointVerdict;
117
+ gateVersion: string;
118
+ }>;
119
+ commit: (verdict: IntentCheckpointVerdict) => Promise<T>;
120
+ /** Best-effort friction recording of the lock-across-judge fallback firing. */
121
+ artifactsDir?: string;
122
+ runId?: string;
123
+ maxAttempts?: number;
124
+ }): Promise<{
125
+ verdict: IntentCheckpointVerdict;
126
+ committed: T;
127
+ usedFallback: boolean;
128
+ }>;
129
+ //# sourceMappingURL=intentCheckpointGate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intentCheckpointGate.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/intentCheckpointGate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,193 @@
1
+ /**
2
+ * O2 — the intent_checkpoint semantic-equivalence gate.
3
+ *
4
+ * The ONE place that decides whether a re-confirmed intent_checkpoint value is
5
+ * semantically EQUIVALENT to the prior one (so dependents need not re-stale) or
6
+ * CHANGED (so the `intent_checkpoint_current` obligation must re-fire and
7
+ * downstream artifacts re-derive). A raw byte/JSON compare over-stales: a host
8
+ * re-confirming the same intent with reordered keys, whitespace, or a benign
9
+ * rephrase would needlessly invalidate the whole planning tree. A pure structural
10
+ * compare under-stales: a genuine intent change phrased to hash-collide on the
11
+ * normalized form would be silently dropped. So the gate is
12
+ * normalize-then-bounded-LLM-judge:
13
+ *
14
+ * 1. NORMALIZE both values deterministically (`normalizeCheckpointValue`). Equal
15
+ * normal forms ⟹ `unchanged` with no judge call (the common, free case).
16
+ * 2. Otherwise a BOUNDED LLM judge decides semantic equivalence. The judge is
17
+ * FAIL-SAFE: any uncertain / errored / malformed verdict resolves to
18
+ * `'changed'` (INV-O2-fail-3) — the gate never silently treats an
19
+ * unverified pair as equivalent.
20
+ *
21
+ * VERSION-KEYED VERDICT CACHE (INV-O2-inv-5): a judge verdict is cached on
22
+ * `(priorValue, newValue, gate_version)`. `gate_version` is a LOCALLY-resolved
23
+ * token — `hash(normalizeConfig) + judge-id token + prompt-template version` —
24
+ * computed with NO network/API probe (INV-O2-inv-6). Bumping the normalize
25
+ * config, swapping the locally-resolved judge, or revising the prompt template
26
+ * invalidates every cached verdict deterministically; an unchanged trio is a
27
+ * cache hit so a re-confirm never re-pays the judge.
28
+ *
29
+ * LOCK INTERLEAVE DISCIPLINE (INV-O2-inv-7 / inv-8, the O2 lock contract): the
30
+ * judge is SLOW and MUST run OUTSIDE the artifact-tree lock. `runIntentCheckpointGate`
31
+ * therefore: reads a ledger/version token under the lock, releases, runs the
32
+ * judge unlocked, then RE-ACQUIRES the lock and compares the token captured at
33
+ * read against the token now. Any interleaved append (token moved) forces a
34
+ * re-derive — bounded to N attempts. On exhaustion it falls back to taking the
35
+ * lock ACROSS the judge for one final guaranteed-committing derivation, and
36
+ * records that fallback firing through the best-effort friction sink (CE-010
37
+ * residual: a contended friction append under the held non-reentrant lock is
38
+ * swallowed best-effort, never blocking the commit).
39
+ */
40
+ import { captureFrictionEvent, hashContent, stableStringify } from 'audit-tools/shared';
41
+ /** The single active normalization config (INV-O2-inv-5 input). */
42
+ export const DEFAULT_NORMALIZE_CONFIG = {
43
+ version: 'intent-checkpoint-normalize/v1',
44
+ semanticFields: ['scope_summary', 'intent_summary', 'free_form_intent', 'constraint_clauses'],
45
+ };
46
+ /** Static prompt-template version — bump on any judge-prompt change. */
47
+ export const INTENT_GATE_PROMPT_TEMPLATE_VERSION = 'intent-checkpoint-judge-prompt/v1';
48
+ /**
49
+ * Deterministically normalize an intent_checkpoint value to its semantic normal
50
+ * form. Only `config.semanticFields` participate; values are canonically
51
+ * serialized (stable key order) so reordering/whitespace is invisible. An absent
52
+ * checkpoint normalizes to a stable empty marker so present-vs-absent is a real
53
+ * difference, not a crash.
54
+ */
55
+ export function normalizeCheckpointValue(checkpoint, config = DEFAULT_NORMALIZE_CONFIG) {
56
+ if (!checkpoint)
57
+ return stableStringify({ __absent: true });
58
+ const projection = {};
59
+ for (const field of config.semanticFields) {
60
+ const value = checkpoint[field];
61
+ if (value !== undefined) {
62
+ // free_form_intent is whitespace-insensitive at the edges; clauses/objects
63
+ // are compared structurally via the stable serializer.
64
+ projection[field] =
65
+ typeof value === 'string' ? value.trim() : value;
66
+ }
67
+ }
68
+ return stableStringify(projection);
69
+ }
70
+ /**
71
+ * Compute the LOCALLY-resolved `gate_version` cache key component:
72
+ * `hash(normalizeConfig) + judge-id token + prompt-template version`.
73
+ *
74
+ * NO network/API probe (INV-O2-inv-6): the judge id is a caller-supplied LOCAL
75
+ * token (e.g. a configured model id string already known to the host, or a
76
+ * sentinel like `'host'`), never a live capability query. Bumping the normalize
77
+ * config, the judge id, or the prompt template deterministically invalidates the
78
+ * verdict cache.
79
+ */
80
+ export function computeGateVersion(input) {
81
+ const normalizeConfig = input.normalizeConfig ?? DEFAULT_NORMALIZE_CONFIG;
82
+ const promptTemplateVersion = input.promptTemplateVersion ?? INTENT_GATE_PROMPT_TEMPLATE_VERSION;
83
+ const configHash = hashContent(stableStringify(normalizeConfig), { length: 16 });
84
+ return `${configHash}:${input.judgeId}:${promptTemplateVersion}`;
85
+ }
86
+ /** Build the deterministic verdict-cache key from the version-keyed trio. */
87
+ export function verdictCacheKey(priorNormalized, newNormalized, gateVersion) {
88
+ return hashContent(stableStringify([priorNormalized, newNormalized, gateVersion]));
89
+ }
90
+ /**
91
+ * The normalize-then-bounded-LLM-judge equivalence gate.
92
+ *
93
+ * 1. Normalize both values; equal normal forms ⟹ `unchanged`, no judge call.
94
+ * 2. Cache hit on (priorNormalized, newNormalized, gate_version) ⟹ cached verdict.
95
+ * 3. Otherwise run the bounded judge; FAIL-SAFE — uncertain/errored/non-boolean
96
+ * ⟹ `'changed'`. Cache and return.
97
+ *
98
+ * Pure decision: holds no lock and does no artifact IO. The lock-interleave
99
+ * discipline lives in `runIntentCheckpointGate`.
100
+ */
101
+ export async function intentCheckpointEquivalenceGate(input) {
102
+ const config = input.normalizeConfig ?? DEFAULT_NORMALIZE_CONFIG;
103
+ const priorNormalized = normalizeCheckpointValue(input.prior, config);
104
+ const newNormalized = normalizeCheckpointValue(input.next, config);
105
+ const gateVersion = computeGateVersion({
106
+ normalizeConfig: config,
107
+ judgeId: input.judgeId,
108
+ promptTemplateVersion: input.promptTemplateVersion,
109
+ });
110
+ if (priorNormalized === newNormalized) {
111
+ return { verdict: 'unchanged', gateVersion, judged: false };
112
+ }
113
+ const cacheKey = verdictCacheKey(priorNormalized, newNormalized, gateVersion);
114
+ const cached = input.cache?.get(cacheKey);
115
+ if (cached !== undefined) {
116
+ return { verdict: cached, gateVersion, judged: false };
117
+ }
118
+ let verdict;
119
+ try {
120
+ const equivalent = await input.judge({ priorNormalized, newNormalized });
121
+ // FAIL-SAFE: only an explicit `true` resolves to unchanged; anything else
122
+ // (false, non-boolean, undefined) is treated as changed.
123
+ verdict = equivalent === true ? 'unchanged' : 'changed';
124
+ }
125
+ catch {
126
+ // FAIL-SAFE: a judge error never silently passes as equivalent.
127
+ verdict = 'changed';
128
+ }
129
+ input.cache?.set(cacheKey, verdict);
130
+ return { verdict, gateVersion, judged: true };
131
+ }
132
+ /**
133
+ * Run the intent_checkpoint gate under the O2 lock-interleave discipline.
134
+ *
135
+ * The judge is SLOW and runs OUTSIDE the held lock. Sequence per attempt:
136
+ * 1. Acquire the lock; read the current ledger/version token; release.
137
+ * 2. Run the bounded equivalence gate (judge) UNLOCKED.
138
+ * 3. Re-acquire the lock; read the token again. If unchanged, COMMIT the verdict
139
+ * under the lock and return. If an interleaved append moved the token,
140
+ * release and re-derive (bounded to `maxAttempts`).
141
+ * 4. On attempt exhaustion, take the lock ACROSS the judge for one final
142
+ * guaranteed-committing derivation, recording the fallback firing through the
143
+ * best-effort friction sink (CE-010 residual — never blocks the commit).
144
+ *
145
+ * `withLock` is the artifact-tree lock wrapper (e.g. `withFileLock` bound to the
146
+ * artifact-tree lock path); `commit` persists the decided verdict under the held
147
+ * lock and is the single mutation point.
148
+ */
149
+ export async function runIntentCheckpointGate(deps) {
150
+ const maxAttempts = deps.maxAttempts ?? 3;
151
+ for (let attempt = 0; attempt < maxAttempts; attempt += 1) {
152
+ // (1) Capture the read-time token under the lock, then release.
153
+ const readToken = await deps.withLock(() => deps.readLedgerToken());
154
+ // (2) Run the slow judge UNLOCKED.
155
+ const { verdict } = await deps.gate();
156
+ // (3) Re-acquire; if no interleave, commit under the lock.
157
+ const outcome = await deps.withLock(async () => {
158
+ const nowToken = await deps.readLedgerToken();
159
+ if (nowToken !== readToken) {
160
+ // Interleaved append — bail out of this attempt and re-derive.
161
+ return { committed: undefined, interleaved: true };
162
+ }
163
+ const committed = await deps.commit(verdict);
164
+ return { committed, interleaved: false };
165
+ });
166
+ if (!outcome.interleaved) {
167
+ return { verdict, committed: outcome.committed, usedFallback: false };
168
+ }
169
+ // else: token moved during the unlocked judge — loop and re-derive.
170
+ }
171
+ // (4) Attempts exhausted under repeated contention: take the lock ACROSS the
172
+ // judge for one final guaranteed-committing derivation. Record the fallback
173
+ // firing best-effort (CE-010 residual: a contended friction append under the
174
+ // held non-reentrant lock is swallowed best-effort, never blocking the commit).
175
+ return deps.withLock(async () => {
176
+ if (deps.artifactsDir && deps.runId) {
177
+ // Fire-and-forget but awaited: captureFrictionEvent is itself best-effort
178
+ // and never throws, so it can never block the commit below.
179
+ await captureFrictionEvent(deps.artifactsDir, deps.runId, {
180
+ id: `intent-gate-lock-across-judge-fallback:${deps.runId}`,
181
+ category: 'trap',
182
+ severity: 'low',
183
+ area: 'intent_checkpoint gate',
184
+ note: 'intent_checkpoint gate fell back to taking the lock across the LLM judge after ' +
185
+ `${maxAttempts} interleaved re-derive attempts; one guaranteed-committing derivation ran under the held lock.`,
186
+ }, 'audit-code');
187
+ }
188
+ const { verdict } = await deps.gate();
189
+ const committed = await deps.commit(verdict);
190
+ return { verdict, committed, usedFallback: true };
191
+ });
192
+ }
193
+ //# sourceMappingURL=intentCheckpointGate.js.map