audit-tools 0.35.1 → 0.35.5

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 (89) hide show
  1. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  2. package/dist/audit/cli/nextStepHelpers.js +85 -10
  3. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  4. package/dist/audit/orchestrator/partitionTaskGraph.d.ts +11 -0
  5. package/dist/audit/orchestrator/partitionTaskGraph.d.ts.map +1 -1
  6. package/dist/audit/orchestrator/partitionTaskGraph.js +4 -1
  7. package/dist/audit/orchestrator/partitionTaskGraph.js.map +1 -1
  8. package/dist/audit/orchestrator/reviewPackets.d.ts +6 -0
  9. package/dist/audit/orchestrator/reviewPackets.d.ts.map +1 -1
  10. package/dist/audit/orchestrator/reviewPackets.js +1 -0
  11. package/dist/audit/orchestrator/reviewPackets.js.map +1 -1
  12. package/dist/audit/reporting/mergeFindings.d.ts.map +1 -1
  13. package/dist/audit/reporting/mergeFindings.js +3 -0
  14. package/dist/audit/reporting/mergeFindings.js.map +1 -1
  15. package/dist/audit/reporting/synthesis.d.ts +8 -5
  16. package/dist/audit/reporting/synthesis.d.ts.map +1 -1
  17. package/dist/audit/reporting/synthesis.js +21 -10
  18. package/dist/audit/reporting/synthesis.js.map +1 -1
  19. package/dist/audit/reporting/synthesisNarrativePrompt.js +1 -1
  20. package/dist/audit/reporting/synthesisNarrativePrompt.js.map +1 -1
  21. package/dist/remediate/dedup/crossLensDedup.d.ts +12 -0
  22. package/dist/remediate/dedup/crossLensDedup.d.ts.map +1 -1
  23. package/dist/remediate/dedup/crossLensDedup.js +29 -4
  24. package/dist/remediate/dedup/crossLensDedup.js.map +1 -1
  25. package/dist/remediate/intake.d.ts +1 -1
  26. package/dist/remediate/intake.d.ts.map +1 -1
  27. package/dist/remediate/intake.js +11 -1
  28. package/dist/remediate/intake.js.map +1 -1
  29. package/dist/remediate/phases/plan.d.ts +8 -4
  30. package/dist/remediate/phases/plan.d.ts.map +1 -1
  31. package/dist/remediate/phases/plan.js +10 -6
  32. package/dist/remediate/phases/plan.js.map +1 -1
  33. package/dist/remediate/phases/triage.d.ts.map +1 -1
  34. package/dist/remediate/phases/triage.js +1 -1
  35. package/dist/remediate/phases/triage.js.map +1 -1
  36. package/dist/remediate/review/reviewGate.d.ts +14 -0
  37. package/dist/remediate/review/reviewGate.d.ts.map +1 -1
  38. package/dist/remediate/review/reviewGate.js +37 -0
  39. package/dist/remediate/review/reviewGate.js.map +1 -1
  40. package/dist/remediate/steps/dispatch/implementPrompt.d.ts.map +1 -1
  41. package/dist/remediate/steps/dispatch/implementPrompt.js +3 -1
  42. package/dist/remediate/steps/dispatch/implementPrompt.js.map +1 -1
  43. package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
  44. package/dist/remediate/steps/dispatch/marshal.js +65 -31
  45. package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
  46. package/dist/remediate/steps/dispatch/writeScope.d.ts +10 -17
  47. package/dist/remediate/steps/dispatch/writeScope.d.ts.map +1 -1
  48. package/dist/remediate/steps/dispatch/writeScope.js +16 -57
  49. package/dist/remediate/steps/dispatch/writeScope.js.map +1 -1
  50. package/dist/remediate/steps/dispatch.d.ts +1 -1
  51. package/dist/remediate/steps/dispatch.d.ts.map +1 -1
  52. package/dist/remediate/steps/dispatch.js +1 -1
  53. package/dist/remediate/steps/dispatch.js.map +1 -1
  54. package/dist/remediate/steps/intakeResolver.d.ts.map +1 -1
  55. package/dist/remediate/steps/intakeResolver.js +1 -1
  56. package/dist/remediate/steps/intakeResolver.js.map +1 -1
  57. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  58. package/dist/remediate/steps/nextStep.js +90 -18
  59. package/dist/remediate/steps/nextStep.js.map +1 -1
  60. package/dist/remediate/steps/prompts.d.ts +3 -3
  61. package/dist/remediate/steps/prompts.d.ts.map +1 -1
  62. package/dist/remediate/steps/prompts.js +43 -9
  63. package/dist/remediate/steps/prompts.js.map +1 -1
  64. package/dist/remediate/validation/remediationState.d.ts +1 -1
  65. package/dist/remediate/validation/remediationState.d.ts.map +1 -1
  66. package/dist/remediate/validation/remediationState.js +8 -1
  67. package/dist/remediate/validation/remediationState.js.map +1 -1
  68. package/dist/shared/decompose/modularity.d.ts.map +1 -1
  69. package/dist/shared/decompose/modularity.js +101 -37
  70. package/dist/shared/decompose/modularity.js.map +1 -1
  71. package/dist/shared/dispatch/providerLaunchFinalize.d.ts.map +1 -1
  72. package/dist/shared/dispatch/providerLaunchFinalize.js +23 -3
  73. package/dist/shared/dispatch/providerLaunchFinalize.js.map +1 -1
  74. package/dist/shared/findings/dedupe.d.ts +29 -0
  75. package/dist/shared/findings/dedupe.d.ts.map +1 -1
  76. package/dist/shared/findings/dedupe.js +74 -3
  77. package/dist/shared/findings/dedupe.js.map +1 -1
  78. package/dist/shared/index.d.ts +1 -1
  79. package/dist/shared/index.d.ts.map +1 -1
  80. package/dist/shared/index.js +1 -1
  81. package/dist/shared/index.js.map +1 -1
  82. package/dist/shared/validation/findingsReport.d.ts +25 -33
  83. package/dist/shared/validation/findingsReport.d.ts.map +1 -1
  84. package/dist/shared/validation/findingsReport.js +237 -57
  85. package/dist/shared/validation/findingsReport.js.map +1 -1
  86. package/dist/shared/validation/sessionConfig.d.ts.map +1 -1
  87. package/dist/shared/validation/sessionConfig.js +4 -1
  88. package/dist/shared/validation/sessionConfig.js.map +1 -1
  89. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,EAKL,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;AAEtB,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAKhE;AAMD,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,oBAAoB,EAAE,EACtC,cAAc,EAAE,MAAM,GACrB,MAAM,CAuCR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,oBAAoB,EAAE,EAClC,cAAc,EAAE,MAAM,GACrB,MAAM,CAoDR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,aAAa,EACtB,cAAc,EAAE,MAAM,GACrB,MAAM,CAkER;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAwCpF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAGnE;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GACpC,MAAM,CA+DR;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,EACrC,0BAA0B,EAAE,OAAO,EACnC,oBAAoB,CAAC,EAAE,MAAM,GAC5B,MAAM,CA+GR;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GACpC,MAAM,CAuCR"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,EAKL,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;AAEtB,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAKhE;AAMD,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,oBAAoB,EAAE,EACtC,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAqDR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,oBAAoB,EAAE,EAClC,cAAc,EAAE,MAAM,EACtB,eAAe,GAAE,SAAS,MAAM,EAAO,EACvC,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAiER;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,aAAa,EACtB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CA+ER;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAwCpF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAGnE;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GACpC,MAAM,CA+DR;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,EACrC,0BAA0B,EAAE,OAAO,EACnC,oBAAoB,CAAC,EAAE,MAAM,GAC5B,MAAM,CA+GR;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GACpC,MAAM,CAuCR"}
@@ -9,10 +9,16 @@ export function loaderCommand(command) {
9
9
  function blockedItems(state) {
10
10
  return Object.values(state.items ?? {}).filter((item) => item.status === "blocked");
11
11
  }
12
- export function clarificationPrompt(clarifications, resolutionPath) {
12
+ export function clarificationPrompt(clarifications, resolutionPath, refusal) {
13
13
  return `
14
14
  # Resolve Remediation Clarifications
15
-
15
+ ${refusal
16
+ ? `
17
+ > ⚠ **Your previous resolution was REFUSED and archived — nothing was applied.**
18
+ > ${refusal}
19
+ > Re-submit the WHOLE resolution with ids drawn only from the set below.
20
+ `
21
+ : ""}
16
22
  Ask the user to resolve all clarifications in one batched response.
17
23
 
18
24
  ${clarifications
@@ -44,7 +50,13 @@ ambiguity after all — proceed with the finding, put the answer/decision in
44
50
  \`rationale\`), \`"action": "reject_finding"\` (the FINDING itself is not a real
45
51
  issue — this DROPS it, so use it only to discard a finding, never just to say the
46
52
  question wasn't ambiguous), or \`"action": "defer"\` (the user explicitly chose to
47
- skip it this run). Then run \`${loaderCommand("next-step")}\`.
53
+ skip it this run).
54
+
55
+ \`finding_id\` MUST be drawn from this closed set (copy, never retype):
56
+ ${clarifications.map((c) => `\`${c.finding_id}\``).join(", ") || "_(none)_"}. An id
57
+ outside it refuses the whole resolution and re-presents this step.
58
+
59
+ Then run \`${loaderCommand("next-step")}\`.
48
60
  `;
49
61
  }
50
62
  /**
@@ -58,7 +70,7 @@ skip it this run). Then run \`${loaderCommand("next-step")}\`.
58
70
  * If, after reviewing with repo access, there is nothing genuinely ambiguous, the
59
71
  * host writes an empty array to proceed — no user round is forced on a clean plan.
60
72
  */
61
- export function ambiguityReviewPrompt(candidates, resolutionPath) {
73
+ export function ambiguityReviewPrompt(candidates, resolutionPath, validFindingIds = [], refusal) {
62
74
  const candidateBlock = candidates.length
63
75
  ? candidates
64
76
  .map((item) => `
@@ -70,7 +82,13 @@ export function ambiguityReviewPrompt(candidates, resolutionPath) {
70
82
  : "_(no deterministic candidates — still review the plan's findings yourself)_";
71
83
  return `
72
84
  # Resolve scoping/judgment ambiguity BEFORE implementing
73
-
85
+ ${refusal
86
+ ? `
87
+ > ⚠ **Your previous resolution was REFUSED and archived — nothing was applied.**
88
+ > ${refusal}
89
+ > Re-submit the WHOLE resolution with ids drawn only from the valid set below.
90
+ `
91
+ : ""}
74
92
  Below are deterministic **candidate** ambiguities in the remediation plan. They
75
93
  are starting points, not a final list.
76
94
 
@@ -104,8 +122,13 @@ ambiguous — proceed with the finding, put the answer/decision in \`rationale\`
104
122
  it; never use it merely to say a question wasn't ambiguous, or you will lose a
105
123
  finding the review gate approved), or \`"action": "defer"\` (the user explicitly
106
124
  chose to skip it this run). Deferral is the **user's** call — never decide it
107
- unilaterally. Write \`[]\` if nothing is genuinely ambiguous. Then run
108
- \`${loaderCommand("next-step")}\`.
125
+ unilaterally. Write \`[]\` if nothing is genuinely ambiguous.
126
+
127
+ \`finding_id\` MUST be drawn from the plan's closed id set (copy, never retype):
128
+ ${validFindingIds.map((id) => `\`${id}\``).join(", ") || "_(none)_"}. An id outside
129
+ it refuses the whole resolution and re-presents this step.
130
+
131
+ Then run \`${loaderCommand("next-step")}\`.
109
132
  `;
110
133
  }
111
134
  /**
@@ -121,7 +144,7 @@ unilaterally. Write \`[]\` if nothing is genuinely ambiguous. Then run
121
144
  * Default is approve-all: an empty/absent resolution proceeds with every
122
145
  * finding. Disapproved items are RECORDED with a reason, never silently closed.
123
146
  */
124
- export function reviewApprovalPrompt(request, resolutionPath) {
147
+ export function reviewApprovalPrompt(request, resolutionPath, refusal) {
125
148
  const tierSections = request.tiers
126
149
  .map((tier) => {
127
150
  const items = tier.items
@@ -149,9 +172,16 @@ export function reviewApprovalPrompt(request, resolutionPath) {
149
172
  return `## ${tier.label} — ${tier.items.length} item(s)\n\n${tier.description}\n${items}`;
150
173
  })
151
174
  .join("\n\n");
175
+ const validIds = request.tiers.flatMap((t) => t.items.map((i) => i.finding_id));
152
176
  return `
153
177
  # Review-Approval Gate — approve or disapprove before implementation
154
-
178
+ ${refusal
179
+ ? `
180
+ > ⚠ **Your previous resolution was REFUSED and archived — nothing was recorded.**
181
+ > ${refusal}
182
+ > Re-submit the WHOLE resolution below with ids drawn only from the valid set.
183
+ `
184
+ : ""}
155
185
  Before any code changes, every audit finding is presented below, bucketed by how
156
186
  much of **your** judgment it needs. This gate exists so that strategic
157
187
  (design/architecture) findings are never quietly closed without your sight — so
@@ -183,6 +213,10 @@ items the user wants to **disapprove** (skip). Write JSON to exactly:
183
213
  - Use \`disapproved_tiers\` (e.g. \`["mechanical"]\`) to decline an entire tier at once.
184
214
  - Disapproved findings are recorded as a declined disposition with a reason —
185
215
  they are not acted on, and they are not silently dropped.
216
+ - \`disapproved_findings\` entries MUST be drawn from this closed set (copy, never
217
+ retype): ${validIds.map((id) => `\`${id}\``).join(", ")}. \`disapproved_tiers\`
218
+ entries MUST be one of \`strategic\`, \`concrete\`, \`mechanical\`. An id outside
219
+ these sets refuses the whole resolution and re-presents this gate.
186
220
 
187
221
  Then run \`${loaderCommand("next-step")}\`.
188
222
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/remediate/steps/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/remediate/steps/prompts.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export declare function validateRemediationBlock(value: unknown, path?: string):
4
4
  export declare function validateRemediationPlan(value: unknown, path?: string): ValidationIssue[];
5
5
  export declare function validateItemSpec(value: unknown, path?: string): ValidationIssue[];
6
6
  export declare function validateClarificationRequest(value: unknown, path?: string): ValidationIssue[];
7
- export declare function validateTriageResolution(value: unknown, path?: string): ValidationIssue[];
7
+ export declare function validateTriageResolution(value: unknown, path?: string, knownFindingIds?: ReadonlySet<string>): ValidationIssue[];
8
8
  //# sourceMappingURL=remediationState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remediationState.d.ts","sourceRoot":"","sources":["../../../src/remediate/validation/remediationState.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EAKrB,MAAM,oBAAoB,CAAC;AAc5B,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,IAAI,SAAY,GACf,eAAe,EAAE,CA0DnB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,IAAI,SAAU,GACb,eAAe,EAAE,CA6CnB;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,IAAI,SAAqB,GACxB,eAAe,EAAE,CAgDnB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,IAAI,SAAc,GACjB,eAAe,EAAE,CAiFnB;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,IAAI,SAAkB,GACrB,eAAe,EAAE,CAkBnB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,IAAI,SAAsB,GACzB,eAAe,EAAE,CAmCnB"}
1
+ {"version":3,"file":"remediationState.d.ts","sourceRoot":"","sources":["../../../src/remediate/validation/remediationState.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EAKrB,MAAM,oBAAoB,CAAC;AAc5B,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,IAAI,SAAY,GACf,eAAe,EAAE,CA0DnB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,IAAI,SAAU,GACb,eAAe,EAAE,CA6CnB;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,IAAI,SAAqB,GACxB,eAAe,EAAE,CAgDnB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,IAAI,SAAc,GACjB,eAAe,EAAE,CAiFnB;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,IAAI,SAAkB,GACrB,eAAe,EAAE,CAkBnB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,IAAI,SAAsB,EAC1B,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,eAAe,EAAE,CA6CnB"}
@@ -173,7 +173,7 @@ export function validateClarificationRequest(value, path = "clarification") {
173
173
  }
174
174
  return issues;
175
175
  }
176
- export function validateTriageResolution(value, path = "triage_resolution") {
176
+ export function validateTriageResolution(value, path = "triage_resolution", knownFindingIds) {
177
177
  const issues = [];
178
178
  issues.push(...requireKeys(value, path, ["items"]));
179
179
  if (!isRecord(value))
@@ -191,6 +191,13 @@ export function validateTriageResolution(value, path = "triage_resolution") {
191
191
  if (typeof item.finding_id !== "string") {
192
192
  pushValidationIssue(issues, `${path}.items[${i}].finding_id`, "Expected a string.");
193
193
  }
194
+ else if (knownFindingIds && !knownFindingIds.has(item.finding_id)) {
195
+ // Uniform id-join contract: an unknown finding_id is an ERROR, never a
196
+ // silent no-op — the entry it names would otherwise be dropped whole,
197
+ // losing the user's triage decision on a typo'd id.
198
+ pushValidationIssue(issues, `${path}.items[${i}].finding_id`, `Unknown finding_id "${item.finding_id}" — not in this run's items. ` +
199
+ `Valid ids: ${[...knownFindingIds].join(", ")}.`);
200
+ }
194
201
  if (typeof item.action !== "string" || !validActions.has(item.action)) {
195
202
  pushValidationIssue(issues, `${path}.items[${i}].action`, `Expected one of ${[...validActions].join(", ")}.`);
196
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remediationState.js","sourceRoot":"","sources":["../../../src/remediate/validation/remediationState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remediationState.js","sourceRoot":"","sources":["../../../src/remediate/validation/remediationState.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAChF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7D,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC;IAC7C,iBAAiB;IACjB,sBAAsB;IACtB,cAAc;IACd,yBAAyB;IACzB,sBAAsB;IACtB,mBAAmB;IACnB,uBAAuB;CACxB,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAC7B,KAAc,EACd,IAAI,GAAG,SAAS;IAEhB,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;QAC1B,IAAI;QACJ,OAAO;QACP,UAAU;QACV,UAAU;QACV,YAAY;QACZ,MAAM;QACN,SAAS;QACT,gBAAgB;KACjB,CAAC,CACH,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEpC,IACE,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EACrC,CAAC;QACD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,WAAW,EAClB,qBAAqB,KAAK,CAAC,QAAQ,sBAAsB,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7F,CAAC;IACJ,CAAC;IACD,IACE,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACpC,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EACxC,CAAC;QACD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,aAAa,EACpB,uBAAuB,KAAK,CAAC,UAAU,sBAAsB,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAClG,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,mBAAmB,CAAC,MAAM,EAAE,GAAG,IAAI,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAC9B,kEAAkE,CACnE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,WAAW,EAClB,6BAA6B,EAC7B,OAAO,CACR,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAc,EACd,IAAI,GAAG,OAAO;IAEd,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;QAC1B,UAAU;QACV,OAAO;QACP,eAAe;QACf,eAAe;KAChB,CAAC,CACH,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,mBAAmB,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC7C,mBAAmB,CAAC,MAAM,EAAE,GAAG,IAAI,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;IAC9E,CAAC;IACD,4EAA4E;IAC5E,8EAA8E;IAC9E,oEAAoE;IACpE,2EAA2E;IAC3E,IACE,KAAK,CAAC,aAAa,KAAK,SAAS;QACjC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;YAClC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,EACzD,CAAC;QACD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,gBAAgB,EACvB,+BAA+B,CAChC,CAAC;IACJ,CAAC;IACD,IACE,KAAK,CAAC,YAAY,KAAK,SAAS;QAChC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;YACjC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,EACxD,CAAC;QACD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,eAAe,EACtB,4CAA4C,CAC7C,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAc,EACd,IAAI,GAAG,kBAAkB;IAEzB,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;QAC1B,SAAS;QACT,UAAU;QACV,QAAQ;QACR,cAAc;QACd,2BAA2B;KAC5B,CAAC,CACH,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,mBAAmB,CAAC,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,oBAAoB,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CACT,GAAG,sBAAsB,CACvB,GAAG,IAAI,aAAa,CAAC,GAAG,EACxB,eAAe,CAAC,OAAO,EAAE,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CACnD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,mBAAmB,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CACT,GAAG,sBAAsB,CACvB,GAAG,IAAI,WAAW,CAAC,GAAG,EACtB,wBAAwB,CAAC,KAAK,EAAE,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CACxD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACpD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,4BAA4B,EACnC,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAc,EACd,IAAI,GAAG,WAAW;IAElB,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;QAC1B,YAAY;QACZ,iBAAiB;QACjB,gBAAgB;QAChB,sBAAsB;KACvB,CAAC,CACH,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEpC,IACE,KAAK,CAAC,aAAa,KAAK,SAAS;QACjC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;YAClC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,EACzD,CAAC;QACD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,gBAAgB,EACvB,4CAA4C,CAC7C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,mBAAmB,CAAC,MAAM,EAAE,GAAG,IAAI,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAC9B,yDAAyD,CAC1D,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,mBAAmB,CAAC,cAAc,EACzC,oBAAoB,CACrB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC/C,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,uBAAuB,EAC9B,oBAAoB,CACrB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;YACzB,aAAa;YACb,eAAe;YACf,2BAA2B;YAC3B,mCAAmC;SACpC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,IACE,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACf,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAC7B,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1B,CAAC;gBACD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,yBAAyB,CAAC,GAAG,EACpC,uEAAuE,CACxE,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACzD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,yBAAyB,CAAC,aAAa,EAC9C,8BAA8B,CAC/B,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAc,EACd,IAAI,GAAG,eAAe;IAEtB,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CACvE,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEpC,IACE,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,CAAC,8BAA8B,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EACnD,CAAC;QACD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,WAAW,EAClB,qBAAqB,KAAK,CAAC,QAAQ,sBAAsB,CAAC,GAAG,8BAA8B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3G,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAc,EACd,IAAI,GAAG,mBAAmB,EAC1B,eAAqC;IAErC,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEpC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,mBAAmB,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,UAAU,CAAC,GAAG,EACrB,qBAAqB,CACtB,CAAC;gBACF,SAAS;YACX,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACxC,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,UAAU,CAAC,cAAc,EAChC,oBAAoB,CACrB,CAAC;YACJ,CAAC;iBAAM,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpE,uEAAuE;gBACvE,sEAAsE;gBACtE,oDAAoD;gBACpD,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,UAAU,CAAC,cAAc,EAChC,uBAAuB,IAAI,CAAC,UAAU,+BAA+B;oBACnE,cAAc,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnD,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtE,mBAAmB,CACjB,MAAM,EACN,GAAG,IAAI,UAAU,CAAC,UAAU,EAC5B,mBAAmB,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"modularity.d.ts","sourceRoot":"","sources":["../../../src/shared/decompose/modularity.ts"],"names":[],"mappings":"AAkBA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAyB,CAAC;AA0N3E;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAmC3E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,WAAW,GAAE,SAAS,MAAM,EAAwB,GACnD,SAAS,EAAE,CAEb"}
1
+ {"version":3,"file":"modularity.d.ts","sourceRoot":"","sources":["../../../src/shared/decompose/modularity.ts"],"names":[],"mappings":"AAkBA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAiD5C;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAyB,CAAC;AA0Q3E;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAoC3E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,WAAW,GAAE,SAAS,MAAM,EAAwB,GACnD,SAAS,EAAE,CAEb"}
@@ -15,6 +15,44 @@
15
15
  // feeds it identically. Hand-rolled (community detection is an algorithm, not a
16
16
  // grammar → outside the import-vetted-libs policy; owning it keeps full
17
17
  // tie-break/determinism control).
18
+ /**
19
+ * Arithmetic above the exact-integer range is rejected even when JavaScript can
20
+ * still represent a finite approximation. Community membership must not depend
21
+ * on input order changing the rounding of very large repeated sums.
22
+ */
23
+ const MAX_GRAPH_ARITHMETIC = Number.MAX_SAFE_INTEGER;
24
+ function compareNodeIds(a, b) {
25
+ return a < b ? -1 : a > b ? 1 : 0;
26
+ }
27
+ function assertNodeId(value, context) {
28
+ if (typeof value !== "string" || value.length === 0) {
29
+ throw new TypeError(`${context} must be a non-empty string.`);
30
+ }
31
+ }
32
+ function assertPositiveBounded(value, context) {
33
+ if (!Number.isFinite(value) || value <= 0 || value > MAX_GRAPH_ARITHMETIC) {
34
+ throw new RangeError(`${context} must be finite, positive, and at most ${MAX_GRAPH_ARITHMETIC}; got ${String(value)}.`);
35
+ }
36
+ }
37
+ function checkedAdd(left, right, context) {
38
+ const result = left + right;
39
+ if (!Number.isFinite(result) || result < 0 || result > MAX_GRAPH_ARITHMETIC) {
40
+ throw new RangeError(`${context} arithmetic is non-finite or out of bounds.`);
41
+ }
42
+ return result;
43
+ }
44
+ function checkedMultiply(left, right, context) {
45
+ const result = left * right;
46
+ if (!Number.isFinite(result) || result < 0 || result > MAX_GRAPH_ARITHMETIC) {
47
+ throw new RangeError(`${context} arithmetic is non-finite or out of bounds.`);
48
+ }
49
+ return result;
50
+ }
51
+ function assertSignedBounded(value, context) {
52
+ if (!Number.isFinite(value) || Math.abs(value) > MAX_GRAPH_ARITHMETIC) {
53
+ throw new RangeError(`${context} arithmetic is non-finite or out of bounds.`);
54
+ }
55
+ }
18
56
  /**
19
57
  * Default resolution ladder, coarse→fine. Higher resolution γ penalizes large
20
58
  * communities more, yielding more (smaller) communities — so the ladder walks
@@ -24,51 +62,66 @@
24
62
  */
25
63
  export const DEFAULT_RESOLUTIONS = [0.25, 0.5, 1, 2, 4];
26
64
  function buildAdjacency(graph) {
27
- const nodes = [...new Set(graph.nodes)].sort((a, b) => a.localeCompare(b));
65
+ const normalizedEdges = graph.edges.map((edge, index) => {
66
+ assertNodeId(edge.a, `Edge ${index} endpoint a`);
67
+ assertNodeId(edge.b, `Edge ${index} endpoint b`);
68
+ assertPositiveBounded(edge.weight, `Edge weight at index ${index}`);
69
+ return compareNodeIds(edge.a, edge.b) <= 0
70
+ ? { a: edge.a, b: edge.b, weight: edge.weight }
71
+ : { a: edge.b, b: edge.a, weight: edge.weight };
72
+ });
73
+ normalizedEdges.sort((left, right) => compareNodeIds(left.a, right.a) ||
74
+ compareNodeIds(left.b, right.b) ||
75
+ left.weight - right.weight);
76
+ for (let index = 0; index < graph.nodes.length; index++) {
77
+ assertNodeId(graph.nodes[index], `Graph node at index ${index}`);
78
+ }
79
+ const nodes = [
80
+ ...new Set([
81
+ ...graph.nodes,
82
+ ...normalizedEdges.flatMap((edge) => [edge.a, edge.b]),
83
+ ]),
84
+ ].sort(compareNodeIds);
28
85
  const adjacency = new Map();
29
86
  for (const node of nodes)
30
87
  adjacency.set(node, new Map());
31
- const ensure = (node) => {
32
- let row = adjacency.get(node);
33
- if (!row) {
34
- row = new Map();
35
- adjacency.set(node, row);
36
- nodes.push(node);
37
- }
38
- return row;
39
- };
40
- for (const edge of graph.edges) {
41
- if (!(edge.weight > 0))
42
- continue; // drop zero / negative / NaN weights
88
+ for (const edge of normalizedEdges) {
43
89
  const a = edge.a;
44
90
  const b = edge.b;
45
- const rowA = ensure(a);
91
+ const rowA = adjacency.get(a);
92
+ const accumulated = checkedAdd(rowA.get(b) ?? 0, edge.weight, `Repeated-edge (${a}, ${b})`);
46
93
  if (a === b) {
47
- rowA.set(a, (rowA.get(a) ?? 0) + edge.weight);
94
+ rowA.set(a, accumulated);
48
95
  continue;
49
96
  }
50
- const rowB = ensure(b);
51
- rowA.set(b, (rowA.get(b) ?? 0) + edge.weight);
52
- rowB.set(a, (rowB.get(a) ?? 0) + edge.weight);
97
+ const rowB = adjacency.get(b);
98
+ rowA.set(b, accumulated);
99
+ rowB.set(a, accumulated);
53
100
  }
54
- // Nodes may have been appended by ensure(); keep the list unique + sorted so
55
- // downstream iteration order is deterministic.
56
- const uniqueSorted = [...new Set(nodes)].sort((a, b) => a.localeCompare(b));
57
101
  const degree = new Map();
58
102
  let degreeSum = 0;
59
- for (const node of uniqueSorted) {
103
+ for (const node of nodes) {
60
104
  const row = adjacency.get(node) ?? new Map();
61
105
  let deg = 0;
62
- for (const w of row.values())
63
- deg += w;
106
+ for (const [neighbor, weight] of row) {
107
+ // An undirected self-loop contributes two incident ends to degree. This is
108
+ // essential after aggregation, where every intra-community edge becomes a
109
+ // diagonal entry and must retain its original graph mass.
110
+ const degreeContribution = neighbor === node
111
+ ? checkedMultiply(weight, 2, `Degree self-loop for node ${node}`)
112
+ : weight;
113
+ deg = checkedAdd(deg, degreeContribution, `Degree for node ${node}`);
114
+ }
64
115
  degree.set(node, deg);
65
- degreeSum += deg;
116
+ degreeSum = checkedAdd(degreeSum, deg, "Graph mass");
66
117
  }
118
+ const totalWeight = degreeSum / 2;
119
+ assertSignedBounded(totalWeight, "Graph mass");
67
120
  return {
68
- nodes: uniqueSorted,
121
+ nodes,
69
122
  adjacency,
70
123
  degree,
71
- totalWeight: degreeSum / 2,
124
+ totalWeight,
72
125
  };
73
126
  }
74
127
  /**
@@ -77,7 +130,7 @@ function buildAdjacency(graph) {
77
130
  * a full pass makes no move. Returns node→community and whether anything moved.
78
131
  */
79
132
  function localMoving(graph, resolution) {
80
- const twoM = graph.totalWeight * 2;
133
+ const twoM = checkedMultiply(graph.totalWeight, 2, "Graph mass");
81
134
  const communityOf = new Map();
82
135
  // Σtot(C): total degree of nodes currently in community C.
83
136
  const communityDegree = new Map();
@@ -102,7 +155,12 @@ function localMoving(graph, resolution) {
102
155
  const nodeDegree = graph.degree.get(node) ?? 0;
103
156
  const current = communityOf.get(node);
104
157
  // Remove node from its community.
105
- communityDegree.set(current, (communityDegree.get(current) ?? 0) - nodeDegree);
158
+ const remainingDegree = (communityDegree.get(current) ?? 0) - nodeDegree;
159
+ assertSignedBounded(remainingDegree, `Community degree for ${current}`);
160
+ if (remainingDegree < -1e-12) {
161
+ throw new RangeError(`Community degree for ${current} became negative.`);
162
+ }
163
+ communityDegree.set(current, Math.max(0, remainingDegree));
106
164
  // Weight from node into each candidate community (self-loop excluded — it
107
165
  // travels with the node and cannot distinguish communities).
108
166
  const weightToCommunity = new Map();
@@ -111,25 +169,30 @@ function localMoving(graph, resolution) {
111
169
  if (neighbor === node)
112
170
  continue;
113
171
  const comm = communityOf.get(neighbor);
114
- weightToCommunity.set(comm, (weightToCommunity.get(comm) ?? 0) + weight);
172
+ weightToCommunity.set(comm, checkedAdd(weightToCommunity.get(comm) ?? 0, weight, `Modularity incident weight for ${node}`));
115
173
  }
116
174
  // Isolation (staying in a fresh singleton) is the baseline: gain 0.
117
175
  let bestCommunity = current;
118
176
  let bestGain = 0;
119
177
  // Evaluate candidates in lexical order for a deterministic tie-break.
120
- const candidates = [...weightToCommunity.keys()].sort((a, b) => a.localeCompare(b));
178
+ const candidates = [...weightToCommunity.keys()].sort(compareNodeIds);
121
179
  for (const comm of candidates) {
122
180
  const kiIn = weightToCommunity.get(comm) ?? 0;
123
181
  const sigmaTot = communityDegree.get(comm) ?? 0;
124
- const gain = kiIn - (resolution * nodeDegree * sigmaTot) / twoM;
182
+ const scaledDegree = checkedMultiply(resolution, nodeDegree, `Modularity resolution-degree product for ${node}`);
183
+ const numerator = checkedMultiply(scaledDegree, sigmaTot, `Modularity mass product for ${node}`);
184
+ const penalty = numerator / twoM;
185
+ assertSignedBounded(penalty, `Modularity penalty for ${node}`);
186
+ const gain = kiIn - penalty;
187
+ assertSignedBounded(gain, `Modularity gain for ${node}`);
125
188
  if (gain > bestGain + 1e-12 ||
126
- (Math.abs(gain - bestGain) <= 1e-12 && comm.localeCompare(bestCommunity) < 0)) {
189
+ (Math.abs(gain - bestGain) <= 1e-12 && compareNodeIds(comm, bestCommunity) < 0)) {
127
190
  bestGain = gain;
128
191
  bestCommunity = comm;
129
192
  }
130
193
  }
131
194
  // Re-add node to the chosen community.
132
- communityDegree.set(bestCommunity, (communityDegree.get(bestCommunity) ?? 0) + nodeDegree);
195
+ communityDegree.set(bestCommunity, checkedAdd(communityDegree.get(bestCommunity) ?? 0, nodeDegree, `Community degree for ${bestCommunity}`));
133
196
  communityOf.set(node, bestCommunity);
134
197
  if (bestCommunity !== current) {
135
198
  improved = true;
@@ -147,7 +210,7 @@ function canonicalizeCommunities(communityOf) {
147
210
  const rep = new Map();
148
211
  for (const [node, comm] of communityOf) {
149
212
  const existing = rep.get(comm);
150
- if (existing === undefined || node.localeCompare(existing) < 0) {
213
+ if (existing === undefined || compareNodeIds(node, existing) < 0) {
151
214
  rep.set(comm, node);
152
215
  }
153
216
  }
@@ -174,14 +237,14 @@ function aggregate(graph, communityOf) {
174
237
  members.set(comm, [node]);
175
238
  }
176
239
  const edges = [];
177
- const superNodes = [...members.keys()].sort((a, b) => a.localeCompare(b));
240
+ const superNodes = [...members.keys()].sort(compareNodeIds);
178
241
  // Sum weights between/within communities. Each undirected pair is visited once
179
242
  // by iterating the symmetric adjacency and only taking a ≤ b (self included).
180
243
  for (const node of graph.nodes) {
181
244
  const commA = communityOf.get(node);
182
245
  const row = graph.adjacency.get(node) ?? new Map();
183
246
  for (const [neighbor, weight] of row) {
184
- if (neighbor.localeCompare(node) < 0)
247
+ if (compareNodeIds(neighbor, node) < 0)
185
248
  continue; // count each pair once
186
249
  const commB = communityOf.get(neighbor);
187
250
  // The adjacency already stores each cross pair on both endpoints; taking
@@ -201,6 +264,7 @@ function aggregate(graph, communityOf) {
201
264
  * lexicographically smallest member). Deterministic for a given graph + γ.
202
265
  */
203
266
  export function louvain(graph, resolution) {
267
+ assertPositiveBounded(resolution, "Modularity resolution");
204
268
  const base = buildAdjacency(graph);
205
269
  if (base.nodes.length === 0)
206
270
  return new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"modularity.js","sourceRoot":"","sources":["../../../src/shared/decompose/modularity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modularity.js","sourceRoot":"","sources":["../../../src/shared/decompose/modularity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"providerLaunchFinalize.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/providerLaunchFinalize.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,MAAM,WAAW,6BAA6B,CAAC,OAAO;IACpD,4EAA4E;IAC5E,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACvC,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAiHD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EACxD,MAAM,EAAE,wBAAwB,EAChC,GAAG,EAAE,6BAA6B,CAAC,OAAO,CAAC,GAC1C,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAyEzC"}
1
+ {"version":3,"file":"providerLaunchFinalize.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/providerLaunchFinalize.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,MAAM,WAAW,6BAA6B,CAAC,OAAO;IACpD,4EAA4E;IAC5E,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACvC,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAgID;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EACxD,MAAM,EAAE,wBAAwB,EAChC,GAAG,EAAE,6BAA6B,CAAC,OAAO,CAAC,GAC1C,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CA8EzC"}
@@ -98,6 +98,21 @@ function classifyFailureChannels(packet, stderrText, stdoutText) {
98
98
  }
99
99
  return null;
100
100
  }
101
+ /**
102
+ * Render the tail of a worker's stderr capture for inclusion in an
103
+ * `outcome:"error"` message, so the CAUSE of a dead worker (e.g. a headless
104
+ * write-permission deny) rides the packet result into the step prompt instead
105
+ * of sitting in an unsurfaced sidecar file. Bounded to the last 400 characters
106
+ * — enough for the terminal error line, not a log dump. Empty stderr renders
107
+ * nothing.
108
+ */
109
+ function describeWorkerChannelTail(stderrText) {
110
+ const trimmed = stderrText.trim();
111
+ if (trimmed.length === 0)
112
+ return "";
113
+ const tail = trimmed.slice(-400);
114
+ return `; worker stderr tail: ${tail.length < trimmed.length ? "…" : ""}${tail}`;
115
+ }
101
116
  /**
102
117
  * The shared launch-result finalize tail run by BOTH per-packet dispatchers
103
118
  * (audit `makeAuditProviderPacketDispatcher`, remediate `makeProviderNodeDispatcher`)
@@ -145,11 +160,15 @@ export async function finalizeProviderLaunchResult(launch, ctx) {
145
160
  if (classification) {
146
161
  return { packet, ...classification };
147
162
  }
148
- // No classification matched — return the original error
163
+ // No classification matched — return the original error, carrying the worker's
164
+ // stderr cause (meta-review 2026-07-30b: a headless write-deny died with the
165
+ // cause sitting in an unsurfaced stderr file while the packet reported only
166
+ // `outcome:error`).
149
167
  return {
150
168
  packet,
151
169
  outcome: "error",
152
- error: new Error(launch.error ?? `provider ${ctx.providerName} rejected ${ctx.entityLabel}`),
170
+ error: new Error((launch.error ?? `provider ${ctx.providerName} rejected ${ctx.entityLabel}`) +
171
+ describeWorkerChannelTail(stderrText)),
153
172
  };
154
173
  }
155
174
  // Reactive cost verification: relay the endpoint-reported cost (when the provider
@@ -169,7 +188,8 @@ export async function finalizeProviderLaunchResult(launch, ctx) {
169
188
  return {
170
189
  packet,
171
190
  outcome: "error",
172
- error: new Error(`worker for ${ctx.entityLabel} wrote no result at ${ctx.resultPath}`),
191
+ error: new Error(`worker for ${ctx.entityLabel} wrote no result at ${ctx.resultPath}` +
192
+ describeWorkerChannelTail(stderrText)),
173
193
  };
174
194
  }
175
195
  // Record the token-usage ledger line NOW — at packet-completion / result-handling
@@ -1 +1 @@
1
- {"version":3,"file":"providerLaunchFinalize.js","sourceRoot":"","sources":["../../../src/shared/dispatch/providerLaunchFinalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providerLaunchFinalize.js","sourceRoot":"","sources":["../../../src/shared/dispatch/providerLaunchFinalize.ts"],"names":[],"mappings":"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"}