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.
- package/audit-code-wrapper-install-hosts.mjs +133 -27
- package/dist/audit/cli/confirmIntentStep.d.ts +1 -0
- package/dist/audit/cli/confirmIntentStep.d.ts.map +1 -1
- package/dist/audit/cli/confirmIntentStep.js +14 -10
- package/dist/audit/cli/confirmIntentStep.js.map +1 -1
- package/dist/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/quotaPool.js +4 -3
- package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
- package/dist/audit/cli/dispatch.d.ts +15 -1
- package/dist/audit/cli/dispatch.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.js +54 -19
- package/dist/audit/cli/dispatch.js.map +1 -1
- package/dist/audit/cli/hybridDispatch.d.ts +46 -0
- package/dist/audit/cli/hybridDispatch.d.ts.map +1 -0
- package/dist/audit/cli/hybridDispatch.js +77 -0
- package/dist/audit/cli/hybridDispatch.js.map +1 -0
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +111 -2
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/reviewRun.d.ts +8 -0
- package/dist/audit/cli/reviewRun.d.ts.map +1 -1
- package/dist/audit/cli/reviewRun.js +1 -1
- package/dist/audit/cli/reviewRun.js.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.d.ts +57 -4
- package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.js +137 -10
- package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
- package/dist/audit/cli/scoreAuditCommand.d.ts +16 -0
- package/dist/audit/cli/scoreAuditCommand.d.ts.map +1 -0
- package/dist/audit/cli/scoreAuditCommand.js +82 -0
- package/dist/audit/cli/scoreAuditCommand.js.map +1 -0
- package/dist/audit/cli.d.ts.map +1 -1
- package/dist/audit/cli.js +5 -1
- package/dist/audit/cli.js.map +1 -1
- package/dist/audit/orchestrator/designReviewProjection.d.ts +9 -1
- package/dist/audit/orchestrator/designReviewProjection.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewProjection.js +19 -1
- package/dist/audit/orchestrator/designReviewProjection.js.map +1 -1
- package/dist/audit/orchestrator/designReviewPrompt.d.ts +2 -0
- package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewPrompt.js +11 -1
- package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
- package/dist/audit/orchestrator/executorRunners.js +1 -1
- package/dist/audit/orchestrator/executorRunners.js.map +1 -1
- package/dist/audit/orchestrator/intakeExecutors.d.ts +9 -1
- package/dist/audit/orchestrator/intakeExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/intakeExecutors.js +16 -3
- package/dist/audit/orchestrator/intakeExecutors.js.map +1 -1
- package/dist/audit/orchestrator/intentCheckpointExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/intentCheckpointExecutor.js +3 -0
- package/dist/audit/orchestrator/intentCheckpointExecutor.js.map +1 -1
- package/dist/audit/orchestrator/intentInterpreter.d.ts +21 -7
- package/dist/audit/orchestrator/intentInterpreter.d.ts.map +1 -1
- package/dist/audit/orchestrator/intentInterpreter.js +30 -11
- package/dist/audit/orchestrator/intentInterpreter.js.map +1 -1
- package/dist/audit/orchestrator/intentScopeDisposition.d.ts +49 -0
- package/dist/audit/orchestrator/intentScopeDisposition.d.ts.map +1 -0
- package/dist/audit/orchestrator/intentScopeDisposition.js +57 -0
- package/dist/audit/orchestrator/intentScopeDisposition.js.map +1 -0
- package/dist/audit/orchestrator/rollingDispatch.d.ts +9 -0
- package/dist/audit/orchestrator/rollingDispatch.d.ts.map +1 -1
- package/dist/audit/orchestrator/rollingDispatch.js +10 -0
- package/dist/audit/orchestrator/rollingDispatch.js.map +1 -1
- package/dist/audit/orchestrator/scope.d.ts +1 -0
- package/dist/audit/orchestrator/scope.d.ts.map +1 -1
- package/dist/audit/orchestrator/scope.js +2 -7
- package/dist/audit/orchestrator/scope.js.map +1 -1
- package/dist/audit/quota/index.d.ts +5 -0
- package/dist/audit/quota/index.d.ts.map +1 -1
- package/dist/audit/reporting/scoreAudit.d.ts +161 -0
- package/dist/audit/reporting/scoreAudit.d.ts.map +1 -0
- package/dist/audit/reporting/scoreAudit.js +224 -0
- package/dist/audit/reporting/scoreAudit.js.map +1 -0
- package/dist/audit/types/activeDispatch.d.ts +29 -1
- package/dist/audit/types/activeDispatch.d.ts.map +1 -1
- package/dist/audit/types/activeDispatch.js.map +1 -1
- package/dist/audit/types/analyzerCapability.d.ts +6 -6
- package/dist/remediate/contractPipeline/changeClassification.d.ts +146 -0
- package/dist/remediate/contractPipeline/changeClassification.d.ts.map +1 -0
- package/dist/remediate/contractPipeline/changeClassification.js +398 -0
- package/dist/remediate/contractPipeline/changeClassification.js.map +1 -0
- package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/derive.js +9 -0
- package/dist/remediate/contractPipeline/derive.js.map +1 -1
- package/dist/remediate/intent/intentOrdering.d.ts +51 -0
- package/dist/remediate/intent/intentOrdering.d.ts.map +1 -0
- package/dist/remediate/intent/intentOrdering.js +150 -0
- package/dist/remediate/intent/intentOrdering.js.map +1 -0
- package/dist/remediate/phases/plan.d.ts.map +1 -1
- package/dist/remediate/phases/plan.js +14 -1
- package/dist/remediate/phases/plan.js.map +1 -1
- package/dist/remediate/providers/index.d.ts +32 -0
- package/dist/remediate/providers/index.d.ts.map +1 -1
- package/dist/remediate/providers/index.js +28 -1
- package/dist/remediate/providers/index.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +15 -1
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +282 -14
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/dispatch.d.ts +56 -1
- package/dist/remediate/steps/dispatch.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch.js +120 -29
- package/dist/remediate/steps/dispatch.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +53 -2
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +253 -81
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/providerNodeDispatch.d.ts +8 -1
- package/dist/remediate/steps/providerNodeDispatch.d.ts.map +1 -1
- package/dist/remediate/steps/providerNodeDispatch.js +7 -2
- package/dist/remediate/steps/providerNodeDispatch.js.map +1 -1
- package/dist/remediate/steps/rollingSession.d.ts +55 -1
- package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
- package/dist/remediate/steps/rollingSession.js +128 -19
- package/dist/remediate/steps/rollingSession.js.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.d.ts +23 -8
- package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.js +43 -38
- package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
- package/dist/shared/dispatch/coordinator.d.ts +170 -0
- package/dist/shared/dispatch/coordinator.d.ts.map +1 -0
- package/dist/shared/dispatch/coordinator.js +177 -0
- package/dist/shared/dispatch/coordinator.js.map +1 -0
- package/dist/shared/dispatch/hybridDispatch.d.ts +74 -0
- package/dist/shared/dispatch/hybridDispatch.d.ts.map +1 -0
- package/dist/shared/dispatch/hybridDispatch.js +54 -0
- package/dist/shared/dispatch/hybridDispatch.js.map +1 -0
- package/dist/shared/dispatch/settledPools.d.ts +21 -0
- package/dist/shared/dispatch/settledPools.d.ts.map +1 -0
- package/dist/shared/dispatch/settledPools.js +34 -0
- package/dist/shared/dispatch/settledPools.js.map +1 -0
- package/dist/shared/index.d.ts +15 -5
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +14 -2
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/intent/clauseInterpreter.d.ts +19 -0
- package/dist/shared/intent/clauseInterpreter.d.ts.map +1 -1
- package/dist/shared/intent/clauseInterpreter.js +19 -0
- package/dist/shared/intent/clauseInterpreter.js.map +1 -1
- package/dist/shared/providers/sharedProviderConfirmation.d.ts +134 -0
- package/dist/shared/providers/sharedProviderConfirmation.d.ts.map +1 -0
- package/dist/shared/providers/sharedProviderConfirmation.js +244 -0
- package/dist/shared/providers/sharedProviderConfirmation.js.map +1 -0
- package/dist/shared/quota/apiPool.d.ts +67 -0
- package/dist/shared/quota/apiPool.d.ts.map +1 -0
- package/dist/shared/quota/apiPool.js +139 -0
- package/dist/shared/quota/apiPool.js.map +1 -0
- package/dist/shared/quota/capacity.d.ts +29 -1
- package/dist/shared/quota/capacity.d.ts.map +1 -1
- package/dist/shared/quota/capacity.js +5 -0
- package/dist/shared/quota/capacity.js.map +1 -1
- package/dist/shared/quota/claimRegistry.d.ts +64 -0
- package/dist/shared/quota/claimRegistry.d.ts.map +1 -0
- package/dist/shared/quota/claimRegistry.js +157 -0
- package/dist/shared/quota/claimRegistry.js.map +1 -0
- package/dist/shared/quota/compositeQuotaSource.d.ts +10 -1
- package/dist/shared/quota/compositeQuotaSource.d.ts.map +1 -1
- package/dist/shared/quota/compositeQuotaSource.js +34 -6
- package/dist/shared/quota/compositeQuotaSource.js.map +1 -1
- package/dist/shared/quota/httpQuotaSource.d.ts +9 -1
- package/dist/shared/quota/httpQuotaSource.d.ts.map +1 -1
- package/dist/shared/quota/httpQuotaSource.js +33 -8
- package/dist/shared/quota/httpQuotaSource.js.map +1 -1
- package/dist/shared/quota/learnedQuotaSource.d.ts +7 -1
- package/dist/shared/quota/learnedQuotaSource.d.ts.map +1 -1
- package/dist/shared/quota/learnedQuotaSource.js +18 -7
- package/dist/shared/quota/learnedQuotaSource.js.map +1 -1
- package/dist/shared/quota/quotaSource.d.ts +41 -0
- package/dist/shared/quota/quotaSource.d.ts.map +1 -1
- package/dist/shared/quota/quotaSource.js +19 -0
- package/dist/shared/quota/quotaSource.js.map +1 -1
- package/dist/shared/types/contractPipeline/obligations.d.ts +42 -0
- package/dist/shared/types/contractPipeline/obligations.d.ts.map +1 -1
- package/dist/shared/types/contractPipeline.d.ts +1 -1
- package/dist/shared/types/contractPipeline.d.ts.map +1 -1
- package/dist/shared/types/contractPipeline.js.map +1 -1
- package/dist/shared/types/intentCheckpoint.d.ts +14 -0
- package/dist/shared/types/intentCheckpoint.d.ts.map +1 -1
- package/dist/shared/types/intentCheckpoint.js +10 -0
- package/dist/shared/types/intentCheckpoint.js.map +1 -1
- package/dist/shared/types/sessionConfig.d.ts +60 -0
- package/dist/shared/types/sessionConfig.d.ts.map +1 -1
- package/dist/shared/types/sessionConfig.js +13 -0
- package/dist/shared/types/sessionConfig.js.map +1 -1
- 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
|
-
//
|
|
520
|
-
//
|
|
521
|
-
//
|
|
522
|
-
// the aggregated artifact
|
|
523
|
-
//
|
|
524
|
-
//
|
|
525
|
-
//
|
|
526
|
-
|
|
527
|
-
|
|
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 exploit — fall 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
|
|
1046
|
-
//
|
|
1047
|
-
|
|
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;
|