audit-tools 0.46.0 → 0.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -16
- package/dispatch/merge-results.mjs +3 -3
- package/dispatch/validate-result.mjs +3 -3
- package/dist/audit/clarification/partition.d.ts.map +1 -1
- package/dist/audit/clarification/partition.js +2 -1
- package/dist/audit/clarification/partition.js.map +1 -1
- package/dist/audit/clarification/voiQueue.d.ts.map +1 -1
- package/dist/audit/clarification/voiQueue.js +2 -1
- package/dist/audit/clarification/voiQueue.js.map +1 -1
- package/dist/audit/cli/cleanupCommand.d.ts.map +1 -1
- package/dist/audit/cli/cleanupCommand.js +7 -1
- package/dist/audit/cli/cleanupCommand.js.map +1 -1
- package/dist/audit/cli/explainTaskCommand.d.ts.map +1 -1
- package/dist/audit/cli/explainTaskCommand.js +2 -1
- package/dist/audit/cli/explainTaskCommand.js.map +1 -1
- package/dist/audit/cli/laneValidators.d.ts +0 -2
- package/dist/audit/cli/laneValidators.d.ts.map +1 -1
- package/dist/audit/cli/laneValidators.js +2 -6
- package/dist/audit/cli/laneValidators.js.map +1 -1
- package/dist/audit/cli/lineIndex.d.ts.map +1 -1
- package/dist/audit/cli/lineIndex.js +2 -1
- package/dist/audit/cli/lineIndex.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts +12 -0
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +15 -6
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +31 -5
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/sampleRunCommand.d.ts +215 -0
- package/dist/audit/cli/sampleRunCommand.d.ts.map +1 -1
- package/dist/audit/cli/sampleRunCommand.js +48 -2
- package/dist/audit/cli/sampleRunCommand.js.map +1 -1
- package/dist/audit/contracts/findingContractPrompt.d.ts.map +1 -1
- package/dist/audit/contracts/findingContractPrompt.js +2 -2
- package/dist/audit/contracts/findingContractPrompt.js.map +1 -1
- package/dist/audit/decompose/buildStructureDecomposition.d.ts.map +1 -1
- package/dist/audit/decompose/buildStructureDecomposition.js +5 -8
- package/dist/audit/decompose/buildStructureDecomposition.js.map +1 -1
- package/dist/audit/decompose/findings.js +2 -2
- package/dist/audit/decompose/findings.js.map +1 -1
- package/dist/audit/decompose/sources.d.ts.map +1 -1
- package/dist/audit/decompose/sources.js +8 -11
- package/dist/audit/decompose/sources.js.map +1 -1
- package/dist/audit/extractors/analyzers/merge.d.ts.map +1 -1
- package/dist/audit/extractors/analyzers/merge.js +4 -3
- package/dist/audit/extractors/analyzers/merge.js.map +1 -1
- package/dist/audit/extractors/browserExtension.d.ts.map +1 -1
- package/dist/audit/extractors/browserExtension.js +2 -4
- package/dist/audit/extractors/browserExtension.js.map +1 -1
- package/dist/audit/extractors/commentDecomposition.d.ts.map +1 -1
- package/dist/audit/extractors/commentDecomposition.js +15 -29
- package/dist/audit/extractors/commentDecomposition.js.map +1 -1
- package/dist/audit/extractors/dataStateCoupling.d.ts.map +1 -1
- package/dist/audit/extractors/dataStateCoupling.js +3 -2
- package/dist/audit/extractors/dataStateCoupling.js.map +1 -1
- package/dist/audit/extractors/designAssessment.d.ts.map +1 -1
- package/dist/audit/extractors/designAssessment.js +6 -5
- package/dist/audit/extractors/designAssessment.js.map +1 -1
- package/dist/audit/extractors/disposition.d.ts.map +1 -1
- package/dist/audit/extractors/disposition.js +1 -4
- package/dist/audit/extractors/disposition.js.map +1 -1
- package/dist/audit/extractors/docsDigest.d.ts.map +1 -1
- package/dist/audit/extractors/docsDigest.js +6 -20
- package/dist/audit/extractors/docsDigest.js.map +1 -1
- package/dist/audit/extractors/fileInventory.d.ts.map +1 -1
- package/dist/audit/extractors/fileInventory.js +2 -1
- package/dist/audit/extractors/fileInventory.js.map +1 -1
- package/dist/audit/extractors/flows.js +3 -3
- package/dist/audit/extractors/flows.js.map +1 -1
- package/dist/audit/extractors/fsIntake.d.ts.map +1 -1
- package/dist/audit/extractors/fsIntake.js +4 -7
- package/dist/audit/extractors/fsIntake.js.map +1 -1
- package/dist/audit/extractors/graph.d.ts +1 -1
- package/dist/audit/extractors/graph.d.ts.map +1 -1
- package/dist/audit/extractors/graph.js +9 -12
- package/dist/audit/extractors/graph.js.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/jsonc.d.ts +10 -0
- package/dist/audit/extractors/graphManifestEdges/jsonc.d.ts.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/jsonc.js +12 -50
- package/dist/audit/extractors/graphManifestEdges/jsonc.js.map +1 -1
- package/dist/audit/extractors/graphPythonImports.js +2 -2
- package/dist/audit/extractors/graphPythonImports.js.map +1 -1
- package/dist/audit/extractors/graphRoutes.d.ts.map +1 -1
- package/dist/audit/extractors/graphRoutes.js +4 -3
- package/dist/audit/extractors/graphRoutes.js.map +1 -1
- package/dist/audit/extractors/graphSignals.d.ts.map +1 -1
- package/dist/audit/extractors/graphSignals.js +3 -2
- package/dist/audit/extractors/graphSignals.js.map +1 -1
- package/dist/audit/extractors/graphSuites.d.ts.map +1 -1
- package/dist/audit/extractors/graphSuites.js +3 -2
- package/dist/audit/extractors/graphSuites.js.map +1 -1
- package/dist/audit/extractors/readFileText.d.ts +12 -0
- package/dist/audit/extractors/readFileText.d.ts.map +1 -0
- package/dist/audit/extractors/readFileText.js +23 -0
- package/dist/audit/extractors/readFileText.js.map +1 -0
- package/dist/audit/extractors/risk.d.ts.map +1 -1
- package/dist/audit/extractors/risk.js +3 -2
- package/dist/audit/extractors/risk.js.map +1 -1
- package/dist/audit/io/toolingManifest.d.ts.map +1 -1
- package/dist/audit/io/toolingManifest.js +3 -2
- package/dist/audit/io/toolingManifest.js.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts +2 -2
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.js.map +1 -1
- package/dist/audit/orchestrator/artifactMetadata.d.ts.map +1 -1
- package/dist/audit/orchestrator/artifactMetadata.js +2 -2
- package/dist/audit/orchestrator/artifactMetadata.js.map +1 -1
- package/dist/audit/orchestrator/autoFixExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/autoFixExecutor.js +2 -1
- package/dist/audit/orchestrator/autoFixExecutor.js.map +1 -1
- package/dist/audit/orchestrator/charterPackets.d.ts.map +1 -1
- package/dist/audit/orchestrator/charterPackets.js +4 -3
- package/dist/audit/orchestrator/charterPackets.js.map +1 -1
- package/dist/audit/orchestrator/dependencySlices.d.ts.map +1 -1
- package/dist/audit/orchestrator/dependencySlices.js +4 -6
- package/dist/audit/orchestrator/dependencySlices.js.map +1 -1
- package/dist/audit/orchestrator/designReviewProjection.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewProjection.js +2 -2
- package/dist/audit/orchestrator/designReviewProjection.js.map +1 -1
- package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewPrompt.js +7 -0
- package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
- package/dist/audit/orchestrator/edgeReasoning.d.ts.map +1 -1
- package/dist/audit/orchestrator/edgeReasoning.js +3 -3
- package/dist/audit/orchestrator/edgeReasoning.js.map +1 -1
- package/dist/audit/orchestrator/fileAnchors.d.ts.map +1 -1
- package/dist/audit/orchestrator/fileAnchors.js +14 -16
- package/dist/audit/orchestrator/fileAnchors.js.map +1 -1
- package/dist/audit/orchestrator/flowPlanning.d.ts.map +1 -1
- package/dist/audit/orchestrator/flowPlanning.js +3 -2
- package/dist/audit/orchestrator/flowPlanning.js.map +1 -1
- package/dist/audit/orchestrator/graphEnrichmentExecutor.js +5 -5
- package/dist/audit/orchestrator/graphEnrichmentExecutor.js.map +1 -1
- package/dist/audit/orchestrator/hostInputPause.d.ts +8 -2
- package/dist/audit/orchestrator/hostInputPause.d.ts.map +1 -1
- package/dist/audit/orchestrator/hostInputPause.js.map +1 -1
- package/dist/audit/orchestrator/ingestionExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/ingestionExecutors.js +2 -1
- package/dist/audit/orchestrator/ingestionExecutors.js.map +1 -1
- package/dist/audit/orchestrator/intentInterpreter.d.ts +15 -18
- package/dist/audit/orchestrator/intentInterpreter.d.ts.map +1 -1
- package/dist/audit/orchestrator/intentInterpreter.js +12 -26
- package/dist/audit/orchestrator/intentInterpreter.js.map +1 -1
- package/dist/audit/orchestrator/partitionTaskGraph.d.ts.map +1 -1
- package/dist/audit/orchestrator/partitionTaskGraph.js +1 -3
- package/dist/audit/orchestrator/partitionTaskGraph.js.map +1 -1
- package/dist/audit/orchestrator/reviewPacketGraphContext.js +3 -3
- package/dist/audit/orchestrator/reviewPacketGraphContext.js.map +1 -1
- package/dist/audit/orchestrator/reviewPacketGraphEdges.d.ts.map +1 -1
- package/dist/audit/orchestrator/reviewPacketGraphEdges.js +4 -4
- package/dist/audit/orchestrator/reviewPacketGraphEdges.js.map +1 -1
- package/dist/audit/orchestrator/reviewPacketMetrics.d.ts.map +1 -1
- package/dist/audit/orchestrator/reviewPacketMetrics.js +4 -3
- package/dist/audit/orchestrator/reviewPacketMetrics.js.map +1 -1
- package/dist/audit/orchestrator/reviewPackets.d.ts.map +1 -1
- package/dist/audit/orchestrator/reviewPackets.js +1 -4
- package/dist/audit/orchestrator/reviewPackets.js.map +1 -1
- package/dist/audit/orchestrator/runtimeValidationUpdate.d.ts.map +1 -1
- package/dist/audit/orchestrator/runtimeValidationUpdate.js +2 -1
- package/dist/audit/orchestrator/runtimeValidationUpdate.js.map +1 -1
- package/dist/audit/orchestrator/scope.js +4 -4
- package/dist/audit/orchestrator/scope.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/index.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/index.js +4 -3
- package/dist/audit/orchestrator/selectiveDeepening/index.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/lensVerification.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/lensVerification.js +4 -3
- package/dist/audit/orchestrator/selectiveDeepening/lensVerification.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/shared.d.ts +0 -1
- package/dist/audit/orchestrator/selectiveDeepening/shared.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/shared.js +2 -5
- package/dist/audit/orchestrator/selectiveDeepening/shared.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.js +2 -1
- package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.js.map +1 -1
- package/dist/audit/orchestrator/taskBuilder.d.ts.map +1 -1
- package/dist/audit/orchestrator/taskBuilder.js +5 -12
- package/dist/audit/orchestrator/taskBuilder.js.map +1 -1
- package/dist/audit/orchestrator/unitBuilder.d.ts.map +1 -1
- package/dist/audit/orchestrator/unitBuilder.js +3 -2
- package/dist/audit/orchestrator/unitBuilder.js.map +1 -1
- package/dist/audit/orchestrator.d.ts.map +1 -1
- package/dist/audit/orchestrator.js +1 -4
- package/dist/audit/orchestrator.js.map +1 -1
- package/dist/audit/reporting/mergeFindings.d.ts.map +1 -1
- package/dist/audit/reporting/mergeFindings.js +2 -2
- package/dist/audit/reporting/mergeFindings.js.map +1 -1
- package/dist/audit/reporting/synthesis.d.ts.map +1 -1
- package/dist/audit/reporting/synthesis.js +3 -3
- package/dist/audit/reporting/synthesis.js.map +1 -1
- package/dist/audit/reporting/workBlocks.d.ts.map +1 -1
- package/dist/audit/reporting/workBlocks.js +15 -20
- package/dist/audit/reporting/workBlocks.js.map +1 -1
- package/dist/audit/supervisor/runLedger.d.ts.map +1 -1
- package/dist/audit/supervisor/runLedger.js +1 -4
- package/dist/audit/supervisor/runLedger.js.map +1 -1
- package/dist/audit/systemic/systemicChallengeLoop.js +2 -2
- package/dist/audit/systemic/systemicChallengeLoop.js.map +1 -1
- package/dist/audit/validation/artifacts.d.ts.map +1 -1
- package/dist/audit/validation/artifacts.js +26 -29
- package/dist/audit/validation/artifacts.js.map +1 -1
- package/dist/remediate/contractPipeline/phaseCut.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/phaseCut.js +2 -1
- package/dist/remediate/contractPipeline/phaseCut.js.map +1 -1
- package/dist/remediate/contractPipeline/testPlanCarry.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/testPlanCarry.js +1 -4
- package/dist/remediate/contractPipeline/testPlanCarry.js.map +1 -1
- package/dist/remediate/intake.js +1 -1
- package/dist/remediate/intake.js.map +1 -1
- package/dist/remediate/phases/close.d.ts +8 -0
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +14 -15
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/phases/plan.js +2 -2
- package/dist/remediate/phases/plan.js.map +1 -1
- package/dist/remediate/review/autonomousGate.d.ts +3 -7
- package/dist/remediate/review/autonomousGate.d.ts.map +1 -1
- package/dist/remediate/review/autonomousGate.js +10 -24
- package/dist/remediate/review/autonomousGate.js.map +1 -1
- package/dist/remediate/riskSignal.d.ts +9 -20
- package/dist/remediate/riskSignal.d.ts.map +1 -1
- package/dist/remediate/riskSignal.js +23 -82
- package/dist/remediate/riskSignal.js.map +1 -1
- package/dist/remediate/state/accessMemory.d.ts +2 -3
- package/dist/remediate/state/accessMemory.d.ts.map +1 -1
- package/dist/remediate/state/accessMemory.js +6 -9
- package/dist/remediate/state/accessMemory.js.map +1 -1
- package/dist/remediate/state/store.d.ts +6 -7
- package/dist/remediate/state/store.d.ts.map +1 -1
- package/dist/remediate/state/store.js.map +1 -1
- package/dist/remediate/state/types.d.ts +2 -84
- package/dist/remediate/state/types.d.ts.map +1 -1
- package/dist/remediate/state/types.js +1 -39
- package/dist/remediate/state/types.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +0 -19
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +84 -72
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +0 -2
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +16 -7
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +171 -210
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/stepUtils.d.ts +10 -2
- package/dist/remediate/steps/stepUtils.d.ts.map +1 -1
- package/dist/remediate/steps/stepUtils.js +13 -3
- package/dist/remediate/steps/stepUtils.js.map +1 -1
- package/dist/remediate/steps/types.d.ts +1 -1
- package/dist/remediate/steps/types.d.ts.map +1 -1
- package/dist/remediate/steps/types.js.map +1 -1
- package/dist/remediate/utils/fileIntegrity.d.ts.map +1 -1
- package/dist/remediate/utils/fileIntegrity.js +4 -8
- package/dist/remediate/utils/fileIntegrity.js.map +1 -1
- package/dist/remediate/validation/artifacts.d.ts.map +1 -1
- package/dist/remediate/validation/artifacts.js +6 -21
- package/dist/remediate/validation/artifacts.js.map +1 -1
- package/dist/remediate/validation/remediationState.d.ts +0 -1
- package/dist/remediate/validation/remediationState.d.ts.map +1 -1
- package/dist/remediate/validation/remediationState.js +0 -51
- package/dist/remediate/validation/remediationState.js.map +1 -1
- package/dist/shared/accessMemory.d.ts.map +1 -1
- package/dist/shared/accessMemory.js +2 -1
- package/dist/shared/accessMemory.js.map +1 -1
- package/dist/shared/affinityArtifacts.d.ts +0 -1
- package/dist/shared/affinityArtifacts.d.ts.map +1 -1
- package/dist/shared/affinityArtifacts.js +1 -3
- package/dist/shared/affinityArtifacts.js.map +1 -1
- package/dist/shared/agentReflections.d.ts.map +1 -1
- package/dist/shared/agentReflections.js +2 -1
- package/dist/shared/agentReflections.js.map +1 -1
- package/dist/shared/analyzerPolicy.d.ts +18 -6
- package/dist/shared/analyzerPolicy.d.ts.map +1 -1
- package/dist/shared/analyzerPolicy.js +22 -25
- package/dist/shared/analyzerPolicy.js.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.d.ts +14 -8
- package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.js +3 -4
- package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.js +7 -10
- package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
- package/dist/shared/analyzers/candidates.d.ts.map +1 -1
- package/dist/shared/analyzers/candidates.js +1 -3
- package/dist/shared/analyzers/candidates.js.map +1 -1
- package/dist/shared/analyzers/normalizeExternal.d.ts.map +1 -1
- package/dist/shared/analyzers/normalizeExternal.js +12 -13
- package/dist/shared/analyzers/normalizeExternal.js.map +1 -1
- package/dist/shared/analyzers/types.d.ts.map +1 -1
- package/dist/shared/analyzers/types.js +2 -1
- package/dist/shared/analyzers/types.js.map +1 -1
- package/dist/shared/artifactFreshness.d.ts.map +1 -1
- package/dist/shared/artifactFreshness.js +4 -8
- package/dist/shared/artifactFreshness.js.map +1 -1
- package/dist/shared/compareCodeUnits.d.ts +9 -0
- package/dist/shared/compareCodeUnits.d.ts.map +1 -0
- package/dist/shared/compareCodeUnits.js +11 -0
- package/dist/shared/compareCodeUnits.js.map +1 -0
- package/dist/shared/constitutionalDocPaths.d.ts.map +1 -1
- package/dist/shared/constitutionalDocPaths.js +1 -4
- package/dist/shared/constitutionalDocPaths.js.map +1 -1
- package/dist/shared/contentKey.d.ts.map +1 -1
- package/dist/shared/contentKey.js +6 -8
- package/dist/shared/contentKey.js.map +1 -1
- package/dist/shared/decompose/charterClarification.d.ts.map +1 -1
- package/dist/shared/decompose/charterClarification.js +2 -1
- package/dist/shared/decompose/charterClarification.js.map +1 -1
- package/dist/shared/decompose/charterExtraction.d.ts.map +1 -1
- package/dist/shared/decompose/charterExtraction.js +21 -20
- package/dist/shared/decompose/charterExtraction.js.map +1 -1
- package/dist/shared/decompose/consensus.d.ts.map +1 -1
- package/dist/shared/decompose/consensus.js +7 -6
- package/dist/shared/decompose/consensus.js.map +1 -1
- package/dist/shared/decompose/contentCoherence.d.ts.map +1 -1
- package/dist/shared/decompose/contentCoherence.js +4 -10
- package/dist/shared/decompose/contentCoherence.js.map +1 -1
- package/dist/shared/decompose/modularity.d.ts.map +1 -1
- package/dist/shared/decompose/modularity.js +12 -14
- package/dist/shared/decompose/modularity.js.map +1 -1
- package/dist/shared/decompose/workBlockSeams.js +3 -3
- package/dist/shared/decompose/workBlockSeams.js.map +1 -1
- package/dist/shared/findings/dedupe.d.ts.map +1 -1
- package/dist/shared/findings/dedupe.js +2 -1
- package/dist/shared/findings/dedupe.js.map +1 -1
- package/dist/shared/friction/frictionRecord.d.ts.map +1 -1
- package/dist/shared/friction/frictionRecord.js +3 -2
- package/dist/shared/friction/frictionRecord.js.map +1 -1
- package/dist/shared/friction/triage.d.ts.map +1 -1
- package/dist/shared/friction/triage.js +2 -1
- package/dist/shared/friction/triage.js.map +1 -1
- package/dist/shared/git.d.ts.map +1 -1
- package/dist/shared/git.js +5 -4
- package/dist/shared/git.js.map +1 -1
- package/dist/shared/index.d.ts +6 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +7 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/intent/constraintClauses.d.ts +31 -0
- package/dist/shared/intent/constraintClauses.d.ts.map +1 -0
- package/dist/shared/intent/constraintClauses.js +37 -0
- package/dist/shared/intent/constraintClauses.js.map +1 -0
- package/dist/shared/io/artifactName.js +2 -2
- package/dist/shared/io/artifactName.js.map +1 -1
- package/dist/shared/io/frictionCapture.d.ts.map +1 -1
- package/dist/shared/io/frictionCapture.js +4 -6
- package/dist/shared/io/frictionCapture.js.map +1 -1
- package/dist/shared/io/json.d.ts +2 -0
- package/dist/shared/io/json.d.ts.map +1 -1
- package/dist/shared/io/json.js +2 -1
- package/dist/shared/io/json.js.map +1 -1
- package/dist/shared/loopCorePaths.d.ts.map +1 -1
- package/dist/shared/loopCorePaths.js +1 -4
- package/dist/shared/loopCorePaths.js.map +1 -1
- package/dist/shared/paths.d.ts +19 -0
- package/dist/shared/paths.d.ts.map +1 -0
- package/dist/shared/paths.js +23 -0
- package/dist/shared/paths.js.map +1 -0
- package/dist/shared/reReview/projectionDiff.d.ts +0 -18
- package/dist/shared/reReview/projectionDiff.d.ts.map +1 -1
- package/dist/shared/reReview/projectionDiff.js +2 -1
- package/dist/shared/reReview/projectionDiff.js.map +1 -1
- package/dist/shared/sessionConfig.d.ts.map +1 -1
- package/dist/shared/sessionConfig.js +9 -24
- package/dist/shared/sessionConfig.js.map +1 -1
- package/dist/shared/stableStringify.d.ts.map +1 -1
- package/dist/shared/stableStringify.js +1 -3
- package/dist/shared/stableStringify.js.map +1 -1
- package/dist/shared/submission/expectedSubmissions.d.ts +0 -19
- package/dist/shared/submission/expectedSubmissions.d.ts.map +1 -1
- package/dist/shared/submission/expectedSubmissions.js +23 -6
- package/dist/shared/submission/expectedSubmissions.js.map +1 -1
- package/dist/shared/submission/hostHandoffCore.d.ts +0 -3
- package/dist/shared/submission/hostHandoffCore.d.ts.map +1 -1
- package/dist/shared/submission/hostHandoffCore.js +2 -7
- package/dist/shared/submission/hostHandoffCore.js.map +1 -1
- package/dist/shared/submission/submissionIdentity.d.ts.map +1 -1
- package/dist/shared/submission/submissionIdentity.js +7 -8
- package/dist/shared/submission/submissionIdentity.js.map +1 -1
- package/dist/shared/validation/findingsReport.d.ts.map +1 -1
- package/dist/shared/validation/findingsReport.js +2 -1
- package/dist/shared/validation/findingsReport.js.map +1 -1
- package/dist/shared/validation/schemaFailure.d.ts +9 -0
- package/dist/shared/validation/schemaFailure.d.ts.map +1 -0
- package/dist/shared/validation/schemaFailure.js +15 -0
- package/dist/shared/validation/schemaFailure.js.map +1 -0
- package/docs/audit-pkg/operator-guide.md +7 -4
- package/package.json +7 -2
- package/scripts/audit/postinstall.mjs +4 -2
- package/scripts/postinstall.mjs +1 -1
- package/scripts/remediate/postinstall.mjs +3 -1
- package/scripts/shared/install-host-assets.mjs +7 -3
- package/wrapper/audit-code-wrapper-build.mjs +3 -3
- package/wrapper/audit-code-wrapper-install-hosts.mjs +3 -3
- package/wrapper/audit-code-wrapper-lib.mjs +1 -0
- package/wrapper/remediate-code-wrapper-install-hosts.mjs +3 -3
|
@@ -30,7 +30,7 @@ export declare const RemediationBlockSchema: z.ZodObject<{
|
|
|
30
30
|
* rejected by `validateRemediationBlock` — which the state LOAD gate
|
|
31
31
|
* delegates to, so the requirement holds on every path a block reaches a
|
|
32
32
|
* consumer through): the file-ownership-disjoint scheduler and
|
|
33
|
-
* `
|
|
33
|
+
* `blockResolvedItemsOnCombinedFailure` both read it, so a block with no declared
|
|
34
34
|
* surface is a producer bug, not an implicit empty.
|
|
35
35
|
*/
|
|
36
36
|
touched_files: z.ZodArray<z.ZodString, "many">;
|
|
@@ -363,7 +363,7 @@ export declare const RemediationPlanSchema: z.ZodObject<{
|
|
|
363
363
|
* rejected by `validateRemediationBlock` — which the state LOAD gate
|
|
364
364
|
* delegates to, so the requirement holds on every path a block reaches a
|
|
365
365
|
* consumer through): the file-ownership-disjoint scheduler and
|
|
366
|
-
* `
|
|
366
|
+
* `blockResolvedItemsOnCombinedFailure` both read it, so a block with no declared
|
|
367
367
|
* surface is a producer bug, not an implicit empty.
|
|
368
368
|
*/
|
|
369
369
|
touched_files: z.ZodArray<z.ZodString, "many">;
|
|
@@ -627,77 +627,6 @@ export declare const RemediationHostHandoffRecordSchema: z.ZodObject<{
|
|
|
627
627
|
work_item_ids: string[];
|
|
628
628
|
}>;
|
|
629
629
|
export type RemediationHostHandoffRecord = z.infer<typeof RemediationHostHandoffRecordSchema>;
|
|
630
|
-
/**
|
|
631
|
-
* Canonical names of the bounded remediation steps. Defined as named constants
|
|
632
|
-
* (rather than bare string literals scattered across the phases) so the
|
|
633
|
-
* implement phase, the validator, and the item-spec contract share one source
|
|
634
|
-
* of truth for these magic strings.
|
|
635
|
-
*/
|
|
636
|
-
export declare const REMEDIATION_STEP: {
|
|
637
|
-
readonly WRITE_TESTS: "Write Tests";
|
|
638
|
-
readonly REFACTOR_CODE: "Refactor Code";
|
|
639
|
-
readonly VERIFY_AGAINST_TESTS: "Verify Code Against Tests";
|
|
640
|
-
readonly VERIFY_AGAINST_DOCUMENTATION: "Verify Code Against Documentation";
|
|
641
|
-
};
|
|
642
|
-
export declare const ItemSpecSchema: z.ZodObject<{
|
|
643
|
-
finding_id: z.ZodString;
|
|
644
|
-
concrete_change: z.ZodString;
|
|
645
|
-
no_change: z.ZodOptional<z.ZodBoolean>;
|
|
646
|
-
/**
|
|
647
|
-
* Repo-relative paths the fix will create or modify, as declared by the
|
|
648
|
-
* document worker. The document phase can correct or extend the finding's
|
|
649
|
-
* pre-document affected_files (e.g. when the real fix lives elsewhere); block
|
|
650
|
-
* access is recomputed from this union so the implementer may write them.
|
|
651
|
-
*/
|
|
652
|
-
touched_files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
653
|
-
tests_to_write: z.ZodArray<z.ZodObject<{
|
|
654
|
-
name: z.ZodString;
|
|
655
|
-
assertions: z.ZodArray<z.ZodString, "many">;
|
|
656
|
-
}, "strict", z.ZodTypeAny, {
|
|
657
|
-
name: string;
|
|
658
|
-
assertions: string[];
|
|
659
|
-
}, {
|
|
660
|
-
name: string;
|
|
661
|
-
assertions: string[];
|
|
662
|
-
}>, "many">;
|
|
663
|
-
not_applicable_steps: z.ZodArray<z.ZodObject<{
|
|
664
|
-
step: z.ZodEnum<["Write Tests", "Refactor Code", "Verify Code Against Tests", "Verify Code Against Documentation"]>;
|
|
665
|
-
rationale: z.ZodString;
|
|
666
|
-
}, "strict", z.ZodTypeAny, {
|
|
667
|
-
rationale: string;
|
|
668
|
-
step: "Write Tests" | "Refactor Code" | "Verify Code Against Tests" | "Verify Code Against Documentation";
|
|
669
|
-
}, {
|
|
670
|
-
rationale: string;
|
|
671
|
-
step: "Write Tests" | "Refactor Code" | "Verify Code Against Tests" | "Verify Code Against Documentation";
|
|
672
|
-
}>, "many">;
|
|
673
|
-
}, "strict", z.ZodTypeAny, {
|
|
674
|
-
finding_id: string;
|
|
675
|
-
concrete_change: string;
|
|
676
|
-
tests_to_write: {
|
|
677
|
-
name: string;
|
|
678
|
-
assertions: string[];
|
|
679
|
-
}[];
|
|
680
|
-
not_applicable_steps: {
|
|
681
|
-
rationale: string;
|
|
682
|
-
step: "Write Tests" | "Refactor Code" | "Verify Code Against Tests" | "Verify Code Against Documentation";
|
|
683
|
-
}[];
|
|
684
|
-
touched_files?: string[] | undefined;
|
|
685
|
-
no_change?: boolean | undefined;
|
|
686
|
-
}, {
|
|
687
|
-
finding_id: string;
|
|
688
|
-
concrete_change: string;
|
|
689
|
-
tests_to_write: {
|
|
690
|
-
name: string;
|
|
691
|
-
assertions: string[];
|
|
692
|
-
}[];
|
|
693
|
-
not_applicable_steps: {
|
|
694
|
-
rationale: string;
|
|
695
|
-
step: "Write Tests" | "Refactor Code" | "Verify Code Against Tests" | "Verify Code Against Documentation";
|
|
696
|
-
}[];
|
|
697
|
-
touched_files?: string[] | undefined;
|
|
698
|
-
no_change?: boolean | undefined;
|
|
699
|
-
}>;
|
|
700
|
-
export type ItemSpec = z.infer<typeof ItemSpecSchema>;
|
|
701
630
|
export declare const ClarificationRequestSchema: z.ZodObject<{
|
|
702
631
|
finding_id: z.ZodString;
|
|
703
632
|
category: z.ZodEnum<["public_contract", "behavioral_semantics", "scope_of_fix", "dependency_introduction", "compatibility_policy", "intent_vs_symptom", "issue_appropriateness"]>;
|
|
@@ -844,14 +773,6 @@ export interface CoverageLedger {
|
|
|
844
773
|
* covers deemed-inappropriate items, `ignored` covers user-ignored items.
|
|
845
774
|
*/
|
|
846
775
|
export type RemediationOutcomeFinalStatus = "fixed" | "failed" | "ignored" | "skipped";
|
|
847
|
-
/**
|
|
848
|
-
* Typed subset of `ItemSpec` carried on each outcomes item — the documented
|
|
849
|
-
* fields a retry needs without re-running the document phase.
|
|
850
|
-
*/
|
|
851
|
-
export interface ItemSpecSummary extends Pick<ItemSpec, "concrete_change" | "no_change" | "touched_files"> {
|
|
852
|
-
/** Names of the tests the document phase specified (`ItemSpec.tests_to_write[].name`). */
|
|
853
|
-
tests_to_write: string[];
|
|
854
|
-
}
|
|
855
776
|
/**
|
|
856
777
|
* One fully self-describing entry per finding in `remediation-outcomes.json`.
|
|
857
778
|
* Extends the shared per-finding outcome so the file is retryable on its own:
|
|
@@ -867,8 +788,6 @@ export interface ItemSpecSummary extends Pick<ItemSpec, "concrete_change" | "no_
|
|
|
867
788
|
export interface RemediationOutcomeItem extends RemediationOutcome {
|
|
868
789
|
/** Full original Finding payload (the shared `Finding` type, verbatim). */
|
|
869
790
|
finding: Finding;
|
|
870
|
-
/** Summary of the documented `ItemSpec`; absent when never documented. */
|
|
871
|
-
item_spec?: ItemSpecSummary;
|
|
872
791
|
/** Owning block id (`RemediationBlock.block_id`). */
|
|
873
792
|
block_id: RemediationBlock["block_id"];
|
|
874
793
|
/** The owning block's dependency block ids (`RemediationBlock.dependencies`). */
|
|
@@ -901,7 +820,6 @@ export interface RemediationItemState {
|
|
|
901
820
|
finding_id: string;
|
|
902
821
|
status: RemediationItemStatus;
|
|
903
822
|
block_id: string;
|
|
904
|
-
item_spec?: ItemSpec;
|
|
905
823
|
last_successful_step?: string;
|
|
906
824
|
failure_reason?: string;
|
|
907
825
|
/** Prompt-bound evidence supplied for a verified no-change host outcome. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/remediate/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAM7D,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,OAAO,EAAE,CAAC;AAWxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAIzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,sBAAsB;;;IAI/B;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;;;;;OAQG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;OAMG;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;EAGI,CAAC;AACZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QArD9B;;;WAGG;;QAEH;;;;WAIG;;QAEH;;;;WAIG;;QAEH;;;;;;;;WAQG;;QAEH;;;;;;;WAOG;;QAEH;;;;;;WAMG;;QAEH;;;WAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBH,+EAA+E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGxE,CAAC;AACZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;EAUpC,CAAC;AACZ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,kCAAkC,CAC1C,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/remediate/state/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ export const RemediationBlockSchema = z
|
|
|
28
28
|
* rejected by `validateRemediationBlock` — which the state LOAD gate
|
|
29
29
|
* delegates to, so the requirement holds on every path a block reaches a
|
|
30
30
|
* consumer through): the file-ownership-disjoint scheduler and
|
|
31
|
-
* `
|
|
31
|
+
* `blockResolvedItemsOnCombinedFailure` both read it, so a block with no declared
|
|
32
32
|
* surface is a producer bug, not an implicit empty.
|
|
33
33
|
*/
|
|
34
34
|
touched_files: z.array(z.string()),
|
|
@@ -89,44 +89,6 @@ export const RemediationHostHandoffRecordSchema = z
|
|
|
89
89
|
work_item_ids: z.array(z.string()).min(1),
|
|
90
90
|
})
|
|
91
91
|
.strict();
|
|
92
|
-
/**
|
|
93
|
-
* Canonical names of the bounded remediation steps. Defined as named constants
|
|
94
|
-
* (rather than bare string literals scattered across the phases) so the
|
|
95
|
-
* implement phase, the validator, and the item-spec contract share one source
|
|
96
|
-
* of truth for these magic strings.
|
|
97
|
-
*/
|
|
98
|
-
export const REMEDIATION_STEP = {
|
|
99
|
-
WRITE_TESTS: "Write Tests",
|
|
100
|
-
REFACTOR_CODE: "Refactor Code",
|
|
101
|
-
VERIFY_AGAINST_TESTS: "Verify Code Against Tests",
|
|
102
|
-
VERIFY_AGAINST_DOCUMENTATION: "Verify Code Against Documentation",
|
|
103
|
-
};
|
|
104
|
-
export const ItemSpecSchema = z
|
|
105
|
-
.object({
|
|
106
|
-
finding_id: z.string(),
|
|
107
|
-
concrete_change: z.string(),
|
|
108
|
-
no_change: z.boolean().optional(),
|
|
109
|
-
/**
|
|
110
|
-
* Repo-relative paths the fix will create or modify, as declared by the
|
|
111
|
-
* document worker. The document phase can correct or extend the finding's
|
|
112
|
-
* pre-document affected_files (e.g. when the real fix lives elsewhere); block
|
|
113
|
-
* access is recomputed from this union so the implementer may write them.
|
|
114
|
-
*/
|
|
115
|
-
touched_files: z.array(z.string()).optional(),
|
|
116
|
-
tests_to_write: z.array(z.object({ name: z.string(), assertions: z.array(z.string()) }).strict()),
|
|
117
|
-
not_applicable_steps: z.array(z
|
|
118
|
-
.object({
|
|
119
|
-
step: z.enum([
|
|
120
|
-
REMEDIATION_STEP.WRITE_TESTS,
|
|
121
|
-
REMEDIATION_STEP.REFACTOR_CODE,
|
|
122
|
-
REMEDIATION_STEP.VERIFY_AGAINST_TESTS,
|
|
123
|
-
REMEDIATION_STEP.VERIFY_AGAINST_DOCUMENTATION,
|
|
124
|
-
]),
|
|
125
|
-
rationale: z.string(),
|
|
126
|
-
})
|
|
127
|
-
.strict()),
|
|
128
|
-
})
|
|
129
|
-
.strict();
|
|
130
92
|
export const ClarificationRequestSchema = z
|
|
131
93
|
.object({
|
|
132
94
|
finding_id: z.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/remediate/state/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/remediate/state/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type ValidationIssue, type JudgeReport, type WorkBlock, type WorkBlockSeam } from "audit-tools/shared";
|
|
2
2
|
import { readIntakeRiskSignal, type AdversarialDepth } from "../riskSignal.js";
|
|
3
3
|
import { type ContractPipelineCrossGateInputs, type GateOutcome } from "../validation/contractPipelineGates.js";
|
|
4
|
-
import type { Finding } from "audit-tools/shared";
|
|
5
4
|
import type { ContractPipelineArtifactName } from "../contractPipeline/artifactStore.js";
|
|
6
5
|
import type { RemediationStep } from "./types.js";
|
|
7
6
|
import { intakePaths } from "../intake.js";
|
|
@@ -562,23 +561,5 @@ export interface ContractPipelinePlanningOutputs {
|
|
|
562
561
|
* promoted yet.
|
|
563
562
|
*/
|
|
564
563
|
export declare function readContractPipelinePlanningOutputs(artifactsDir: string): Promise<ContractPipelinePlanningOutputs | null>;
|
|
565
|
-
/** Source tag stamped on a lean-fast-path extracted plan (distinguishes it from `contract_pipeline`). */
|
|
566
|
-
export declare const LEAN_FAST_PATH_SOURCE = "lean_fast_path";
|
|
567
|
-
/** The minimal `extracted-plan.json` shape the lean path emits. */
|
|
568
|
-
export interface LeanExtractedPlan {
|
|
569
|
-
plan_id: string;
|
|
570
|
-
findings: Finding[];
|
|
571
|
-
project_type: string;
|
|
572
|
-
source: typeof LEAN_FAST_PATH_SOURCE;
|
|
573
|
-
candidate_closing_actions: string[];
|
|
574
|
-
}
|
|
575
|
-
/**
|
|
576
|
-
* Build the lean extracted plan from the approved findings. Blocks are
|
|
577
|
-
* intentionally omitted: `normalizeExtractedPlan` synthesizes one block per
|
|
578
|
-
* finding and `applyPlanPipeline` then merges blocks sharing a file + splits by
|
|
579
|
-
* context budget — the same deterministic block derivation the contract pipeline
|
|
580
|
-
* feeds into, single-sourced rather than reimplemented here.
|
|
581
|
-
*/
|
|
582
|
-
export declare function buildLeanExtractedPlan(findings: Finding[], planId: string): LeanExtractedPlan;
|
|
583
564
|
export {};
|
|
584
565
|
//# sourceMappingURL=contractPipeline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractPipeline.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/contractPipeline.ts"],"names":[],"mappings":"AAwBA,OAAO,EAOL,KAAK,eAAe,EACpB,KAAK,WAAW,EAIhB,KAAK,SAAS,EACd,KAAK,aAAa,EAQnB,MAAM,oBAAoB,CAAC;AAuB5B,OAAO,EACL,oBAAoB,EAKpB,KAAK,gBAAgB,EAEtB,MAAM,kBAAkB,CAAC;AAyD1B,OAAO,EAML,KAAK,+BAA+B,EACpC,KAAK,WAAW,EACjB,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"contractPipeline.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/contractPipeline.ts"],"names":[],"mappings":"AAwBA,OAAO,EAOL,KAAK,eAAe,EACpB,KAAK,WAAW,EAIhB,KAAK,SAAS,EACd,KAAK,aAAa,EAQnB,MAAM,oBAAoB,CAAC;AAuB5B,OAAO,EACL,oBAAoB,EAKpB,KAAK,gBAAgB,EAEtB,MAAM,kBAAkB,CAAC;AAyD1B,OAAO,EAML,KAAK,+BAA+B,EACpC,KAAK,WAAW,EACjB,MAAM,wCAAwC,CAAC;AAGhD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAGzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAgE3C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,8EAA8E;AAC9E,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAuErD,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,oEAAoE,CAAC;IACrF;;;;;OAKG;IACH,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,cAAc,EAAE,OAAO,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,EAAE,CAAC;IACJ,qDAAqD;IACrD,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAMD,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAWhC;AAED,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAGf;AAiFD,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,4BAA4B,EAClC,KAAK,EAAE,OAAO,GAAG,SAAS,EAC1B,QAAQ,GAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAU,GAC7D,OAAO,CAAC,cAAc,CAAC,CAoCzB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,GAC/E,MAAM,CAiBR;AAED,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,QAAQ,EAAE,4BAA4B,EAAE,CAAC;IACzC,+EAA+E;IAC/E,OAAO,EAAE;QAAE,IAAI,EAAE,4BAA4B,CAAC;QAAC,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,EAAE,CAAC;CAC9E;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,uBAAuB,CAAC,CA0DlC;AAID,MAAM,WAAW,2BAA2B;IAC1C,mEAAmE;IACnE,4BAA4B,EAAE,OAAO,CAAC;IACtC,6EAA6E;IAC7E,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,MAAM,GAAG,SAAS,GACpC,2BAA2B,CAa7B;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU5E;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAID,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,uDAAuD,CAAC;IACxE,4DAA4D;IAC5D,mBAAmB,EAAE,MAAM,CAAC;IAC5B,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,gBAAgB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,uEAAuE;IACvE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,8CAA8C;IAC9C,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,uFAAuF;IACvF,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,MAAM,EACzB,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,IAAI,CAAC,CAgEf;AAiDD,gFAAgF;AAChF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,GAAG,SAAS,GAC1B,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAgBrC;AAID;;;;GAIG;AAGH,KAAK,oBAAoB,GAAG,4BAA4B,GAAG,mBAAmB,GAAG,4BAA4B,CAAC;AAE9G;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAM/B,eAAe,EAAE,WAAW,CAAC,iBAAiB,CAAC,GAAG,SAAS,GAC1D,oBAAoB,CAYtB;AAkJD,KAAK,YAAY,GACb;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAapE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA4CtF;AAID,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAsB,qCAAqC,CACzD,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAkEhC;AAID,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,wCAAwC,CAC5D,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,MAA2C,EACjD,MAAM,CAAC,EAAE,+BAA+B,GACvC,OAAO,CAAC,6BAA6B,CAAC,CAKxC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,+BAA+B,CACnD,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,MAA2C,EACjD,MAAM,CAAC,EAAE,+BAA+B,GACvC,OAAO,CAAC;IAAE,KAAK,EAAE,uBAAuB,GAAG,qBAAqB,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAkClG;AAoFD;;;GAGG;AACH,wBAAsB,qCAAqC,CACzD,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAa1C;AAgBD,4EAA4E;AAC5E,QAAA,MAAM,sBAAsB;;CAElB,CAAC;AAEX,KAAK,mBAAmB,GAAG,MAAM,OAAO,sBAAsB,CAAC;AAE/D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,mBAAmB,CAEjF;AAiaD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAC/C,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,uDAAuD;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;IACtE,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAiVD,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,QAAQ,EAAE,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,EACxC,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GACzC,gBAAgB,CAwBlB;AAi2CD;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAEzD,CAAC;AAEF;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAsCjC;AAwBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,wBAAwB,4DAK3B,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIvE;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAGnE;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,IAAI,MAAM,EAAE,CAI7D;AAqED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,4BAA4B;IAC3C,6EAA6E;IAC7E,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE,MAAM,GACd,4BAA4B,CA8B9B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,8BAA8B,CAClD,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAwB1C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,EAAE,MAAM,GACd,yBAAyB,CAU3B;AAED;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC,CAuEnB;AAED;;;;;;;GAOG;AACH,wBAAsB,uCAAuC,CAC3D,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,MAA2C,GAChD,OAAO,CAAC,IAAI,CAAC,CA2Uf;AAID;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,+BAA+B;IAC9C,wEAAwE;IACxE,gBAAgB,EAAE,KAAK,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC,CAAC;IACH,mFAAmF;IACnF,QAAQ,EAAE;QAAE,WAAW,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9D,0EAA0E;IAC1E,eAAe,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,yEAAyE;IACzE,mBAAmB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED;;;GAGG;AACH,wBAAsB,mCAAmC,CACvD,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,+BAA+B,GAAG,IAAI,CAAC,CA8DjD"}
|
|
@@ -47,7 +47,7 @@ import { CONTRACT_PIPELINE_VALIDATORS, CP_MODULE_CONTRACTS_VERSION, validateGoal
|
|
|
47
47
|
// runner, and re-exporting the outcome vocabulary through it would mean editing
|
|
48
48
|
// a file outside this work item's write scope.
|
|
49
49
|
import { evaluateContractPipelineCrossGateOutcomes, enumerateRepoTreePaths, isInsideGitWorkTree, isTestablePhaseObligation, TESTABLE_OBLIGATION_KINDS, } from "../validation/contractPipelineGates.js";
|
|
50
|
-
import { compareCodeUnits } from "../../shared/
|
|
50
|
+
import { compareCodeUnits } from "../../shared/compareCodeUnits.js";
|
|
51
51
|
import { writeCurrentStep } from "./stepWriter.js";
|
|
52
52
|
import { loaderCommand } from "./prompts.js";
|
|
53
53
|
import { intakePaths } from "../intake.js";
|
|
@@ -63,23 +63,44 @@ const ARTIFACT_TO_PHASE = {
|
|
|
63
63
|
const CONTRACT_STEP_KIND = "contract_pipeline";
|
|
64
64
|
const PRE_IMPLEMENTATION_PHASE_ORDER = CONTRACT_PIPELINE_PHASE_ORDER.filter((phase) => phase !== "closing");
|
|
65
65
|
/**
|
|
66
|
-
* Granularity collapse
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* them, so for low-complexity work they fold into a single round-trip producing
|
|
70
|
-
* all three artifacts instead of three gated steps. The group deliberately STOPS
|
|
71
|
-
* at decomposition (before module_contract_drafting): keeping the decomposition→
|
|
72
|
-
* drafting boundary lets the slice-4a escalate-on-evidence intercept inspect the
|
|
73
|
-
* fresh decomposition and raise the tier — un-collapsing every remaining phase —
|
|
74
|
-
* before any contract is drafted or the per-module wave fans out. Collapse is
|
|
66
|
+
* Granularity collapse GROUPS (T1 slice 4b). Each group is a run of CONSECUTIVE
|
|
67
|
+
* phases that folds into ONE round-trip at the `collapsed` granularity — i.e.
|
|
68
|
+
* only at the `low` tier (see `roundTripGranularityForTier`). Collapse is
|
|
75
69
|
* best-effort: any member artifact the worker omits or writes malformed is
|
|
76
70
|
* re-emitted as its own fine-grained step by `nextMissingContractPhase`, so no
|
|
77
|
-
* work is ever lost.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
71
|
+
* work is ever lost.
|
|
72
|
+
*
|
|
73
|
+
* These are the ONLY two safe groups, and the gaps between them are not
|
|
74
|
+
* oversights — each is a property worth more than the round-trip it would save.
|
|
75
|
+
* The full per-phase map is `docs/reviews/low-tier-phase-cost-2026-08-25.md`;
|
|
76
|
+
* the boundaries that matter here:
|
|
77
|
+
*
|
|
78
|
+
* - The framing group STOPS at `decomposition`. Keeping the decomposition→
|
|
79
|
+
* drafting boundary lets the slice-4a escalate-on-evidence intercept read
|
|
80
|
+
* the fresh decomposition and raise the tier — un-collapsing everything
|
|
81
|
+
* after it — before any contract is drafted or the module wave fans out.
|
|
82
|
+
* - `critique`, `critic` and `judge` are independent-adversary phases and can
|
|
83
|
+
* never join a group with what they review. Collapsing critic+judge is the
|
|
84
|
+
* sharpest case: the judge verdict is the SOLE admission to implementation
|
|
85
|
+
* planning, so one worker emitting both artifacts could write zero
|
|
86
|
+
* counterexamples plus `approved` and let the loop certify its own exit.
|
|
87
|
+
* - `implementation_planning` is the phase `judgeRepairGate` protects, and its
|
|
88
|
+
* scaffold is built from the judge's accepted counterexamples, which do not
|
|
89
|
+
* exist at judge-render time.
|
|
90
|
+
*
|
|
91
|
+
* A collapsed section carries exactly what its fine-grained step would have
|
|
92
|
+
* carried — see `collapsedSectionExtra`.
|
|
93
|
+
*/
|
|
94
|
+
const COLLAPSE_GROUPS = [
|
|
95
|
+
// Framing: scope the change top-down. One coherent authoring act, no
|
|
96
|
+
// adversarial judgment, no deterministic derivation interleaved.
|
|
97
|
+
["goal_normalization", "context_collection", "decomposition"],
|
|
98
|
+
// Authoring tail: the test/validator plan and the author's OWN coverage
|
|
99
|
+
// self-assessment. `assessment` is deliberately not an independent-critic
|
|
100
|
+
// phase, and `contract_assessment_report` already depends on
|
|
101
|
+
// `test_validator_plan` — the same later-reads-earlier shape the framing
|
|
102
|
+
// group relies on. The critic reviews both afterwards, unchanged.
|
|
103
|
+
["test_validator_plan", "assessment"],
|
|
83
104
|
];
|
|
84
105
|
// ── Bounded-loop caps ─────────────────────────────────────────────────────────
|
|
85
106
|
/**
|
|
@@ -388,7 +409,7 @@ export async function writePathASeedFromFindings(artifactsDir, auditFindingsPath
|
|
|
388
409
|
depends_on: [...block.depends_on].sort(),
|
|
389
410
|
}))
|
|
390
411
|
.sort((a, b) => compareCodeUnits(a.id, b.id));
|
|
391
|
-
// Code-unit order, not
|
|
412
|
+
// Code-unit order, not ICU collation, on EVERY persisted seed array: the
|
|
392
413
|
// seed order must not depend on the host's ICU collation, and seam ids are
|
|
393
414
|
// hex now — a locale that orders digits against letters differently would
|
|
394
415
|
// reshuffle the file.
|
|
@@ -1297,8 +1318,25 @@ function writeContractBlockedStep(ctx, params) {
|
|
|
1297
1318
|
* overrides the per-section "stop after writing" lines so they are not read as
|
|
1298
1319
|
* three separate stop points.
|
|
1299
1320
|
*/
|
|
1300
|
-
|
|
1301
|
-
|
|
1321
|
+
/**
|
|
1322
|
+
* The extra section a collapsed member carries, mirroring the gate that would
|
|
1323
|
+
* have claimed that phase on its own — so collapsing changes the number of
|
|
1324
|
+
* round-trips and nothing else about what the worker is told.
|
|
1325
|
+
*
|
|
1326
|
+
* This is load-bearing, not tidiness. `collapsedRoundTripGate` is registered
|
|
1327
|
+
* BEFORE `scaffoldedPhaseGate`, so without this a group containing
|
|
1328
|
+
* `test_validator_plan` would silently drop the S3 skeleton the worker is
|
|
1329
|
+
* supposed to fill in, and the collapse would quietly make that phase HARDER
|
|
1330
|
+
* rather than cheaper.
|
|
1331
|
+
*/
|
|
1332
|
+
async function collapsedSectionExtra(phase, artifactsDir) {
|
|
1333
|
+
if (phase === "test_validator_plan" || phase === "implementation_planning") {
|
|
1334
|
+
return await buildScaffoldSection(phase, artifactsDir);
|
|
1335
|
+
}
|
|
1336
|
+
return await buildReReviewSection(phase, artifactsDir);
|
|
1337
|
+
}
|
|
1338
|
+
async function writeCollapsedRoundTripStep(ctx, phases) {
|
|
1339
|
+
const sections = await Promise.all(phases.map(async (phase) => ({
|
|
1302
1340
|
phase,
|
|
1303
1341
|
rendered: renderContractPipelinePrompt({
|
|
1304
1342
|
role: phase,
|
|
@@ -1308,7 +1346,8 @@ function writeCollapsedFramingStep(ctx, phases) {
|
|
|
1308
1346
|
pathASeedPath: ctx.pathASeedPath,
|
|
1309
1347
|
adversarialDepth: ctx.adversarialDepth,
|
|
1310
1348
|
}),
|
|
1311
|
-
|
|
1349
|
+
extra: await collapsedSectionExtra(phase, ctx.artifactsDir),
|
|
1350
|
+
})));
|
|
1312
1351
|
const outputPaths = sections.map((s) => s.rendered.outputPath);
|
|
1313
1352
|
const header = `# Collapsed Authoring Round-Trip — ${phases.length} Phases
|
|
1314
1353
|
|
|
@@ -1320,11 +1359,13 @@ If you cannot complete a section (an artifact would be malformed), write the one
|
|
|
1320
1359
|
|
|
1321
1360
|
Artifacts to produce (in order):
|
|
1322
1361
|
${outputPaths.map((p, i) => `${i + 1}. \`${p}\` (${phases[i]})`).join("\n")}`;
|
|
1323
|
-
const body = sections
|
|
1362
|
+
const body = sections
|
|
1363
|
+
.map((s) => `\n---\n\n${s.extra ? `${s.rendered.prompt}\n${s.extra}` : s.rendered.prompt}`)
|
|
1364
|
+
.join("\n");
|
|
1324
1365
|
return writeContractPromptStep(ctx, {
|
|
1325
1366
|
prompt: `${header}\n${body}`,
|
|
1326
1367
|
outputPath: outputPaths[outputPaths.length - 1],
|
|
1327
|
-
stopCondition: `Stop after writing all ${phases.length} collapsed
|
|
1368
|
+
stopCondition: `Stop after writing all ${phases.length} collapsed artifacts (${phases.join(", ")}) and running next-step once.`,
|
|
1328
1369
|
});
|
|
1329
1370
|
}
|
|
1330
1371
|
/**
|
|
@@ -1420,8 +1461,8 @@ async function writeContractStepPlan(ctx, plan) {
|
|
|
1420
1461
|
return await writeContractBlockedStep(ctx, plan);
|
|
1421
1462
|
case "module_wave":
|
|
1422
1463
|
return await writeParallelModuleWaveStep(ctx, plan.phase);
|
|
1423
|
-
case "
|
|
1424
|
-
return await
|
|
1464
|
+
case "collapsed_round_trip":
|
|
1465
|
+
return await writeCollapsedRoundTripStep(ctx, plan.phases);
|
|
1425
1466
|
case "rederive":
|
|
1426
1467
|
// A deterministic artifact was just written; the frontier moved, so the
|
|
1427
1468
|
// whole walk re-runs against the new state rather than guessing the phase.
|
|
@@ -2563,25 +2604,27 @@ const phaseCutCritiqueGate = async (ctx) => {
|
|
|
2563
2604
|
};
|
|
2564
2605
|
};
|
|
2565
2606
|
/**
|
|
2566
|
-
* Granularity collapse (T1 slice 4b): for low-complexity work, fold the
|
|
2567
|
-
*
|
|
2607
|
+
* Granularity collapse (T1 slice 4b): for low-complexity work, fold the suffix
|
|
2608
|
+
* [nextPhase .. end of its group] into ONE round-trip producing several
|
|
2568
2609
|
* artifacts, instead of one gated step per phase. Reads the POST-escalation
|
|
2569
2610
|
* riskSignal (the escalate-on-evidence intercept may have already raised the
|
|
2570
2611
|
* tier), so the dial is never frozen at run start — `fine` for medium/high keeps
|
|
2571
|
-
* full per-phase isolation. Only collapses a genuine multi-phase suffix
|
|
2612
|
+
* full per-phase isolation. Only collapses a genuine multi-phase suffix, so a
|
|
2613
|
+
* lone trailing member falls through to its ordinary per-phase step.
|
|
2572
2614
|
*/
|
|
2573
|
-
const
|
|
2615
|
+
const collapsedRoundTripGate = (ctx) => {
|
|
2574
2616
|
const phase = ctx.nextPhase;
|
|
2575
2617
|
if (phase === null ||
|
|
2576
|
-
roundTripGranularityForTier(ctx.riskSignal?.tier) !== "collapsed"
|
|
2577
|
-
!FRAMING_COLLAPSE_GROUP.includes(phase)) {
|
|
2618
|
+
roundTripGranularityForTier(ctx.riskSignal?.tier) !== "collapsed") {
|
|
2578
2619
|
return null;
|
|
2579
2620
|
}
|
|
2580
|
-
const
|
|
2581
|
-
|
|
2621
|
+
const group = COLLAPSE_GROUPS.find((g) => g.includes(phase));
|
|
2622
|
+
if (!group)
|
|
2623
|
+
return null;
|
|
2624
|
+
const suffix = group.slice(group.indexOf(phase));
|
|
2582
2625
|
if (suffix.length <= 1)
|
|
2583
2626
|
return null;
|
|
2584
|
-
return { via: "
|
|
2627
|
+
return { via: "collapsed_round_trip", phases: [...suffix] };
|
|
2585
2628
|
};
|
|
2586
2629
|
/**
|
|
2587
2630
|
* Skeleton-scaffolded phases (S3): the tool pre-fills structure/ids from the
|
|
@@ -2646,7 +2689,7 @@ const CONTRACT_PIPELINE_GATES = {
|
|
|
2646
2689
|
pre_critic_structural: preCriticStructuralGate,
|
|
2647
2690
|
parallel_module_wave: parallelModuleWaveGate,
|
|
2648
2691
|
phase_cut_critique: phaseCutCritiqueGate,
|
|
2649
|
-
|
|
2692
|
+
collapsed_round_trip: collapsedRoundTripGate,
|
|
2650
2693
|
scaffolded_phase: scaffoldedPhaseGate,
|
|
2651
2694
|
};
|
|
2652
2695
|
/**
|
|
@@ -2972,10 +3015,10 @@ export async function collectPathARefusals(artifactsDir) {
|
|
|
2972
3015
|
"implementation_dag declares source_finding_ids but no Path-A seed is present, so the ids cannot be joined to a canonical audit work block.",
|
|
2973
3016
|
];
|
|
2974
3017
|
}
|
|
2975
|
-
const signature = (ids) => JSON.stringify([...ids].sort((left, right) => left
|
|
3018
|
+
const signature = (ids) => JSON.stringify([...ids].sort((left, right) => compareCodeUnits(left, right)));
|
|
2976
3019
|
const canonicalGroups = new Map(approvedSource.workBlocks.map((block) => [
|
|
2977
3020
|
signature(block.finding_ids),
|
|
2978
|
-
[...block.finding_ids].sort((left, right) => left
|
|
3021
|
+
[...block.finding_ids].sort((left, right) => compareCodeUnits(left, right)),
|
|
2979
3022
|
]));
|
|
2980
3023
|
const usedGroups = new Set();
|
|
2981
3024
|
const refusals = [];
|
|
@@ -3066,17 +3109,17 @@ export async function promoteImplementationDagToExtractedPlan(artifactsDir, root
|
|
|
3066
3109
|
// not a precedence. Single-sourced with the DAG validator, which refuses a node
|
|
3067
3110
|
// this resolves to nothing for — see buildNodeWriteScopeResolver.
|
|
3068
3111
|
const { resolve: deriveNodeFiles } = await buildNodeWriteScopeResolver(artifactsDir);
|
|
3069
|
-
const nodes = (Array.isArray(dag?.nodes) ? [...dag.nodes] : []).sort((left, right) => String(left.id)
|
|
3112
|
+
const nodes = (Array.isArray(dag?.nodes) ? [...dag.nodes] : []).sort((left, right) => compareCodeUnits(String(left.id), String(right.id)));
|
|
3070
3113
|
// Path-A promotion is an identity-preserving projection. DAG node ids describe
|
|
3071
3114
|
// implementation tasks; they may not replace the canonical auditor finding
|
|
3072
3115
|
// ids or split/merge the canonical coherence components.
|
|
3073
3116
|
const canonicalItemsByNodeId = new Map();
|
|
3074
3117
|
if (approvedSource &&
|
|
3075
3118
|
nodes.some((node) => Array.isArray(node.source_finding_ids))) {
|
|
3076
|
-
const signature = (ids) => JSON.stringify([...ids].sort((left, right) => left
|
|
3119
|
+
const signature = (ids) => JSON.stringify([...ids].sort((left, right) => compareCodeUnits(left, right)));
|
|
3077
3120
|
const canonicalGroups = new Map(approvedSource.workBlocks.map((block) => [
|
|
3078
3121
|
signature(block.finding_ids),
|
|
3079
|
-
[...block.finding_ids].sort((left, right) => left
|
|
3122
|
+
[...block.finding_ids].sort((left, right) => compareCodeUnits(left, right)),
|
|
3080
3123
|
]));
|
|
3081
3124
|
const usedGroups = new Set();
|
|
3082
3125
|
for (const [index, node] of nodes.entries()) {
|
|
@@ -3159,7 +3202,7 @@ export async function promoteImplementationDagToExtractedPlan(artifactsDir, root
|
|
|
3159
3202
|
}
|
|
3160
3203
|
}
|
|
3161
3204
|
findings = [...approvedSource.findings]
|
|
3162
|
-
.sort((left, right) => left.id
|
|
3205
|
+
.sort((left, right) => compareCodeUnits(left.id, right.id))
|
|
3163
3206
|
.map((finding) => {
|
|
3164
3207
|
const node = nodeByFindingId.get(finding.id);
|
|
3165
3208
|
const contractObligations = [...new Set(node.satisfies_obligations ?? [])];
|
|
@@ -3168,7 +3211,7 @@ export async function promoteImplementationDagToExtractedPlan(artifactsDir, root
|
|
|
3168
3211
|
];
|
|
3169
3212
|
return {
|
|
3170
3213
|
...finding,
|
|
3171
|
-
affected_files: [...finding.affected_files].sort((left, right) => left.path
|
|
3214
|
+
affected_files: [...finding.affected_files].sort((left, right) => compareCodeUnits(left.path, right.path)),
|
|
3172
3215
|
contract_goal_id: dag?.goal_id,
|
|
3173
3216
|
contract_obligation_ids: contractObligations,
|
|
3174
3217
|
verification_obligation_ids: verificationObligations,
|
|
@@ -3319,35 +3362,4 @@ export async function readContractPipelinePlanningOutputs(artifactsDir) {
|
|
|
3319
3362
|
].sort((left, right) => compareCodeUnits(left.path, right.path)),
|
|
3320
3363
|
};
|
|
3321
3364
|
}
|
|
3322
|
-
// ── Lean-path extracted plan (the `low` risk tier's plan emission) ────────────
|
|
3323
|
-
//
|
|
3324
|
-
// The heavy pipeline above derives its `extracted-plan.json` from the adversarial
|
|
3325
|
-
// DAG (`source: "contract_pipeline"`). The `low` risk tier skips that design loop
|
|
3326
|
-
// (its findings are a handful of concrete, already-grounded fixes) and emits this
|
|
3327
|
-
// lean sibling instead, tagged `source: "lean_fast_path"` so the two producers are
|
|
3328
|
-
// distinguished at the artifact level. Both rejoin the SAME plan→implement→close
|
|
3329
|
-
// machinery — `normalizeExtractedPlan` synthesizes one block per finding and
|
|
3330
|
-
// `applyPlanPipeline` merges blocks sharing a file + splits by context budget, so
|
|
3331
|
-
// block derivation is single-sourced, not reimplemented here. The retained safety
|
|
3332
|
-
// net (grounding re-pass, affected-file hash snapshot, per-node verify-before-merge,
|
|
3333
|
-
// final whole-repo gate) still runs; only the adversarial DESIGN loop + obligation
|
|
3334
|
-
// derivation are dropped. (Relocated from the retired `steps/leanFastPath.ts` — DD-21.)
|
|
3335
|
-
/** Source tag stamped on a lean-fast-path extracted plan (distinguishes it from `contract_pipeline`). */
|
|
3336
|
-
export const LEAN_FAST_PATH_SOURCE = "lean_fast_path";
|
|
3337
|
-
/**
|
|
3338
|
-
* Build the lean extracted plan from the approved findings. Blocks are
|
|
3339
|
-
* intentionally omitted: `normalizeExtractedPlan` synthesizes one block per
|
|
3340
|
-
* finding and `applyPlanPipeline` then merges blocks sharing a file + splits by
|
|
3341
|
-
* context budget — the same deterministic block derivation the contract pipeline
|
|
3342
|
-
* feeds into, single-sourced rather than reimplemented here.
|
|
3343
|
-
*/
|
|
3344
|
-
export function buildLeanExtractedPlan(findings, planId) {
|
|
3345
|
-
return {
|
|
3346
|
-
plan_id: planId,
|
|
3347
|
-
findings,
|
|
3348
|
-
project_type: "unknown",
|
|
3349
|
-
source: LEAN_FAST_PATH_SOURCE,
|
|
3350
|
-
candidate_closing_actions: ["none"],
|
|
3351
|
-
};
|
|
3352
|
-
}
|
|
3353
3365
|
//# sourceMappingURL=contractPipeline.js.map
|