audit-tools 0.28.8 → 0.28.9

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 (185) hide show
  1. package/audit-code-wrapper-install-hosts.mjs +133 -27
  2. package/dist/audit/cli/confirmIntentStep.d.ts +1 -0
  3. package/dist/audit/cli/confirmIntentStep.d.ts.map +1 -1
  4. package/dist/audit/cli/confirmIntentStep.js +14 -10
  5. package/dist/audit/cli/confirmIntentStep.js.map +1 -1
  6. package/dist/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
  7. package/dist/audit/cli/dispatch/quotaPool.js +4 -3
  8. package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
  9. package/dist/audit/cli/dispatch.d.ts +15 -1
  10. package/dist/audit/cli/dispatch.d.ts.map +1 -1
  11. package/dist/audit/cli/dispatch.js +54 -19
  12. package/dist/audit/cli/dispatch.js.map +1 -1
  13. package/dist/audit/cli/hybridDispatch.d.ts +46 -0
  14. package/dist/audit/cli/hybridDispatch.d.ts.map +1 -0
  15. package/dist/audit/cli/hybridDispatch.js +77 -0
  16. package/dist/audit/cli/hybridDispatch.js.map +1 -0
  17. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  18. package/dist/audit/cli/nextStepHelpers.js +111 -2
  19. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  20. package/dist/audit/cli/reviewRun.d.ts +8 -0
  21. package/dist/audit/cli/reviewRun.d.ts.map +1 -1
  22. package/dist/audit/cli/reviewRun.js +1 -1
  23. package/dist/audit/cli/reviewRun.js.map +1 -1
  24. package/dist/audit/cli/rollingAuditDispatch.d.ts +57 -4
  25. package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
  26. package/dist/audit/cli/rollingAuditDispatch.js +137 -10
  27. package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
  28. package/dist/audit/cli/scoreAuditCommand.d.ts +16 -0
  29. package/dist/audit/cli/scoreAuditCommand.d.ts.map +1 -0
  30. package/dist/audit/cli/scoreAuditCommand.js +82 -0
  31. package/dist/audit/cli/scoreAuditCommand.js.map +1 -0
  32. package/dist/audit/cli.d.ts.map +1 -1
  33. package/dist/audit/cli.js +5 -1
  34. package/dist/audit/cli.js.map +1 -1
  35. package/dist/audit/orchestrator/designReviewProjection.d.ts +9 -1
  36. package/dist/audit/orchestrator/designReviewProjection.d.ts.map +1 -1
  37. package/dist/audit/orchestrator/designReviewProjection.js +19 -1
  38. package/dist/audit/orchestrator/designReviewProjection.js.map +1 -1
  39. package/dist/audit/orchestrator/designReviewPrompt.d.ts +2 -0
  40. package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
  41. package/dist/audit/orchestrator/designReviewPrompt.js +11 -1
  42. package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
  43. package/dist/audit/orchestrator/executorRunners.js +1 -1
  44. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  45. package/dist/audit/orchestrator/intakeExecutors.d.ts +9 -1
  46. package/dist/audit/orchestrator/intakeExecutors.d.ts.map +1 -1
  47. package/dist/audit/orchestrator/intakeExecutors.js +16 -3
  48. package/dist/audit/orchestrator/intakeExecutors.js.map +1 -1
  49. package/dist/audit/orchestrator/intentCheckpointExecutor.d.ts.map +1 -1
  50. package/dist/audit/orchestrator/intentCheckpointExecutor.js +3 -0
  51. package/dist/audit/orchestrator/intentCheckpointExecutor.js.map +1 -1
  52. package/dist/audit/orchestrator/intentInterpreter.d.ts +21 -7
  53. package/dist/audit/orchestrator/intentInterpreter.d.ts.map +1 -1
  54. package/dist/audit/orchestrator/intentInterpreter.js +30 -11
  55. package/dist/audit/orchestrator/intentInterpreter.js.map +1 -1
  56. package/dist/audit/orchestrator/intentScopeDisposition.d.ts +49 -0
  57. package/dist/audit/orchestrator/intentScopeDisposition.d.ts.map +1 -0
  58. package/dist/audit/orchestrator/intentScopeDisposition.js +57 -0
  59. package/dist/audit/orchestrator/intentScopeDisposition.js.map +1 -0
  60. package/dist/audit/orchestrator/rollingDispatch.d.ts +9 -0
  61. package/dist/audit/orchestrator/rollingDispatch.d.ts.map +1 -1
  62. package/dist/audit/orchestrator/rollingDispatch.js +10 -0
  63. package/dist/audit/orchestrator/rollingDispatch.js.map +1 -1
  64. package/dist/audit/orchestrator/scope.d.ts +1 -0
  65. package/dist/audit/orchestrator/scope.d.ts.map +1 -1
  66. package/dist/audit/orchestrator/scope.js +2 -7
  67. package/dist/audit/orchestrator/scope.js.map +1 -1
  68. package/dist/audit/quota/index.d.ts +5 -0
  69. package/dist/audit/quota/index.d.ts.map +1 -1
  70. package/dist/audit/reporting/scoreAudit.d.ts +161 -0
  71. package/dist/audit/reporting/scoreAudit.d.ts.map +1 -0
  72. package/dist/audit/reporting/scoreAudit.js +224 -0
  73. package/dist/audit/reporting/scoreAudit.js.map +1 -0
  74. package/dist/audit/types/activeDispatch.d.ts +29 -1
  75. package/dist/audit/types/activeDispatch.d.ts.map +1 -1
  76. package/dist/audit/types/activeDispatch.js.map +1 -1
  77. package/dist/audit/types/analyzerCapability.d.ts +6 -6
  78. package/dist/remediate/contractPipeline/changeClassification.d.ts +146 -0
  79. package/dist/remediate/contractPipeline/changeClassification.d.ts.map +1 -0
  80. package/dist/remediate/contractPipeline/changeClassification.js +398 -0
  81. package/dist/remediate/contractPipeline/changeClassification.js.map +1 -0
  82. package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
  83. package/dist/remediate/contractPipeline/derive.js +9 -0
  84. package/dist/remediate/contractPipeline/derive.js.map +1 -1
  85. package/dist/remediate/intent/intentOrdering.d.ts +51 -0
  86. package/dist/remediate/intent/intentOrdering.d.ts.map +1 -0
  87. package/dist/remediate/intent/intentOrdering.js +150 -0
  88. package/dist/remediate/intent/intentOrdering.js.map +1 -0
  89. package/dist/remediate/phases/plan.d.ts.map +1 -1
  90. package/dist/remediate/phases/plan.js +14 -1
  91. package/dist/remediate/phases/plan.js.map +1 -1
  92. package/dist/remediate/providers/index.d.ts +32 -0
  93. package/dist/remediate/providers/index.d.ts.map +1 -1
  94. package/dist/remediate/providers/index.js +28 -1
  95. package/dist/remediate/providers/index.js.map +1 -1
  96. package/dist/remediate/steps/contractPipeline.d.ts +15 -1
  97. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  98. package/dist/remediate/steps/contractPipeline.js +282 -14
  99. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  100. package/dist/remediate/steps/dispatch.d.ts +56 -1
  101. package/dist/remediate/steps/dispatch.d.ts.map +1 -1
  102. package/dist/remediate/steps/dispatch.js +120 -29
  103. package/dist/remediate/steps/dispatch.js.map +1 -1
  104. package/dist/remediate/steps/nextStep.d.ts +53 -2
  105. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  106. package/dist/remediate/steps/nextStep.js +253 -81
  107. package/dist/remediate/steps/nextStep.js.map +1 -1
  108. package/dist/remediate/steps/providerNodeDispatch.d.ts +8 -1
  109. package/dist/remediate/steps/providerNodeDispatch.d.ts.map +1 -1
  110. package/dist/remediate/steps/providerNodeDispatch.js +7 -2
  111. package/dist/remediate/steps/providerNodeDispatch.js.map +1 -1
  112. package/dist/remediate/steps/rollingSession.d.ts +55 -1
  113. package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
  114. package/dist/remediate/steps/rollingSession.js +128 -19
  115. package/dist/remediate/steps/rollingSession.js.map +1 -1
  116. package/dist/remediate/validation/contractPipelineGates.d.ts +23 -8
  117. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  118. package/dist/remediate/validation/contractPipelineGates.js +43 -38
  119. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  120. package/dist/shared/dispatch/coordinator.d.ts +170 -0
  121. package/dist/shared/dispatch/coordinator.d.ts.map +1 -0
  122. package/dist/shared/dispatch/coordinator.js +177 -0
  123. package/dist/shared/dispatch/coordinator.js.map +1 -0
  124. package/dist/shared/dispatch/hybridDispatch.d.ts +74 -0
  125. package/dist/shared/dispatch/hybridDispatch.d.ts.map +1 -0
  126. package/dist/shared/dispatch/hybridDispatch.js +54 -0
  127. package/dist/shared/dispatch/hybridDispatch.js.map +1 -0
  128. package/dist/shared/dispatch/settledPools.d.ts +21 -0
  129. package/dist/shared/dispatch/settledPools.d.ts.map +1 -0
  130. package/dist/shared/dispatch/settledPools.js +34 -0
  131. package/dist/shared/dispatch/settledPools.js.map +1 -0
  132. package/dist/shared/index.d.ts +15 -5
  133. package/dist/shared/index.d.ts.map +1 -1
  134. package/dist/shared/index.js +14 -2
  135. package/dist/shared/index.js.map +1 -1
  136. package/dist/shared/intent/clauseInterpreter.d.ts +19 -0
  137. package/dist/shared/intent/clauseInterpreter.d.ts.map +1 -1
  138. package/dist/shared/intent/clauseInterpreter.js +19 -0
  139. package/dist/shared/intent/clauseInterpreter.js.map +1 -1
  140. package/dist/shared/providers/sharedProviderConfirmation.d.ts +134 -0
  141. package/dist/shared/providers/sharedProviderConfirmation.d.ts.map +1 -0
  142. package/dist/shared/providers/sharedProviderConfirmation.js +244 -0
  143. package/dist/shared/providers/sharedProviderConfirmation.js.map +1 -0
  144. package/dist/shared/quota/apiPool.d.ts +67 -0
  145. package/dist/shared/quota/apiPool.d.ts.map +1 -0
  146. package/dist/shared/quota/apiPool.js +139 -0
  147. package/dist/shared/quota/apiPool.js.map +1 -0
  148. package/dist/shared/quota/capacity.d.ts +29 -1
  149. package/dist/shared/quota/capacity.d.ts.map +1 -1
  150. package/dist/shared/quota/capacity.js +5 -0
  151. package/dist/shared/quota/capacity.js.map +1 -1
  152. package/dist/shared/quota/claimRegistry.d.ts +64 -0
  153. package/dist/shared/quota/claimRegistry.d.ts.map +1 -0
  154. package/dist/shared/quota/claimRegistry.js +157 -0
  155. package/dist/shared/quota/claimRegistry.js.map +1 -0
  156. package/dist/shared/quota/compositeQuotaSource.d.ts +10 -1
  157. package/dist/shared/quota/compositeQuotaSource.d.ts.map +1 -1
  158. package/dist/shared/quota/compositeQuotaSource.js +34 -6
  159. package/dist/shared/quota/compositeQuotaSource.js.map +1 -1
  160. package/dist/shared/quota/httpQuotaSource.d.ts +9 -1
  161. package/dist/shared/quota/httpQuotaSource.d.ts.map +1 -1
  162. package/dist/shared/quota/httpQuotaSource.js +33 -8
  163. package/dist/shared/quota/httpQuotaSource.js.map +1 -1
  164. package/dist/shared/quota/learnedQuotaSource.d.ts +7 -1
  165. package/dist/shared/quota/learnedQuotaSource.d.ts.map +1 -1
  166. package/dist/shared/quota/learnedQuotaSource.js +18 -7
  167. package/dist/shared/quota/learnedQuotaSource.js.map +1 -1
  168. package/dist/shared/quota/quotaSource.d.ts +41 -0
  169. package/dist/shared/quota/quotaSource.d.ts.map +1 -1
  170. package/dist/shared/quota/quotaSource.js +19 -0
  171. package/dist/shared/quota/quotaSource.js.map +1 -1
  172. package/dist/shared/types/contractPipeline/obligations.d.ts +42 -0
  173. package/dist/shared/types/contractPipeline/obligations.d.ts.map +1 -1
  174. package/dist/shared/types/contractPipeline.d.ts +1 -1
  175. package/dist/shared/types/contractPipeline.d.ts.map +1 -1
  176. package/dist/shared/types/contractPipeline.js.map +1 -1
  177. package/dist/shared/types/intentCheckpoint.d.ts +14 -0
  178. package/dist/shared/types/intentCheckpoint.d.ts.map +1 -1
  179. package/dist/shared/types/intentCheckpoint.js +10 -0
  180. package/dist/shared/types/intentCheckpoint.js.map +1 -1
  181. package/dist/shared/types/sessionConfig.d.ts +60 -0
  182. package/dist/shared/types/sessionConfig.d.ts.map +1 -1
  183. package/dist/shared/types/sessionConfig.js +13 -0
  184. package/dist/shared/types/sessionConfig.js.map +1 -1
  185. package/package.json +3 -2
@@ -22,14 +22,15 @@
22
22
  import { existsSync } from "node:fs";
23
23
  import { mkdir, rename } from "node:fs/promises";
24
24
  import { join } from "node:path";
25
- import { writeJsonFile, readOptionalJsonFile, formatValidationIssues, isRecord, withFsRetry, } from "audit-tools/shared";
25
+ import { writeJsonFile, readOptionalJsonFile, formatValidationIssues, hashContent, isRecord, withFsRetry, } from "audit-tools/shared";
26
26
  import { CP_ARTIFACT_NAMES, contractArtifactExists, contractArtifactFilePath, contractPipelineDir, detectStaleArtifacts, isEnvelope, pathASeedFilePath, readContractArtifact, writeContractArtifact, } from "../contractPipeline/artifactStore.js";
27
27
  import { detectCyclicSeamObligations, validateCycleBreak, } from "../contractPipeline/cyclicSeamResolution.js";
28
28
  import { deriveObligationLedger, buildTestValidatorPlanScaffold, buildImplementationDagScaffold, acceptedCounterexampleIds, } from "../contractPipeline/derive.js";
29
29
  import { ensureNodeId, toBlockId } from "../contractPipeline/idRegistry.js";
30
30
  import { captureReviewSnapshot, computeReReviewDelta, isReviewArtifact, readReviewSnapshot, renderReReviewSection, reviewSnapshotExists, } from "../contractPipeline/reviewSnapshot.js";
31
31
  import { renderContractPipelinePrompt, renderContractRepairPrompt, CONTRACT_PIPELINE_PHASE_ORDER, } from "./contractPipelinePrompts.js";
32
- import { CONTRACT_PIPELINE_VALIDATORS, validateDesignSpecGates, validateGoalIdConsistency, validateImplementationDAGIntegrity, validatePairedObligations, validateEvidenceThreaded, validateDigestCoverage, validateReconciliationDerivation, deriveNodeModelTierFromNode, } from "../validation/contractPipeline.js";
32
+ import { CONTRACT_PIPELINE_VALIDATORS, CP_MODULE_CONTRACTS_VERSION, CP_FINALIZED_MODULE_CONTRACTS_VERSION, validateDesignSpecGates, validateGoalIdConsistency, validateImplementationDAGIntegrity, validatePairedObligations, validateEvidenceThreaded, validateDigestCoverage, validateReconciliationDerivation, deriveNodeModelTierFromNode, } from "../validation/contractPipeline.js";
33
+ import { scheduleWave } from "./dispatch.js";
33
34
  import { writeCurrentStep } from "./stepWriter.js";
34
35
  import { loaderCommand } from "./prompts.js";
35
36
  import { intakePaths } from "../intake.js";
@@ -452,6 +453,124 @@ export async function evaluatePreCriticStructuralGate(artifactsDir) {
452
453
  }
453
454
  return null;
454
455
  }
456
+ // ── DC-3: parallel per-module contract phases ─────────────────────────────────
457
+ //
458
+ // `module_contract_drafting` (→ module_contracts) and `contract_finalization`
459
+ // (→ finalized_module_contracts) both aggregate a `module_contracts[]` array
460
+ // keyed by module name. DC-3 fans these out to ONE agent per module through the
461
+ // shared wave scheduler (`scheduleWave`, the SAME quota/host machinery implement
462
+ // dispatch uses), replacing the former single sequential agent. Each agent writes
463
+ // a per-module SHARD; the orchestrator merges all shards into the aggregated
464
+ // artifact — byte-identical in shape to the single-agent output — and guarantees
465
+ // the merge is COMPLETE (every decomposed module present) before downstream
466
+ // derivation runs. A missing shard re-emits the wave (never a partial aggregate).
467
+ /** The two phases that fan out per module, and the artifact each produces. */
468
+ const PARALLEL_MODULE_PHASES = {
469
+ module_contract_drafting: "module_contracts",
470
+ contract_finalization: "finalized_module_contracts",
471
+ };
472
+ export function isParallelModulePhase(phase) {
473
+ return phase === "module_contract_drafting" || phase === "contract_finalization";
474
+ }
475
+ /** Read the decomposed modules (name + responsibilities + file_scope) in order. */
476
+ async function readDecomposedModules(artifactsDir) {
477
+ const decomposition = envelopePayload(await readContractArtifact(artifactsDir, "module_decomposition"));
478
+ const modules = isRecord(decomposition) && Array.isArray(decomposition.modules)
479
+ ? decomposition.modules
480
+ : [];
481
+ const result = [];
482
+ for (const mod of modules) {
483
+ if (!isRecord(mod) || typeof mod.name !== "string" || mod.name.length === 0) {
484
+ continue;
485
+ }
486
+ result.push({
487
+ name: mod.name,
488
+ responsibilities: typeof mod.responsibilities === "string" ? mod.responsibilities : "",
489
+ file_scope: Array.isArray(mod.file_scope)
490
+ ? mod.file_scope.filter((p) => typeof p === "string")
491
+ : [],
492
+ });
493
+ }
494
+ return result;
495
+ }
496
+ /** The goal_id carried by module_decomposition (authoritative for the merge). */
497
+ async function readDecompositionGoalId(artifactsDir) {
498
+ const decomposition = envelopePayload(await readContractArtifact(artifactsDir, "module_decomposition"));
499
+ return isRecord(decomposition) && typeof decomposition.goal_id === "string"
500
+ ? decomposition.goal_id
501
+ : "";
502
+ }
503
+ /** Filesystem-safe shard id for a module name (the merge re-keys by name, not id). */
504
+ function moduleShardId(moduleName) {
505
+ const slug = moduleName.replace(/[^A-Za-z0-9._-]+/g, "_").replace(/^_+|_+$/g, "");
506
+ // Keep names disjoint even after slugging by appending a short content hash.
507
+ return `${slug || "module"}-${hashContent(moduleName, { length: 8 })}`;
508
+ }
509
+ /** Directory holding one per-module shard for a given parallel phase. */
510
+ function moduleWaveDir(artifactsDir, phase) {
511
+ return join(contractPipelineDir(artifactsDir), "module-waves", phase);
512
+ }
513
+ function moduleShardPath(artifactsDir, phase, moduleName) {
514
+ return join(moduleWaveDir(artifactsDir, phase), `${moduleShardId(moduleName)}.json`);
515
+ }
516
+ /**
517
+ * Scan the per-module shards for a phase against the decomposed module set. A
518
+ * shard counts as present only when it parses to an object whose module-contract
519
+ * `name` matches the decomposed module it is filed under — a stray/mismatched
520
+ * shard never satisfies completeness.
521
+ */
522
+ async function scanModuleShards(artifactsDir, phase, modules) {
523
+ const present = new Map();
524
+ const missing = [];
525
+ for (const mod of modules) {
526
+ const shard = await readOptionalJsonFile(moduleShardPath(artifactsDir, phase, mod.name));
527
+ const contract = extractShardContract(shard, mod.name);
528
+ if (contract) {
529
+ present.set(mod.name, contract);
530
+ }
531
+ else {
532
+ missing.push(mod.name);
533
+ }
534
+ }
535
+ return { present, missing };
536
+ }
537
+ /**
538
+ * Normalize a worker-written shard into the single module-contract record for
539
+ * `moduleName`. Accepts either the bare contract object (`{ name, ... }`) or the
540
+ * aggregated wrapper shape (`{ module_contracts: [{ name, ... }] }`) so a worker
541
+ * that mirrored the aggregate schema for one module still merges. Returns null
542
+ * when no record for `moduleName` is found.
543
+ */
544
+ function extractShardContract(shard, moduleName) {
545
+ if (!isRecord(shard))
546
+ return null;
547
+ if (Array.isArray(shard.module_contracts)) {
548
+ const match = shard.module_contracts.find((entry) => isRecord(entry) && entry.name === moduleName);
549
+ return isRecord(match) ? match : null;
550
+ }
551
+ if (shard.name === moduleName)
552
+ return shard;
553
+ return null;
554
+ }
555
+ /**
556
+ * Merge complete per-module shards into the aggregated artifact for `phase`,
557
+ * byte-identical in shape to the former single-agent output: the same envelope
558
+ * (`contract_version`, `goal_id`, `module_contracts[]`, `created_at`) with one
559
+ * entry per module in DECOMPOSITION order (deterministic, not directory order).
560
+ * Caller guarantees completeness first.
561
+ */
562
+ function mergeModuleShards(phase, modules, present, goalId) {
563
+ const contractVersion = phase === "module_contract_drafting"
564
+ ? CP_MODULE_CONTRACTS_VERSION
565
+ : CP_FINALIZED_MODULE_CONTRACTS_VERSION;
566
+ const moduleContracts = modules.map((mod) => present.get(mod.name));
567
+ return {
568
+ contract_version: contractVersion,
569
+ goal_id: goalId,
570
+ module_contracts: moduleContracts,
571
+ created_at: new Date().toISOString(),
572
+ };
573
+ }
455
574
  // ── Step builder ──────────────────────────────────────────────────────────────
456
575
  /**
457
576
  * Build and write the next contract-pipeline step.
@@ -516,15 +635,150 @@ After writing the output file, run:
516
635
  });
517
636
  };
518
637
  const buildParallelModuleWaveStep = async (phase) => {
519
- // For the parallel module phases, build a single step that notes the parallel
520
- // wave nature. The actual wave dispatch is handled by the host reading the prompt.
521
- // We emit a single agent step: the worker reads the module list and produces
522
- // the aggregated artifact for all modules (since true parallel dispatch uses
523
- // the waveScheduler from implement phase, not the contract pipeline).
524
- // The prompt instructs the single agent to process all modules in sequence
525
- // and emit the aggregated outputa pure contract-pipeline workaround for
526
- // environments that do not support parallel sub-agents.
527
- return buildPhaseStep(phase);
638
+ // DC-3: fan the phase out to ONE agent per module, concurrency-capped by the
639
+ // shared wave scheduler (the same quota/host machinery implement dispatch
640
+ // uses). Each agent writes a per-module shard; the orchestrator merges the
641
+ // shards into the aggregated artifact on the next next-step (see the
642
+ // module-shard-merge intercept), guaranteeing completeness before any
643
+ // downstream derivation. A degenerate decomposition (zero or one module)
644
+ // has no parallelism to exploitfall back to the single aggregated step.
645
+ const modules = await readDecomposedModules(artifactsDir);
646
+ if (modules.length <= 1) {
647
+ return buildPhaseStep(phase);
648
+ }
649
+ // Concurrency cap from the shared scheduler: session config is loaded from
650
+ // the same path decideNextStep uses, env + on-disk learned quota feed the
651
+ // same wave-sizing implement dispatch consumes. itemCount = module count.
652
+ const sessionConfig = options.sessionConfig ??
653
+ (await readOptionalJsonFile(join(root, "session-config.json")));
654
+ const schedule = await scheduleWave({
655
+ sessionConfig: sessionConfig ?? null,
656
+ itemCount: modules.length,
657
+ env: process.env,
658
+ });
659
+ const maxConcurrent = schedule.max_concurrent;
660
+ const inputArtifact = phase === "module_contract_drafting" ? "module_decomposition" : "module_contracts";
661
+ const inputPaths = (phase === "module_contract_drafting"
662
+ ? ["goal_spec", "context_bundle", "module_decomposition"]
663
+ : ["module_contracts", "seam_reconciliation_report"]).map((key) => `- \`${artifactPaths[key]}\` (${key})`);
664
+ const moduleLines = modules
665
+ .map((mod, i) => {
666
+ const shardPath = moduleShardPath(artifactsDir, phase, mod.name);
667
+ const scope = mod.file_scope.length > 0
668
+ ? mod.file_scope.map((p) => `\`${p}\``).join(", ")
669
+ : "_(no declared file scope)_";
670
+ return `${i + 1}. **${mod.name}** — file scope: ${scope}\n - Write this module's contract to exactly: \`${shardPath}\``;
671
+ })
672
+ .join("\n");
673
+ const perModuleSchema = phase === "module_contract_drafting"
674
+ ? `{
675
+ "name": "<module-name — must equal the assigned module>",
676
+ "inputs": ["<what this module receives>"],
677
+ "outputs": ["<what this module produces>"],
678
+ "invariants": ["<invariant that must hold — include a verification_obligation note>"],
679
+ "side_effects": ["<observable side-effects with owner>"],
680
+ "validation_boundary": "<what this module validates vs. what callers must guarantee>",
681
+ "failure_modes": ["<ways this module can fail and how callers should handle them>"],
682
+ "neighbor_needs": [{ "neighbor": "<module-name>", "needs": "<what this module needs>" }]
683
+ }`
684
+ : `{
685
+ "name": "<module-name — must equal the assigned module>",
686
+ "inputs": ["<final — incorporating reconciliation decisions>"],
687
+ "outputs": ["<final — incorporating reconciliation decisions>"],
688
+ "invariants": ["<invariant id + description>"],
689
+ "side_effects": ["<side-effect with owner>"],
690
+ "validation_boundary": "<finalized validation boundary>",
691
+ "failure_modes": ["<failure mode + caller handling>"],
692
+ "seam_adjustments": ["<adjustments made per seam_reconciliation_report, if any>"]
693
+ }`;
694
+ const taskVerb = phase === "module_contract_drafting"
695
+ ? "draft its module contract"
696
+ : "incorporate the reconciliation decisions from seam_reconciliation_report and produce its finalized module contract";
697
+ const cwdNote = `\n> Set the shell/tool working directory to \`${root}\` before running any commands.\n`;
698
+ const nextCommand = loaderCommand("next-step");
699
+ const prompt = `# ${PHASE_TO_ARTIFACT[phase] === "module_contracts" ? "Per-Module Contract Drafting" : "Per-Module Contract Finalization"} — Parallel Wave (${modules.length} modules)
700
+
701
+ This phase fans out to ONE sub-agent PER MODULE. Dispatch the ${modules.length} modules below as parallel sub-agents in waves of at most **${maxConcurrent}** concurrent agents (the quota/host concurrency cap). Each sub-agent reads only its module's file scope, then writes ONLY that module's contract shard — no agent owns both sides of a seam, and no agent writes the aggregated artifact.
702
+ ${cwdNote}
703
+ ## Shared Inputs (every sub-agent may read these)
704
+
705
+ ${inputPaths.join("\n")}
706
+
707
+ ## Per-Module Assignments — one sub-agent each
708
+
709
+ For each module, dispatch one sub-agent to read its file scope from \`${inputArtifact}\` and ${taskVerb}, writing the result to the module's shard path:
710
+
711
+ ${moduleLines}
712
+
713
+ Each shard must be a single JSON object of this shape (the orchestrator merges all shards into the aggregated \`${PHASE_TO_ARTIFACT[phase]}\` artifact — do NOT write that file yourself):
714
+
715
+ \`\`\`json
716
+ ${perModuleSchema}
717
+ \`\`\`
718
+
719
+ ## After All Sub-Agents Finish
720
+
721
+ Once every module's shard above has been written (all ${modules.length}), run:
722
+
723
+ \`${nextCommand}\`
724
+
725
+ The orchestrator verifies every module shard is present, merges them into \`${PHASE_TO_ARTIFACT[phase]}\`, and advances. If any shard is missing, this same wave is re-emitted for the missing modules — never a partial aggregate.
726
+
727
+ **Stop after the per-module shards are written and you run next-step.** Do not edit source files. Do not write the aggregated artifact. Do not advance further.
728
+ `;
729
+ const stepArtifactPaths = {};
730
+ for (const [k, v] of Object.entries(artifactPaths)) {
731
+ if (v && existsSync(v)) {
732
+ stepArtifactPaths[k] = v;
733
+ }
734
+ }
735
+ if (sourcePaths) {
736
+ stepArtifactPaths.source_manifest = paths.sourceManifest;
737
+ stepArtifactPaths.remediation_brief = paths.brief;
738
+ }
739
+ return writeCurrentStep({
740
+ stepKind: CONTRACT_STEP_KIND,
741
+ status: "ready",
742
+ runId,
743
+ repoRoot: root,
744
+ artifactsDir,
745
+ prompt,
746
+ allowedCommands: [nextCommand],
747
+ stopCondition: `Stop after writing every per-module shard for phase "${phase}" and running next-step.`,
748
+ artifactPaths: stepArtifactPaths,
749
+ });
750
+ };
751
+ /**
752
+ * DC-3 merge intercept: when a parallel phase's aggregated artifact is still
753
+ * missing, merge the per-module shards into it once they are ALL present. A
754
+ * missing shard re-emits the wave (never promotes a partial aggregate). After
755
+ * a complete merge the artifact is written enveloped and the pipeline
756
+ * re-derives; the existing seam_reconciliation / critique pass downstream
757
+ * stays the consistency gate over the merged contracts.
758
+ */
759
+ const tryMergeModuleShards = async (phase) => {
760
+ const modules = await readDecomposedModules(artifactsDir);
761
+ // Degenerate decompositions never used the shard path — let the normal
762
+ // single-agent aggregate step handle them.
763
+ if (modules.length <= 1)
764
+ return "incomplete";
765
+ const scan = await scanModuleShards(artifactsDir, phase, modules);
766
+ if (scan.missing.length > 0) {
767
+ // Completeness not met → re-emit the wave for the missing modules.
768
+ return buildParallelModuleWaveStep(phase);
769
+ }
770
+ // goal_id: the upstream module_decomposition is authoritative (every artifact
771
+ // shares one goal_id; the goal-ID consistency gate enforces it). Fall back to
772
+ // a shard's goal_id only if the decomposition somehow lacks one.
773
+ const decompositionGoalId = await readDecompositionGoalId(artifactsDir);
774
+ const goalId = decompositionGoalId ||
775
+ [...scan.present.values()]
776
+ .map((c) => (typeof c.goal_id === "string" ? c.goal_id : undefined))
777
+ .find((g) => Boolean(g)) ||
778
+ "";
779
+ const merged = mergeModuleShards(phase, modules, scan.present, goalId);
780
+ await writeContractArtifact(artifactsDir, PARALLEL_MODULE_PHASES[phase], merged);
781
+ return "merged";
528
782
  };
529
783
  // 1. Ingest raw worker outputs into validated envelopes. An output that
530
784
  // fails validation is archived and its producing phase re-emitted with
@@ -1042,9 +1296,23 @@ ${preCriticGate.errorLines.join("\n")}
1042
1296
  `);
1043
1297
  }
1044
1298
  }
1045
- // Parallel-capable phases: module_contract_drafting and contract_finalization
1046
- // both benefit from parallel per-module dispatch.
1047
- if (nextPhase === "module_contract_drafting" || nextPhase === "contract_finalization") {
1299
+ // Parallel-capable phases (DC-3): module_contract_drafting and
1300
+ // contract_finalization fan out to one agent per module. The aggregated
1301
+ // artifact is missing here, so first try to merge per-module shards (the
1302
+ // worker may have just written them) — a COMPLETE shard set merges into the
1303
+ // aggregated artifact and the pipeline re-derives; an incomplete set re-emits
1304
+ // the wave; a degenerate (≤1 module) decomposition falls through to a single
1305
+ // aggregated step. The seam_reconciliation / critique pass downstream remains
1306
+ // the consistency gate over the merged contracts.
1307
+ if (isParallelModulePhase(nextPhase)) {
1308
+ const mergeOutcome = await tryMergeModuleShards(nextPhase);
1309
+ if (mergeOutcome === "merged") {
1310
+ return buildNextContractPipelineStep(options);
1311
+ }
1312
+ if (mergeOutcome !== "incomplete") {
1313
+ // A re-emitted wave step (missing shards).
1314
+ return mergeOutcome;
1315
+ }
1048
1316
  return buildParallelModuleWaveStep(nextPhase);
1049
1317
  }
1050
1318
  // Skeleton-scaffolded phases (S3): the tool pre-fills structure/ids from the
@@ -1 +1 @@
1
- {"version":3,"file":"contractPipeline.js","sourceRoot":"","sources":["../../../src/remediate/steps/contractPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contractPipeline.js","sourceRoot":"","sources":["../../../src/remediate/steps/contractPipeline.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type RemediationState } from "../state/store.js";
2
2
  import { type RemediationBlock } from "../state/types.js";
3
- import type { SessionConfig, HostConcurrencyLimit, WaveSchedule, QuotaStateEntry, ResolvedProviderName, DispatchCapacityPoolSummary, HostModelRosterEntry, CapacityPool } from "audit-tools/shared";
3
+ import type { SessionConfig, HostConcurrencyLimit, WaveSchedule, QuotaStateEntry, ResolvedProviderName, DispatchCapacityPoolSummary, HostModelRosterEntry, CapacityPool, ProviderSlot, RollingDispatchResult } from "audit-tools/shared";
4
4
  import { type DispatchModelHint, type DispatchPhase, type ImplementWorkerResult, type RemediationDispatchPlan, type RemediationDispatchQuota } from "./types.js";
5
5
  import { resolveHostActiveSubagentLimit } from "../quota/index.js";
6
6
  export { resolveHostActiveSubagentLimit };
@@ -289,6 +289,61 @@ export declare function nodeAcceptOutcomePath(artifactsDir: string, runId: strin
289
289
  export declare function recordNodeAcceptOutcome(artifactsDir: string, runId: string, blockId: string, result: AcceptNodeWorktreeResult): Promise<void>;
290
290
  /** Load a node's recorded accept outcome, or null when none was written. */
291
291
  export declare function loadNodeAcceptOutcome(artifactsDir: string, runId: string, blockId: string): Promise<AcceptNodeWorktreeResult | null>;
292
+ /**
293
+ * The per-node worktree worker an in-process driver launches: it edits within the
294
+ * node's isolated worktree (cwd-confined), writes its result file, and returns the
295
+ * transport outcome. `makeProviderNodeDispatcher` is the live implementation; tests
296
+ * inject a stub. Structurally identical to `nextStep`'s `ProgrammaticNodeDispatcher`.
297
+ */
298
+ export type WorktreeNodeWorker = (args: {
299
+ block: RemediationBlock;
300
+ slot: ProviderSlot;
301
+ worktreeRoot: string;
302
+ resultPath: string;
303
+ }) => Promise<RollingDispatchResult<{
304
+ block_id: string;
305
+ }>>;
306
+ /** One node's worktree-lifecycle result: the worker transport outcome + the accept lifecycle. */
307
+ export interface NodeWorktreeExecution {
308
+ /** Worker transport outcome the rolling engine consumes (success/error/rate_limited/timeout). */
309
+ result: RollingDispatchResult<{
310
+ block_id: string;
311
+ }>;
312
+ /** Tool-owned accept outcome (commit→verify→merge), already persisted via recordNodeAcceptOutcome. */
313
+ accept: AcceptNodeWorktreeResult;
314
+ }
315
+ /**
316
+ * Run ONE node's full in-process lifecycle in an isolated worktree — shared by BOTH
317
+ * in-process callers (the reactive `driveRollingImplementDispatch` engine and the
318
+ * A-8 hybrid executor) so they create / commit / verify / merge identically:
319
+ *
320
+ * reset + create the node's worktree → link node_modules → seed declared targets →
321
+ * launch the worker (`dispatchNode`) → `acceptNodeWorktree` (tool-commit, rebase,
322
+ * verify, write-scope gate, cherry-pick) → persist the accept outcome.
323
+ *
324
+ * Claim ownership is the CALLER's concern (the reactive engine claims through the
325
+ * shared registry; the hybrid executor is handed a coordinator-minted claim), so
326
+ * this fn neither claims nor releases — it returns the worker transport result AND
327
+ * the accept lifecycle outcome and lets the caller record `nodeOutcomes` / release.
328
+ * Any thrown error degrades to a dropped worktree + a persisted `error` accept
329
+ * outcome, never an unhandled rejection into the engine.
330
+ */
331
+ export declare function executeNodeInWorktree(args: {
332
+ block: RemediationBlock;
333
+ slot: ProviderSlot;
334
+ root: string;
335
+ artifactsDir: string;
336
+ runId: string;
337
+ resultPath: string;
338
+ /** Untracked declared targets to seed into the worktree (the node's write set or write∪read). */
339
+ seedPaths: string[];
340
+ /** Every block's declared write scope, for the accept-time write-scope gate (OBL-DS-06). */
341
+ allBlockScopes: Array<{
342
+ block_id: string;
343
+ write_paths: string[];
344
+ }>;
345
+ dispatchNode: WorktreeNodeWorker;
346
+ }): Promise<NodeWorktreeExecution>;
292
347
  export interface DispatchOptions {
293
348
  root: string;
294
349
  artifactsDir: string;