audit-tools 0.42.1 → 0.43.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 (224) hide show
  1. package/dispatch/merge-results.mjs +229 -140
  2. package/dispatch/validate-result.mjs +98 -40
  3. package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
  4. package/dist/audit/cli/conceptualDispatch.js +35 -3
  5. package/dist/audit/cli/conceptualDispatch.js.map +1 -1
  6. package/dist/audit/cli/dispatch/hostHandoff.d.ts +9 -1
  7. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  8. package/dist/audit/cli/dispatch/hostHandoff.js +94 -38
  9. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  10. package/dist/audit/cli/nextStepCommand.d.ts +64 -0
  11. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  12. package/dist/audit/cli/nextStepCommand.js +877 -783
  13. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  14. package/dist/audit/cli/nextStepHelpers.d.ts +12 -0
  15. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  16. package/dist/audit/cli/nextStepHelpers.js +34 -1
  17. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  18. package/dist/audit/cli/steps.d.ts +2 -2
  19. package/dist/audit/extractors/graph.d.ts +28 -2
  20. package/dist/audit/extractors/graph.d.ts.map +1 -1
  21. package/dist/audit/extractors/graph.js +122 -11
  22. package/dist/audit/extractors/graph.js.map +1 -1
  23. package/dist/audit/extractors/graphRoutes.d.ts +8 -0
  24. package/dist/audit/extractors/graphRoutes.d.ts.map +1 -1
  25. package/dist/audit/extractors/graphRoutes.js +71 -4
  26. package/dist/audit/extractors/graphRoutes.js.map +1 -1
  27. package/dist/audit/io/artifacts.d.ts +55 -0
  28. package/dist/audit/io/artifacts.d.ts.map +1 -1
  29. package/dist/audit/io/artifacts.js +189 -12
  30. package/dist/audit/io/artifacts.js.map +1 -1
  31. package/dist/audit/io/toolingManifest.d.ts +11 -0
  32. package/dist/audit/io/toolingManifest.d.ts.map +1 -1
  33. package/dist/audit/io/toolingManifest.js +13 -3
  34. package/dist/audit/io/toolingManifest.js.map +1 -1
  35. package/dist/audit/orchestrator/advance.d.ts +64 -0
  36. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  37. package/dist/audit/orchestrator/advance.js +191 -57
  38. package/dist/audit/orchestrator/advance.js.map +1 -1
  39. package/dist/audit/orchestrator/charterClarificationExecutor.d.ts.map +1 -1
  40. package/dist/audit/orchestrator/charterClarificationExecutor.js +55 -21
  41. package/dist/audit/orchestrator/charterClarificationExecutor.js.map +1 -1
  42. package/dist/audit/orchestrator/flowCoverage.d.ts.map +1 -1
  43. package/dist/audit/orchestrator/flowCoverage.js +7 -10
  44. package/dist/audit/orchestrator/flowCoverage.js.map +1 -1
  45. package/dist/audit/orchestrator/flowPlanning.d.ts +54 -1
  46. package/dist/audit/orchestrator/flowPlanning.d.ts.map +1 -1
  47. package/dist/audit/orchestrator/flowPlanning.js +77 -18
  48. package/dist/audit/orchestrator/flowPlanning.js.map +1 -1
  49. package/dist/audit/orchestrator/flowRequeue.d.ts.map +1 -1
  50. package/dist/audit/orchestrator/flowRequeue.js +6 -10
  51. package/dist/audit/orchestrator/flowRequeue.js.map +1 -1
  52. package/dist/audit/orchestrator/requeueFold.d.ts.map +1 -1
  53. package/dist/audit/orchestrator/requeueFold.js +18 -5
  54. package/dist/audit/orchestrator/requeueFold.js.map +1 -1
  55. package/dist/audit/orchestrator/staleness.d.ts +24 -1
  56. package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
  57. package/dist/audit/orchestrator/staleness.js +147 -16
  58. package/dist/audit/orchestrator/staleness.js.map +1 -1
  59. package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts +26 -0
  60. package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts.map +1 -1
  61. package/dist/audit/orchestrator/syntaxResolutionExecutor.js +97 -12
  62. package/dist/audit/orchestrator/syntaxResolutionExecutor.js.map +1 -1
  63. package/dist/audit/orchestrator/taskBuilder.d.ts.map +1 -1
  64. package/dist/audit/orchestrator/taskBuilder.js +111 -21
  65. package/dist/audit/orchestrator/taskBuilder.js.map +1 -1
  66. package/dist/audit/orchestrator/trivialAudit.d.ts +17 -1
  67. package/dist/audit/orchestrator/trivialAudit.d.ts.map +1 -1
  68. package/dist/audit/orchestrator/trivialAudit.js +31 -4
  69. package/dist/audit/orchestrator/trivialAudit.js.map +1 -1
  70. package/dist/audit/types/analyzerCapability.d.ts +6 -6
  71. package/dist/audit/types/charterRegister.d.ts +30 -12
  72. package/dist/audit/types/charterRegister.d.ts.map +1 -1
  73. package/dist/audit/types/charterRegister.js +22 -9
  74. package/dist/audit/types/charterRegister.js.map +1 -1
  75. package/dist/audit/validation/anchorGrounding.d.ts.map +1 -1
  76. package/dist/audit/validation/anchorGrounding.js +17 -0
  77. package/dist/audit/validation/anchorGrounding.js.map +1 -1
  78. package/dist/audit/validation/auditResults.d.ts +17 -0
  79. package/dist/audit/validation/auditResults.d.ts.map +1 -1
  80. package/dist/audit/validation/auditResults.js +50 -17
  81. package/dist/audit/validation/auditResults.js.map +1 -1
  82. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts +48 -0
  83. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts.map +1 -1
  84. package/dist/remediate/contractPipeline/cyclicSeamResolution.js +128 -0
  85. package/dist/remediate/contractPipeline/cyclicSeamResolution.js.map +1 -1
  86. package/dist/remediate/contractPipeline/derive.d.ts +8 -5
  87. package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
  88. package/dist/remediate/contractPipeline/derive.js +8 -16
  89. package/dist/remediate/contractPipeline/derive.js.map +1 -1
  90. package/dist/remediate/index.d.ts.map +1 -1
  91. package/dist/remediate/index.js +43 -2
  92. package/dist/remediate/index.js.map +1 -1
  93. package/dist/remediate/intent/intentOrdering.d.ts +13 -5
  94. package/dist/remediate/intent/intentOrdering.d.ts.map +1 -1
  95. package/dist/remediate/intent/intentOrdering.js +56 -25
  96. package/dist/remediate/intent/intentOrdering.js.map +1 -1
  97. package/dist/remediate/phases/close.d.ts +57 -2
  98. package/dist/remediate/phases/close.d.ts.map +1 -1
  99. package/dist/remediate/phases/close.js +260 -36
  100. package/dist/remediate/phases/close.js.map +1 -1
  101. package/dist/remediate/state/disposition.d.ts +26 -4
  102. package/dist/remediate/state/disposition.d.ts.map +1 -1
  103. package/dist/remediate/state/itemStatus.d.ts +33 -6
  104. package/dist/remediate/state/itemStatus.d.ts.map +1 -1
  105. package/dist/remediate/state/itemStatus.js +154 -39
  106. package/dist/remediate/state/itemStatus.js.map +1 -1
  107. package/dist/remediate/state/types.d.ts +41 -2
  108. package/dist/remediate/state/types.d.ts.map +1 -1
  109. package/dist/remediate/state/types.js.map +1 -1
  110. package/dist/remediate/steps/contractPipeline.d.ts +287 -15
  111. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  112. package/dist/remediate/steps/contractPipeline.js +1655 -981
  113. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  114. package/dist/remediate/steps/dispatch/hostHandoff.d.ts +137 -2
  115. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  116. package/dist/remediate/steps/dispatch/hostHandoff.js +713 -59
  117. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  118. package/dist/remediate/steps/finalGate.d.ts +136 -37
  119. package/dist/remediate/steps/finalGate.d.ts.map +1 -1
  120. package/dist/remediate/steps/finalGate.js +120 -86
  121. package/dist/remediate/steps/finalGate.js.map +1 -1
  122. package/dist/remediate/steps/gateCommands.d.ts +8 -0
  123. package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
  124. package/dist/remediate/steps/gateCommands.js +40 -11
  125. package/dist/remediate/steps/gateCommands.js.map +1 -1
  126. package/dist/remediate/steps/nextStep.d.ts +96 -5
  127. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  128. package/dist/remediate/steps/nextStep.js +668 -147
  129. package/dist/remediate/steps/nextStep.js.map +1 -1
  130. package/dist/remediate/steps/types.d.ts +4 -1
  131. package/dist/remediate/steps/types.d.ts.map +1 -1
  132. package/dist/remediate/steps/types.js +10 -0
  133. package/dist/remediate/steps/types.js.map +1 -1
  134. package/dist/remediate/validation/artifacts.d.ts +20 -0
  135. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  136. package/dist/remediate/validation/artifacts.js +239 -13
  137. package/dist/remediate/validation/artifacts.js.map +1 -1
  138. package/dist/remediate/validation/contractPipelineGates.d.ts +58 -0
  139. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  140. package/dist/remediate/validation/contractPipelineGates.js +143 -27
  141. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  142. package/dist/shared/analyzers/acquisitionEngine.d.ts +72 -25
  143. package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
  144. package/dist/shared/analyzers/acquisitionEngine.js +149 -15
  145. package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
  146. package/dist/shared/analyzers/binaryAcquisition.d.ts +27 -2
  147. package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
  148. package/dist/shared/analyzers/binaryAcquisition.js +149 -43
  149. package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
  150. package/dist/shared/analyzers/candidates.d.ts +9 -8
  151. package/dist/shared/analyzers/candidates.d.ts.map +1 -1
  152. package/dist/shared/analyzers/candidates.js +96 -64
  153. package/dist/shared/analyzers/candidates.js.map +1 -1
  154. package/dist/shared/analyzers/normalizeExternal.d.ts +40 -12
  155. package/dist/shared/analyzers/normalizeExternal.d.ts.map +1 -1
  156. package/dist/shared/analyzers/normalizeExternal.js +74 -18
  157. package/dist/shared/analyzers/normalizeExternal.js.map +1 -1
  158. package/dist/shared/analyzers/rubocop.d.ts +14 -13
  159. package/dist/shared/analyzers/rubocop.d.ts.map +1 -1
  160. package/dist/shared/analyzers/rubocop.js +29 -6
  161. package/dist/shared/analyzers/rubocop.js.map +1 -1
  162. package/dist/shared/analyzers/types.d.ts +196 -13
  163. package/dist/shared/analyzers/types.d.ts.map +1 -1
  164. package/dist/shared/analyzers/types.js +122 -9
  165. package/dist/shared/analyzers/types.js.map +1 -1
  166. package/dist/shared/decompose/charterClarification.d.ts +12 -1
  167. package/dist/shared/decompose/charterClarification.d.ts.map +1 -1
  168. package/dist/shared/decompose/charterClarification.js +11 -4
  169. package/dist/shared/decompose/charterClarification.js.map +1 -1
  170. package/dist/shared/decompose/charterExtraction.d.ts +20 -10
  171. package/dist/shared/decompose/charterExtraction.d.ts.map +1 -1
  172. package/dist/shared/decompose/charterExtraction.js +52 -23
  173. package/dist/shared/decompose/charterExtraction.js.map +1 -1
  174. package/dist/shared/intent/freeFormIntentInterpreter.d.ts +12 -2
  175. package/dist/shared/intent/freeFormIntentInterpreter.d.ts.map +1 -1
  176. package/dist/shared/intent/freeFormIntentInterpreter.js +27 -22
  177. package/dist/shared/intent/freeFormIntentInterpreter.js.map +1 -1
  178. package/dist/shared/intent/pathScope.d.ts +12 -1
  179. package/dist/shared/intent/pathScope.d.ts.map +1 -1
  180. package/dist/shared/intent/pathScope.js +56 -19
  181. package/dist/shared/intent/pathScope.js.map +1 -1
  182. package/dist/shared/intent/sharedIntentData.d.ts +19 -1
  183. package/dist/shared/intent/sharedIntentData.d.ts.map +1 -1
  184. package/dist/shared/intent/sharedIntentData.js +33 -8
  185. package/dist/shared/intent/sharedIntentData.js.map +1 -1
  186. package/dist/shared/io/fileLock.d.ts +12 -0
  187. package/dist/shared/io/fileLock.d.ts.map +1 -1
  188. package/dist/shared/io/fileLock.js +48 -5
  189. package/dist/shared/io/fileLock.js.map +1 -1
  190. package/dist/shared/io/json.d.ts +13 -0
  191. package/dist/shared/io/json.d.ts.map +1 -1
  192. package/dist/shared/io/json.js +19 -1
  193. package/dist/shared/io/json.js.map +1 -1
  194. package/dist/shared/steps/stepEmissionScaffold.d.ts +69 -0
  195. package/dist/shared/steps/stepEmissionScaffold.d.ts.map +1 -0
  196. package/dist/shared/steps/stepEmissionScaffold.js +83 -0
  197. package/dist/shared/steps/stepEmissionScaffold.js.map +1 -0
  198. package/dist/shared/submission/handRecovery.d.ts.map +1 -1
  199. package/dist/shared/submission/handRecovery.js +69 -4
  200. package/dist/shared/submission/handRecovery.js.map +1 -1
  201. package/dist/shared/submission/submissionIdentity.d.ts +10 -1
  202. package/dist/shared/submission/submissionIdentity.d.ts.map +1 -1
  203. package/dist/shared/submission/submissionIdentity.js +12 -3
  204. package/dist/shared/submission/submissionIdentity.js.map +1 -1
  205. package/dist/shared/submission/submissionLedger.d.ts +43 -2
  206. package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
  207. package/dist/shared/submission/submissionLedger.js +50 -7
  208. package/dist/shared/submission/submissionLedger.js.map +1 -1
  209. package/dist/shared/tooling/allowlistedExec.d.ts +9 -0
  210. package/dist/shared/tooling/allowlistedExec.d.ts.map +1 -1
  211. package/dist/shared/tooling/allowlistedExec.js +19 -2
  212. package/dist/shared/tooling/allowlistedExec.js.map +1 -1
  213. package/dist/shared/types/charter.d.ts +24 -0
  214. package/dist/shared/types/charter.d.ts.map +1 -1
  215. package/dist/shared/types/charter.js +9 -0
  216. package/dist/shared/types/charter.js.map +1 -1
  217. package/dist/shared/types/remediationOutcome.d.ts +282 -9
  218. package/dist/shared/types/remediationOutcome.d.ts.map +1 -1
  219. package/dist/shared/types/remediationOutcome.js +174 -1
  220. package/dist/shared/types/remediationOutcome.js.map +1 -1
  221. package/package.json +2 -1
  222. package/remediate-code.mjs +15 -0
  223. package/wrapper/remediate-code-wrapper-install-hosts.mjs +45 -4
  224. package/wrapper/remediate-code-wrapper-install-renderers.mjs +12 -2
@@ -1 +1 @@
1
- {"version":3,"file":"charterExtraction.d.ts","sourceRoot":"","sources":["../../../src/shared/decompose/charterExtraction.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAQL,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAgBnD;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIzB,CAAC;AACZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AA0CxE;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAjBrC,2CAA2C;;;;;QAK3C,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkBhD;;;;;;OAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBH,CAAC;AACL,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAIlF;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;CAC5D;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,UAAU,EAAE,SAAS,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAyFD,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,sBAAsB,GAC7B,iBAAiB,CAqKnB;AAID,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,sBAAsB,EAClC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,MAAM,EAAE,oBAAoB,GAC3B,eAAe,CA8KjB"}
1
+ {"version":3,"file":"charterExtraction.d.ts","sourceRoot":"","sources":["../../../src/shared/decompose/charterExtraction.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@
20
20
  // language-neutral (operates on abstract file-path scopes + telos strings, no
21
21
  // IO): provenance-on-disk grounding is the ingest's concern, not this module's.
22
22
  import { z } from "zod";
23
+ import { hashContent } from "../hash.js";
23
24
  import { CharterSchema, CharterKindSchema, CharterConfidenceSchema, CharterProvenanceSchema, GoalGraphSchema, TeleologyNodeSchema, TriangulatedTelosSchema, } from "../types/charter.js";
24
25
  import { applyTrueCharterGate, gateCharterDelta, } from "../validation/charterGate.js";
25
26
  // ── Submission contracts (what the host LLM writes to its bound path) ───────
@@ -361,15 +362,6 @@ export function assembleCharters(submission, params) {
361
362
  }
362
363
  return { subsystems, validation_issues };
363
364
  }
364
- /**
365
- * Assemble the routed+gated deltas, triangulated teloses, and disagreement
366
- * density (Phase C.2) from the independent miner's submission, given the
367
- * already-joined charters. The miner never picks routing — `kind`/`routed_to`
368
- * derive from the channel pair (the design's fixed table). A delta whose
369
- * `node_id` has no joined charters, or that references a missing/dropped
370
- * charter kind, is dropped with an issue; so is a triangulated telos or True
371
- * nomination naming an unknown unit.
372
- */
373
365
  export function assembleDeltas(submission, subsystems, params) {
374
366
  const deltas = [];
375
367
  const findings = [];
@@ -379,6 +371,10 @@ export function assembleDeltas(submission, subsystems, params) {
379
371
  charters: [...s.charters],
380
372
  }));
381
373
  const byNode = new Map(augmented.map((s) => [s.node_id, s]));
374
+ // Every goal-graph node id the miner reported — a delta's subsystem is
375
+ // "linked" exactly when its node_id appears here (mirrors the existing
376
+ // out-of-scope consumer's own derivation, now computed once here instead).
377
+ const goalNodeIds = new Set((submission.goal_graph?.nodes ?? []).map((n) => n.node_id));
382
378
  // True nominations first (deepest only): survivors join the unit's charters
383
379
  // and are pair-eligible for this same submission's deltas.
384
380
  const nominations = [...submission.true_nominations].sort((a, b) => a.node_id.localeCompare(b.node_id) || a.purpose.localeCompare(b.purpose));
@@ -425,6 +421,10 @@ export function assembleDeltas(submission, subsystems, params) {
425
421
  }
426
422
  const kept = subsystem.charters;
427
423
  const keptByKind = new Map(kept.map((c) => [c.kind, c]));
424
+ // Pass 1: validate + route every draft delta (identical checks/drop
425
+ // reasons/order to before), grouping the SURVIVORS by canonical pair —
426
+ // the grouping key delta_id minting (pass 2) discriminates on.
427
+ const survivorsByPairKey = new Map();
428
428
  for (const draft of sub.deltas) {
429
429
  const [ka, kb] = canonicalPair(draft.pair);
430
430
  if (ka === kb) {
@@ -445,17 +445,44 @@ export function assembleDeltas(submission, subsystems, params) {
445
445
  validation_issues.push(`subsystem "${sub.node_id}" delta [${ka}, ${kb}] references a missing/dropped charter (${missing}) — dropped`);
446
446
  continue;
447
447
  }
448
- const baseDelta = {
449
- delta_id: `${sub.node_id}:${ka}-${kb}`,
450
- pair: [ka, kb],
451
- kind: route.kind,
452
- routed_to: route.routed_to,
453
- summary: draft.summary,
454
- };
455
- // Phase-A low-confidence gate: a shaky side forces the human channel.
456
- const gated = gateCharterDelta(baseDelta, kept);
457
- deltas.push(gated);
458
- findings.push(deltaToFinding(gated, sub.node_id, subsystem.members, route.severity, weakerConfidence(charterA, charterB)));
448
+ const pairKey = `${ka}|${kb}`;
449
+ const list = survivorsByPairKey.get(pairKey) ?? [];
450
+ list.push({ pair: [ka, kb], route, charterA, charterB, summary: draft.summary });
451
+ survivorsByPairKey.set(pairKey, list);
452
+ }
453
+ // Pass 2: mint delta_id per group. A subsystem mining exactly ONE delta on
454
+ // a channel pair — the common case — keeps the bare, pre-existing
455
+ // `node_id:ka-kb` shape (identity was already unique; no discriminator
456
+ // needed or added). A subsystem mining MORE THAN ONE delta on the SAME
457
+ // canonical pair (COR-6b924995 / COR-d8089caf: `[stated,revealed]` and
458
+ // `[revealed,stated]` collide into this same group via canonicalPair
459
+ // above, so pair order can never dodge this) gets each member a
460
+ // content-derived discriminator — a hash of its own summary, never a
461
+ // submission-array index — so identity is stable and order-independent
462
+ // regardless of which order the miner happened to list them in.
463
+ for (const group of survivorsByPairKey.values()) {
464
+ for (const surv of group) {
465
+ const [ka, kb] = surv.pair;
466
+ const delta_id = group.length === 1
467
+ ? `${sub.node_id}:${ka}-${kb}`
468
+ : `${sub.node_id}:${ka}-${kb}:${hashContent(surv.summary, { length: 8 })}`;
469
+ const baseDelta = {
470
+ delta_id,
471
+ pair: surv.pair,
472
+ kind: surv.route.kind,
473
+ routed_to: surv.route.routed_to,
474
+ summary: surv.summary,
475
+ node_id: sub.node_id,
476
+ ...(goalNodeIds.has(sub.node_id) ? { goal_node_id: sub.node_id } : {}),
477
+ };
478
+ // Phase-A low-confidence gate: a shaky side forces the human channel.
479
+ // gateCharterDelta either returns `delta` unchanged or spreads it
480
+ // (`{ ...delta, routed_to: "human" }`), so node_id/goal_node_id
481
+ // survive the call; the cast reflects that read, not an assumption.
482
+ const gated = gateCharterDelta(baseDelta, kept);
483
+ deltas.push(gated);
484
+ findings.push(deltaToFinding(gated, sub.node_id, subsystem.members, surv.route.severity, weakerConfidence(surv.charterA, surv.charterB)));
485
+ }
459
486
  }
460
487
  }
461
488
  // Triangulated teloses: one per known unit; a lead the owner reacts to.
@@ -478,14 +505,16 @@ export function assembleDeltas(submission, subsystems, params) {
478
505
  // clarification."
479
506
  const densityByKey = new Map();
480
507
  for (const delta of deltas) {
481
- const key = `${delta.delta_id.slice(0, delta.delta_id.lastIndexOf(":"))}|${delta.pair[0]}|${delta.pair[1]}`;
482
- const nodeId = delta.delta_id.slice(0, delta.delta_id.lastIndexOf(":"));
508
+ // Read the explicit field (INV-CDI-EXPLICIT-NODE-FIELDS) — never parse
509
+ // delta_id, which is opaque and, since the fix above, may carry a
510
+ // discriminator suffix a naive last-colon split would misread.
511
+ const key = `${delta.node_id}|${delta.pair[0]}|${delta.pair[1]}`;
483
512
  const existing = densityByKey.get(key);
484
513
  if (existing) {
485
514
  densityByKey.set(key, { ...existing, count: existing.count + 1 });
486
515
  }
487
516
  else {
488
- densityByKey.set(key, { node_id: nodeId, pair: delta.pair, count: 1 });
517
+ densityByKey.set(key, { node_id: delta.node_id, pair: delta.pair, count: 1 });
489
518
  }
490
519
  }
491
520
  const disagreement = [...densityByKey.values()].sort((a, b) => a.node_id.localeCompare(b.node_id) ||
@@ -1 +1 @@
1
- {"version":3,"file":"charterExtraction.js","sourceRoot":"","sources":["../../../src/shared/decompose/charterExtraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"charterExtraction.js","sourceRoot":"","sources":["../../../src/shared/decompose/charterExtraction.ts"],"names":[],"mappings":"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"}
@@ -24,10 +24,20 @@ export interface InterpretedIntent {
24
24
  */
25
25
  prioritySignals: string[];
26
26
  /**
27
- * Clauses that narrow or exclude scope (e.g. "focus on the auth module",
28
- * "ignore vendor/").
27
+ * INCLUSION-polarity clauses that narrow scope IN (e.g. "focus on the auth
28
+ * module", "only audit src/"). Never carries an exclusion clause — see
29
+ * {@link scopeExclusions} — so a consumer boosting by scope match cannot
30
+ * accidentally boost the scope the user asked to avoid (COR-a0648a7d).
29
31
  */
30
32
  scopeEmphasis: string[];
33
+ /**
34
+ * EXCLUSION-polarity clauses that narrow scope OUT (e.g. "ignore vendor/",
35
+ * "skip tests/"). Kept in a DEDICATED field, never merged into
36
+ * {@link scopeEmphasis}, so a consumer can tell "the user wants this in
37
+ * focus" from "the user wants this avoided" without re-parsing the lead-in
38
+ * verb itself (the sign-convention bug COR-a0648a7d / COR-a0648a7d-2).
39
+ */
40
+ scopeExclusions: string[];
31
41
  /**
32
42
  * Clauses that could not be encoded as a lens weight, scope emphasis, or
33
43
  * priority signal. Callers SHOULD promote these to blocking checkpoint
@@ -1 +1 @@
1
- {"version":3,"file":"freeFormIntentInterpreter.d.ts","sourceRoot":"","sources":["../../../src/shared/intent/freeFormIntentInterpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAE/D,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C;;;OAGG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;OAGG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAiFD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CA+CxE"}
1
+ {"version":3,"file":"freeFormIntentInterpreter.d.ts","sourceRoot":"","sources":["../../../src/shared/intent/freeFormIntentInterpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAElB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAE/D,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C;;;OAGG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;OAKG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;OAMG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAsED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CA8DxE"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * All logic is pure and synchronous — no I/O, no LLM calls.
9
9
  */
10
- import { LENS_KEYWORD_MAP, SCOPE_PATTERNS, PRIORITY_PATTERNS } from "./sharedIntentData.js";
10
+ import { LENS_KEYWORD_MAP, SCOPE_PATTERNS, PRIORITY_PATTERNS, scopeClausePolarity, } from "./sharedIntentData.js";
11
11
  // Re-export shared data so callers that only import from this module keep working.
12
12
  export { LENS_KEYWORD_MAP, SCOPE_PATTERNS, PRIORITY_PATTERNS };
13
13
  // ---------------------------------------------------------------------------
@@ -64,16 +64,6 @@ function matchLenses(clause) {
64
64
  }
65
65
  return [...matched];
66
66
  }
67
- /** Return the first scope-emphasis string for a clause, or null. */
68
- function matchScopeEmphasis(clause) {
69
- for (const pattern of SCOPE_PATTERNS) {
70
- const m = pattern.exec(clause);
71
- if (m) {
72
- return clause.trim();
73
- }
74
- }
75
- return null;
76
- }
77
67
  /** Return true if the clause signals urgency/priority. */
78
68
  function matchesPriority(clause) {
79
69
  return PRIORITY_PATTERNS.some((p) => p.test(clause));
@@ -93,6 +83,7 @@ export function interpretFreeFormIntent(input) {
93
83
  lensWeights: {},
94
84
  prioritySignals: [],
95
85
  scopeEmphasis: [],
86
+ scopeExclusions: [],
96
87
  unencodableClauses: [],
97
88
  };
98
89
  if (!input || !input.trim()) {
@@ -101,25 +92,39 @@ export function interpretFreeFormIntent(input) {
101
92
  const clauses = decomposeClauses(input);
102
93
  for (const clause of clauses) {
103
94
  let encoded = false;
95
+ // A clause's polarity gates the lens boost below: an EXCLUSION-polarity
96
+ // clause (e.g. "ignore performance issues") must never register a
97
+ // positive lensWeight for a keyword it happens to contain — the user
98
+ // asked to de-emphasise this clause, not weight it (COR-a0648a7d).
99
+ const polarity = scopeClausePolarity(clause);
104
100
  // Lens matching
105
- const lenses = matchLenses(clause);
106
- if (lenses.length > 0) {
107
- for (const lens of lenses) {
108
- const current = result.lensWeights[lens] ?? 1.0;
109
- // Accumulate boost — repeated mentions increase weight slightly.
110
- result.lensWeights[lens] = Math.max(current, DEFAULT_WEIGHT_BOOST);
101
+ if (polarity !== "exclude") {
102
+ const lenses = matchLenses(clause);
103
+ if (lenses.length > 0) {
104
+ for (const lens of lenses) {
105
+ const current = result.lensWeights[lens] ?? 1.0;
106
+ // Accumulate boost — repeated mentions increase weight slightly.
107
+ result.lensWeights[lens] = Math.max(current, DEFAULT_WEIGHT_BOOST);
108
+ }
109
+ encoded = true;
111
110
  }
112
- encoded = true;
113
111
  }
114
112
  // Priority signal
115
113
  if (matchesPriority(clause)) {
116
114
  result.prioritySignals.push(clause);
117
115
  encoded = true;
118
116
  }
119
- // Scope emphasis
120
- const scope = matchScopeEmphasis(clause);
121
- if (scope !== null) {
122
- result.scopeEmphasis.push(scope);
117
+ // Scope emphasis — polarity decides the destination field. An INCLUSION
118
+ // clause lands in `scopeEmphasis` (unchanged from before this fix); an
119
+ // EXCLUSION clause lands in the dedicated `scopeExclusions` field instead
120
+ // of being merged in, so a downstream consumer never has to re-derive
121
+ // polarity from the clause text (COR-a0648a7d / COR-a0648a7d-2).
122
+ if (polarity === "include") {
123
+ result.scopeEmphasis.push(clause.trim());
124
+ encoded = true;
125
+ }
126
+ else if (polarity === "exclude") {
127
+ result.scopeExclusions.push(clause.trim());
123
128
  encoded = true;
124
129
  }
125
130
  if (!encoded) {
@@ -1 +1 @@
1
- {"version":3,"file":"freeFormIntentInterpreter.js","sourceRoot":"","sources":["../../../src/shared/intent/freeFormIntentInterpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG5F,mFAAmF;AACnF,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AA4B/D,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,2EAA2E;IAC3E,2EAA2E;IAC3E,uEAAuE;IACvE,sEAAsE;IACtE,+EAA+E;IAC/E,OAAO,KAAK;SACT,KAAK,CAAC,wBAAwB,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,8DAA8D;AAC9D,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAQ,CAAC;IAChC,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAClD,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,MAAM,CAAC,wCAAwC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC;AAED,oEAAoE;AACpE,SAAS,kBAAkB,CAAC,MAAc;IACxC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC;YACN,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0DAA0D;AAC1D,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,MAAM,GAAsB;QAChC,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,EAAE;QACjB,kBAAkB,EAAE,EAAE;KACvB,CAAC;IAEF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAExC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,gBAAgB;QAChB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;gBAChD,iEAAiE;gBACjE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,kBAAkB;QAClB,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,iBAAiB;QACjB,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"freeFormIntentInterpreter.js","sourceRoot":"","sources":["../../../src/shared/intent/freeFormIntentInterpreter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,18 @@
1
1
  import type { IntentCheckpoint } from "../types/intentCheckpoint.js";
2
2
  /** Exact path or directory-prefix match (e.g. "src/api" matches "src/api/x.ts"). */
3
3
  export declare function pathMatchesPrefix(filePath: string, entryPath: string): boolean;
4
- /** Minimal glob match supporting `*` (within a segment), `**` (across segments), `?`. */
4
+ /**
5
+ * Minimal glob match supporting `*` (within a segment), `**` (across
6
+ * segments, matching ZERO or more whole path segments — conventional glob
7
+ * semantics), `?`.
8
+ *
9
+ * A `**` segment folds its ADJACENT separator into its own regex fragment
10
+ * (optional) rather than emitting it as a mandatory literal, so a
11
+ * zero-segment match is possible on either side: `**\/*.env` matches a
12
+ * repo-root `secrets.env`, `src/**\/*.ts` matches `src/index.ts`, and
13
+ * `vendor/**` matches the bare `vendor` entry itself (COR-ef7a209d /
14
+ * COR-ef7a209d-2) — not only paths with an intermediate directory.
15
+ */
5
16
  export declare function globMatches(filePath: string, glob: string): boolean;
6
17
  /**
7
18
  * `disposition_overrides` statuses that mean "out of scope" for BOTH orchestrators.
@@ -1 +1 @@
1
- {"version":3,"file":"pathScope.d.ts","sourceRoot":"","sources":["../../../src/shared/intent/pathScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAkBrE,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK9E;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CA2BnE;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAIzD,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,MAAM,GAAG,IAAI,CAcf"}
1
+ {"version":3,"file":"pathScope.d.ts","sourceRoot":"","sources":["../../../src/shared/intent/pathScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAkBrE,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK9E;AAwBD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAgCnE;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAIzD,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,MAAM,GAAG,IAAI,CAcf"}
@@ -21,26 +21,17 @@ export function pathMatchesPrefix(filePath, entryPath) {
21
21
  return false;
22
22
  return f === p || f.startsWith(`${p}/`);
23
23
  }
24
- /** Minimal glob match supporting `*` (within a segment), `**` (across segments), `?`. */
25
- export function globMatches(filePath, glob) {
26
- const f = normalize(filePath);
27
- const g = normalize(glob);
28
- if (!g.includes("*") && !g.includes("?")) {
29
- return pathMatchesPrefix(f, g);
30
- }
31
- // Translate the glob to a regex char-by-char so `*` / `**` / `?` are handled
32
- // and every other character is escaped — no placeholder substitution.
24
+ /**
25
+ * Translate one ordinary (non-`**`) glob segment to a regex fragment: `*`
26
+ * within a segment matches any run of non-separator characters, `?` matches
27
+ * one, and every other character is escaped — no placeholder substitution.
28
+ */
29
+ function translateGlobSegment(segment) {
33
30
  let re = "";
34
- for (let i = 0; i < g.length; i++) {
35
- const c = g[i];
31
+ for (let i = 0; i < segment.length; i++) {
32
+ const c = segment[i];
36
33
  if (c === "*") {
37
- if (g[i + 1] === "*") {
38
- re += ".*";
39
- i++;
40
- }
41
- else {
42
- re += "[^/]*";
43
- }
34
+ re += "[^/]*";
44
35
  }
45
36
  else if (c === "?") {
46
37
  re += "[^/]";
@@ -52,7 +43,53 @@ export function globMatches(filePath, glob) {
52
43
  re += c;
53
44
  }
54
45
  }
55
- return new RegExp(`^${re}$`).test(f);
46
+ return re;
47
+ }
48
+ /**
49
+ * Minimal glob match supporting `*` (within a segment), `**` (across
50
+ * segments, matching ZERO or more whole path segments — conventional glob
51
+ * semantics), `?`.
52
+ *
53
+ * A `**` segment folds its ADJACENT separator into its own regex fragment
54
+ * (optional) rather than emitting it as a mandatory literal, so a
55
+ * zero-segment match is possible on either side: `**\/*.env` matches a
56
+ * repo-root `secrets.env`, `src/**\/*.ts` matches `src/index.ts`, and
57
+ * `vendor/**` matches the bare `vendor` entry itself (COR-ef7a209d /
58
+ * COR-ef7a209d-2) — not only paths with an intermediate directory.
59
+ */
60
+ export function globMatches(filePath, glob) {
61
+ const f = normalize(filePath);
62
+ const g = normalize(glob);
63
+ if (!g.includes("*") && !g.includes("?")) {
64
+ return pathMatchesPrefix(f, g);
65
+ }
66
+ const segments = g.split("/");
67
+ const pieces = [];
68
+ for (let i = 0; i < segments.length; i++) {
69
+ const segment = segments[i];
70
+ if (segment === "**") {
71
+ if (i === 0 && i === segments.length - 1) {
72
+ // The WHOLE glob is `**` — matches any path, including nested ones.
73
+ pieces.push(".*");
74
+ }
75
+ else if (i === 0) {
76
+ // Leading `**` — optionally consume any number of leading segments.
77
+ pieces.push("(?:.*/)?");
78
+ }
79
+ else {
80
+ // Trailing or interior `**` — optionally consume any number of
81
+ // segments AFTER the preceding one, folding in the boundary `/` so
82
+ // zero segments (i.e. nothing after) is a valid match too.
83
+ pieces.push("(?:/.*)?");
84
+ }
85
+ continue;
86
+ }
87
+ if (i > 0 && segments[i - 1] !== "**") {
88
+ pieces.push("/");
89
+ }
90
+ pieces.push(translateGlobSegment(segment));
91
+ }
92
+ return new RegExp(`^${pieces.join("")}$`).test(f);
56
93
  }
57
94
  /**
58
95
  * `disposition_overrides` statuses that mean "out of scope" for BOTH orchestrators.
@@ -1 +1 @@
1
- {"version":3,"file":"pathScope.js","sourceRoot":"","sources":["../../../src/shared/intent/pathScope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pathScope.js","sourceRoot":"","sources":["../../../src/shared/intent/pathScope.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,SAAiB;IACnE,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,EAAE,IAAI,OAAO,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,EAAE,IAAI,MAAM,CAAC;QACf,CAAC;aAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,EAAE,IAAI,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,IAAY;IACxD,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QAC7B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,oEAAoE;gBACpE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,oEAAoE;gBACpE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,mEAAmE;gBACnE,2DAA2D;gBAC3D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAwB,IAAI,GAAG,CAAC;IACrE,UAAU;IACV,WAAW;IACX,QAAQ;CACT,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,UAAwC;IAExC,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QACpD,IAAI,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IACnE,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,qBAAqB,IAAI,EAAE,EAAE,CAAC;QACxD,IAAI,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACtF,OAAO,EAAE,CAAC,MAAM,CAAC;QACnB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QACnD,IAAI,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC;YAAE,OAAO,yBAAyB,IAAI,GAAG,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -9,8 +9,26 @@ export declare const LENS_KEYWORD_MAP: Array<{
9
9
  keywords: string[];
10
10
  lens: Lens;
11
11
  }>;
12
- /** Patterns that signal scope emphasis (focus/ignore/prioritise). */
12
+ /**
13
+ * A scope-emphasis clause's polarity: does the user want this scope IN focus
14
+ * ("focus on X", "only audit X") or OUT of it ("ignore X", "skip X")? Consumers
15
+ * that boost/deboost by scope match (e.g. intentOrdering.ts) must never conflate
16
+ * the two (COR-a0648a7d / COR-a0648a7d-2) — the sign convention is exactly
17
+ * inverted, or ignored, when the lead-in verb's polarity is discarded.
18
+ */
19
+ export type ScopePolarity = "include" | "exclude";
20
+ /** Patterns that signal scope emphasis (focus/ignore/prioritise) — the
21
+ * polarity-blind view existing callers (clauseInterpreter.ts) consume, derived
22
+ * from {@link SCOPE_PATTERN_ENTRIES} so it can never diverge from the
23
+ * polarity-tagged set below. */
13
24
  export declare const SCOPE_PATTERNS: RegExp[];
25
+ /**
26
+ * The polarity of the FIRST scope-emphasis pattern a clause matches, or `null`
27
+ * when the clause matches none (mirrors the match order `SCOPE_PATTERNS` itself
28
+ * is scanned in, so polarity and match-detection can never disagree on which
29
+ * pattern "won").
30
+ */
31
+ export declare function scopeClausePolarity(clause: string): ScopePolarity | null;
14
32
  /** Patterns that signal urgency / priority. */
15
33
  export declare const PRIORITY_PATTERNS: RegExp[];
16
34
  //# sourceMappingURL=sharedIntentData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sharedIntentData.d.ts","sourceRoot":"","sources":["../../../src/shared/intent/sharedIntentData.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAYtE,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,cAAc,EAAE,MAAM,EAQlC,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAMrC,CAAC"}
1
+ {"version":3,"file":"sharedIntentData.d.ts","sourceRoot":"","sources":["../../../src/shared/intent/sharedIntentData.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAYtE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAyBlD;;;gCAGgC;AAChC,eAAO,MAAM,cAAc,EAAE,MAAM,EAAgD,CAAC;AAEpF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAKxE;AAED,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAMrC,CAAC"}
@@ -17,16 +17,41 @@ export const LENS_KEYWORD_MAP = [
17
17
  { keywords: ["test", "coverage", "spec", "unit test", "integration test", "e2e"], lens: "tests" },
18
18
  { keywords: ["correctness", "bug", "bugs", "fix", "defect", "incorrect", "wrong", "broken"], lens: "correctness" },
19
19
  ];
20
- /** Patterns that signal scope emphasis (focus/ignore/prioritise). */
21
- export const SCOPE_PATTERNS = [
22
- /\b(?:focus(?:ing)?\s+on|focused\s+on)\s+(.+)/i,
23
- /\b(?:prioriti[sz]e?|prioriti[sz]ing)\s+(.+)/i,
24
- /\b(?:ignore|ignoring|skip(?:ping)?|exclude?|excluding)\s+(.+)/i,
25
- /\b(?:concentrate\s+on|look\s+at|check\s+(?:only\s+)?(?:the\s+)?)\s+(.+)/i,
26
- /\b(?:limit(?:ed)?\s+to|restrict(?:ed)?\s+to|only\s+(?:in|within|for))\s+(.+)/i,
20
+ /**
21
+ * Single-sourced scope-emphasis pattern set, each entry tagged with its
22
+ * polarity. `SCOPE_PATTERNS` below is DERIVED from this array (same regexes,
23
+ * same order) so a polarity-blind caller (clauseInterpreter.ts's "is this a
24
+ * scope clause at all" check) and a polarity-aware caller (freeFormIntentInterpreter.ts's
25
+ * `scopeClausePolarity`) can never drift on which clauses count as scope
26
+ * emphasis — there is exactly one list of patterns, not two kept in lockstep.
27
+ */
28
+ const SCOPE_PATTERN_ENTRIES = [
29
+ { pattern: /\b(?:focus(?:ing)?\s+on|focused\s+on)\s+(.+)/i, polarity: "include" },
30
+ { pattern: /\b(?:prioriti[sz]e?|prioriti[sz]ing)\s+(.+)/i, polarity: "include" },
31
+ { pattern: /\b(?:ignore|ignoring|skip(?:ping)?|exclude?|excluding)\s+(.+)/i, polarity: "exclude" },
32
+ { pattern: /\b(?:concentrate\s+on|look\s+at|check\s+(?:only\s+)?(?:the\s+)?)\s+(.+)/i, polarity: "include" },
33
+ { pattern: /\b(?:limit(?:ed)?\s+to|restrict(?:ed)?\s+to|only\s+(?:in|within|for))\s+(.+)/i, polarity: "include" },
27
34
  // Bare "only <verb> <path>" — e.g. "only audit src/", "only review packages/"
28
- /^only\s+\w+\s+(\S+(?:\/\S*)?)/i,
35
+ { pattern: /^only\s+\w+\s+(\S+(?:\/\S*)?)/i, polarity: "include" },
29
36
  ];
37
+ /** Patterns that signal scope emphasis (focus/ignore/prioritise) — the
38
+ * polarity-blind view existing callers (clauseInterpreter.ts) consume, derived
39
+ * from {@link SCOPE_PATTERN_ENTRIES} so it can never diverge from the
40
+ * polarity-tagged set below. */
41
+ export const SCOPE_PATTERNS = SCOPE_PATTERN_ENTRIES.map((e) => e.pattern);
42
+ /**
43
+ * The polarity of the FIRST scope-emphasis pattern a clause matches, or `null`
44
+ * when the clause matches none (mirrors the match order `SCOPE_PATTERNS` itself
45
+ * is scanned in, so polarity and match-detection can never disagree on which
46
+ * pattern "won").
47
+ */
48
+ export function scopeClausePolarity(clause) {
49
+ for (const entry of SCOPE_PATTERN_ENTRIES) {
50
+ if (entry.pattern.test(clause))
51
+ return entry.polarity;
52
+ }
53
+ return null;
54
+ }
30
55
  /** Patterns that signal urgency / priority. */
31
56
  export const PRIORITY_PATTERNS = [
32
57
  /\b(?:urgent|urgently)\b/i,
@@ -1 +1 @@
1
- {"version":3,"file":"sharedIntentData.js","sourceRoot":"","sources":["../../../src/shared/intent/sharedIntentData.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAA8C;IACzE,EAAE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACrH,EAAE,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;IACvG,EAAE,QAAQ,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE;IAC7G,EAAE,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;IAC9F,EAAE,QAAQ,EAAE,CAAC,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE;IAC7H,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;IAC3G,EAAE,QAAQ,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;IAC7G,EAAE,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;IAClI,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;IACzJ,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;IACjG,EAAE,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;CACnH,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,cAAc,GAAa;IACtC,+CAA+C;IAC/C,8CAA8C;IAC9C,gEAAgE;IAChE,0EAA0E;IAC1E,+EAA+E;IAC/E,8EAA8E;IAC9E,gCAAgC;CACjC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAa;IACzC,0BAA0B;IAC1B,8BAA8B;IAC9B,4FAA4F;IAC5F,uCAAuC;IACvC,wCAAwC;CACzC,CAAC"}
1
+ {"version":3,"file":"sharedIntentData.js","sourceRoot":"","sources":["../../../src/shared/intent/sharedIntentData.ts"],"names":[],"mappings":"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"}
@@ -35,4 +35,16 @@ export interface LockOptions {
35
35
  export declare function acquireLock(lockPath: string, timeoutMs?: number, logger?: RunLogger, options?: LockOptions): Promise<string>;
36
36
  export declare function releaseLock(lockPath: string, ownerToken: string): Promise<void>;
37
37
  export declare function withFileLock<T>(lockPath: string, fn: () => Promise<T>, timeoutMs?: number, logger?: RunLogger, options?: LockOptions): Promise<T>;
38
+ /**
39
+ * Locked read-mutate-write over a JSON artifact: `mutate` receives the current
40
+ * parsed value (`undefined` when the file does not yet exist) and returns the
41
+ * next value, which is written back under the same file lock — closing the
42
+ * TOCTOU window between reading a JSON artifact and writing it back that a
43
+ * caller doing its own read + lock + write can reintroduce. Uses the same
44
+ * atomic acquire/heartbeat/release machinery as {@link withFileLock}.
45
+ */
46
+ export declare function lockedJsonMutate<T>(lockPath: string, jsonPath: string, mutate: (current: unknown) => T, options?: {
47
+ timeoutMs?: number;
48
+ logger?: RunLogger;
49
+ } & LockOptions): Promise<T>;
38
50
  //# sourceMappingURL=fileLock.d.ts.map