audit-tools 0.50.21 → 0.51.1
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 +1 -1
- package/dist/audit/cli/auditStep.d.ts +1 -1
- package/dist/audit/cli/charterExtractionPrompt.d.ts.map +1 -1
- package/dist/audit/cli/charterExtractionPrompt.js +14 -1
- package/dist/audit/cli/charterExtractionPrompt.js.map +1 -1
- package/dist/audit/cli/cleanup.d.ts +0 -1
- package/dist/audit/cli/cleanup.d.ts.map +1 -1
- package/dist/audit/cli/cleanup.js +32 -20
- package/dist/audit/cli/cleanup.js.map +1 -1
- package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
- package/dist/audit/cli/conceptualDispatch.js +30 -5
- package/dist/audit/cli/conceptualDispatch.js.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts +2 -0
- package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.js +48 -20
- package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
- package/dist/audit/cli/fanoutLanes.d.ts +7 -0
- package/dist/audit/cli/fanoutLanes.d.ts.map +1 -1
- package/dist/audit/cli/fanoutLanes.js +9 -1
- package/dist/audit/cli/fanoutLanes.js.map +1 -1
- package/dist/audit/cli/forceSynthesisCommand.d.ts.map +1 -1
- package/dist/audit/cli/forceSynthesisCommand.js +2 -14
- package/dist/audit/cli/forceSynthesisCommand.js.map +1 -1
- package/dist/audit/cli/intakeCommand.d.ts.map +1 -1
- package/dist/audit/cli/intakeCommand.js +3 -13
- package/dist/audit/cli/intakeCommand.js.map +1 -1
- package/dist/audit/cli/laneSubmissions.d.ts +42 -57
- package/dist/audit/cli/laneSubmissions.d.ts.map +1 -1
- package/dist/audit/cli/laneSubmissions.js +116 -82
- package/dist/audit/cli/laneSubmissions.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +132 -99
- 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 +39 -46
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/resynthesizeCommand.d.ts.map +1 -1
- package/dist/audit/cli/resynthesizeCommand.js +5 -2
- package/dist/audit/cli/resynthesizeCommand.js.map +1 -1
- package/dist/audit/cli/sampleRunCommand.d.ts +3 -2
- package/dist/audit/cli/sampleRunCommand.d.ts.map +1 -1
- package/dist/audit/cli/stepScaffold.d.ts +21 -0
- package/dist/audit/cli/stepScaffold.d.ts.map +1 -0
- package/dist/audit/cli/stepScaffold.js +50 -0
- package/dist/audit/cli/stepScaffold.js.map +1 -0
- package/dist/audit/cli/steps.d.ts +6 -6
- package/dist/audit/cli/synthesizeCommand.d.ts.map +1 -1
- package/dist/audit/cli/synthesizeCommand.js +2 -14
- package/dist/audit/cli/synthesizeCommand.js.map +1 -1
- package/dist/audit/contracts/workerSchemas.d.ts +8 -8
- package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
- package/dist/audit/contracts/workerSchemas.js +12 -6
- package/dist/audit/contracts/workerSchemas.js.map +1 -1
- package/dist/audit/contracts/wrapperResponse.d.ts +7 -7
- package/dist/audit/contracts/wrapperResponse.d.ts.map +1 -1
- package/dist/audit/contracts/wrapperResponse.js +9 -1
- package/dist/audit/contracts/wrapperResponse.js.map +1 -1
- package/dist/audit/extractors/analyzers/merge.d.ts.map +1 -1
- package/dist/audit/extractors/analyzers/merge.js +2 -7
- package/dist/audit/extractors/analyzers/merge.js.map +1 -1
- package/dist/audit/extractors/commentDecomposition.d.ts +28 -0
- package/dist/audit/extractors/commentDecomposition.d.ts.map +1 -1
- package/dist/audit/extractors/commentDecomposition.js +151 -22
- package/dist/audit/extractors/commentDecomposition.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 +2 -6
- package/dist/audit/extractors/graph.js.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/cargo.d.ts.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/cargo.js +4 -4
- package/dist/audit/extractors/graphManifestEdges/cargo.js.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/pnpm.d.ts.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/pnpm.js +3 -3
- package/dist/audit/extractors/graphManifestEdges/pnpm.js.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/pyproject.d.ts.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/pyproject.js +3 -2
- package/dist/audit/extractors/graphManifestEdges/pyproject.js.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/toml.d.ts +0 -6
- package/dist/audit/extractors/graphManifestEdges/toml.d.ts.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/toml.js +0 -13
- package/dist/audit/extractors/graphManifestEdges/toml.js.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/workspace.d.ts +9 -0
- package/dist/audit/extractors/graphManifestEdges/workspace.d.ts.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/workspace.js +16 -0
- package/dist/audit/extractors/graphManifestEdges/workspace.js.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/yaml.d.ts +0 -2
- package/dist/audit/extractors/graphManifestEdges/yaml.d.ts.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/yaml.js +0 -9
- package/dist/audit/extractors/graphManifestEdges/yaml.js.map +1 -1
- package/dist/audit/extractors/graphSignals.d.ts.map +1 -1
- package/dist/audit/extractors/graphSignals.js +16 -2
- package/dist/audit/extractors/graphSignals.js.map +1 -1
- package/dist/audit/io/artifacts.d.ts +19 -0
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +44 -2
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/orchestrator/advance.d.ts +0 -22
- package/dist/audit/orchestrator/advance.d.ts.map +1 -1
- package/dist/audit/orchestrator/advance.js +1 -43
- package/dist/audit/orchestrator/advance.js.map +1 -1
- package/dist/audit/orchestrator/charterDeltaExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/charterDeltaExecutor.js +14 -0
- package/dist/audit/orchestrator/charterDeltaExecutor.js.map +1 -1
- package/dist/audit/orchestrator/charterExtractionExecutor.d.ts +16 -6
- package/dist/audit/orchestrator/charterExtractionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/charterExtractionExecutor.js +127 -9
- package/dist/audit/orchestrator/charterExtractionExecutor.js.map +1 -1
- package/dist/audit/orchestrator/charterPacketArchive.d.ts +51 -0
- package/dist/audit/orchestrator/charterPacketArchive.d.ts.map +1 -0
- package/dist/audit/orchestrator/charterPacketArchive.js +173 -0
- package/dist/audit/orchestrator/charterPacketArchive.js.map +1 -0
- package/dist/audit/orchestrator/charterPackets.d.ts +31 -13
- package/dist/audit/orchestrator/charterPackets.d.ts.map +1 -1
- package/dist/audit/orchestrator/charterPackets.js +299 -96
- package/dist/audit/orchestrator/charterPackets.js.map +1 -1
- package/dist/audit/orchestrator/designReviewPrompt.d.ts +20 -4
- package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewPrompt.js +89 -12
- 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 +4 -9
- package/dist/audit/orchestrator/edgeReasoning.js.map +1 -1
- package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
- package/dist/audit/orchestrator/executorRunners.js +17 -1
- package/dist/audit/orchestrator/executorRunners.js.map +1 -1
- package/dist/audit/orchestrator/graphEnrichmentExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/graphEnrichmentExecutor.js +8 -1
- package/dist/audit/orchestrator/graphEnrichmentExecutor.js.map +1 -1
- package/dist/audit/orchestrator/intentCheckpointGate.d.ts.map +1 -1
- package/dist/audit/orchestrator/intentCheckpointGate.js +11 -2
- package/dist/audit/orchestrator/intentCheckpointGate.js.map +1 -1
- package/dist/audit/orchestrator/lineCounts.d.ts +44 -0
- package/dist/audit/orchestrator/lineCounts.d.ts.map +1 -0
- package/dist/audit/orchestrator/lineCounts.js +61 -0
- package/dist/audit/orchestrator/lineCounts.js.map +1 -0
- package/dist/audit/orchestrator/obligationDerive.d.ts +35 -0
- package/dist/audit/orchestrator/obligationDerive.d.ts.map +1 -0
- package/dist/audit/orchestrator/obligationDerive.js +50 -0
- package/dist/audit/orchestrator/obligationDerive.js.map +1 -0
- package/dist/audit/orchestrator/reviewPacketMetrics.d.ts.map +1 -1
- package/dist/audit/orchestrator/reviewPacketMetrics.js +3 -2
- package/dist/audit/orchestrator/reviewPacketMetrics.js.map +1 -1
- package/dist/audit/orchestrator/reviewPacketShared.d.ts +0 -2
- package/dist/audit/orchestrator/reviewPacketShared.d.ts.map +1 -1
- package/dist/audit/orchestrator/reviewPacketShared.js +0 -4
- package/dist/audit/orchestrator/reviewPacketShared.js.map +1 -1
- package/dist/audit/orchestrator/reviewPackets.d.ts.map +1 -1
- package/dist/audit/orchestrator/reviewPackets.js +3 -2
- package/dist/audit/orchestrator/reviewPackets.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/conflict.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/conflict.js +3 -2
- package/dist/audit/orchestrator/selectiveDeepening/conflict.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/findingFollowup.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/findingFollowup.js +3 -2
- package/dist/audit/orchestrator/selectiveDeepening/findingFollowup.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/highRiskClean.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/highRiskClean.js +3 -2
- package/dist/audit/orchestrator/selectiveDeepening/highRiskClean.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/runtimeValidation.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/runtimeValidation.js +2 -1
- package/dist/audit/orchestrator/selectiveDeepening/runtimeValidation.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/shared.d.ts +0 -2
- package/dist/audit/orchestrator/selectiveDeepening/shared.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/shared.js +0 -27
- package/dist/audit/orchestrator/selectiveDeepening/shared.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.js +10 -1
- package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.js.map +1 -1
- package/dist/audit/orchestrator/state.d.ts.map +1 -1
- package/dist/audit/orchestrator/state.js +21 -14
- package/dist/audit/orchestrator/state.js.map +1 -1
- package/dist/audit/orchestrator/synthesisExecutors.d.ts +8 -0
- package/dist/audit/orchestrator/synthesisExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/synthesisExecutors.js +10 -0
- package/dist/audit/orchestrator/synthesisExecutors.js.map +1 -1
- package/dist/audit/reporting/synthesis.d.ts +42 -2
- package/dist/audit/reporting/synthesis.d.ts.map +1 -1
- package/dist/audit/reporting/synthesis.js +264 -12
- package/dist/audit/reporting/synthesis.js.map +1 -1
- package/dist/audit/supervisor/operatorHandoff.d.ts.map +1 -1
- package/dist/audit/supervisor/operatorHandoff.js +14 -6
- package/dist/audit/supervisor/operatorHandoff.js.map +1 -1
- package/dist/audit/systemic/secondOrderAdversaryPrompt.d.ts.map +1 -1
- package/dist/audit/systemic/secondOrderAdversaryPrompt.js +14 -0
- package/dist/audit/systemic/secondOrderAdversaryPrompt.js.map +1 -1
- package/dist/audit/types/analyzerCapability.d.ts +35 -11
- package/dist/audit/types/analyzerCapability.d.ts.map +1 -1
- package/dist/audit/types/analyzerCapability.js +83 -5
- package/dist/audit/types/analyzerCapability.js.map +1 -1
- package/dist/audit/types/auditState.d.ts +8 -8
- package/dist/audit/types/charterRegister.d.ts +33 -3
- package/dist/audit/types/charterRegister.d.ts.map +1 -1
- package/dist/audit/types/charterRegister.js +11 -1
- package/dist/audit/types/charterRegister.js.map +1 -1
- package/dist/audit/types/conceptualAdjudication.d.ts +395 -16
- package/dist/audit/types/conceptualAdjudication.d.ts.map +1 -1
- package/dist/audit/types/conceptualAdjudication.js +109 -5
- package/dist/audit/types/conceptualAdjudication.js.map +1 -1
- package/dist/audit/types/designAssessment.d.ts +1 -1
- package/dist/audit/types/designAssessment.d.ts.map +1 -1
- package/dist/audit/types.d.ts +9 -4
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/remediate/droppedFindingsRecord.d.ts +13 -0
- package/dist/remediate/droppedFindingsRecord.d.ts.map +1 -0
- package/dist/remediate/droppedFindingsRecord.js +113 -0
- package/dist/remediate/droppedFindingsRecord.js.map +1 -0
- package/dist/remediate/intake.d.ts +17 -0
- package/dist/remediate/intake.d.ts.map +1 -1
- package/dist/remediate/intake.js +23 -0
- package/dist/remediate/intake.js.map +1 -1
- package/dist/remediate/intent/intentOrdering.d.ts.map +1 -1
- package/dist/remediate/intent/intentOrdering.js +29 -1
- package/dist/remediate/intent/intentOrdering.js.map +1 -1
- package/dist/remediate/phases/close.d.ts +1 -1
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +68 -6
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/phases/grounding.d.ts +12 -4
- package/dist/remediate/phases/grounding.d.ts.map +1 -1
- package/dist/remediate/phases/grounding.js +23 -60
- package/dist/remediate/phases/grounding.js.map +1 -1
- package/dist/remediate/state/types.d.ts +17 -6
- package/dist/remediate/state/types.d.ts.map +1 -1
- package/dist/remediate/state/types.js +3 -1
- package/dist/remediate/state/types.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +10 -4
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.d.ts +10 -2
- package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js +56 -12
- package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +277 -146
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +253 -75
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/prompts.d.ts +14 -0
- package/dist/remediate/steps/prompts.d.ts.map +1 -1
- package/dist/remediate/steps/prompts.js +52 -4
- package/dist/remediate/steps/prompts.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/validation/contractPipelineGates.d.ts +0 -34
- package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.js +181 -143
- package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
- package/dist/shared/agentReflections.d.ts +44 -3
- package/dist/shared/agentReflections.d.ts.map +1 -1
- package/dist/shared/agentReflections.js +63 -4
- package/dist/shared/agentReflections.js.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.d.ts +20 -1
- package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.js +17 -3
- package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
- package/dist/shared/analyzers/candidates.d.ts.map +1 -1
- package/dist/shared/analyzers/candidates.js +13 -4
- package/dist/shared/analyzers/candidates.js.map +1 -1
- package/dist/shared/analyzers/types.d.ts +17 -6
- package/dist/shared/analyzers/types.d.ts.map +1 -1
- package/dist/shared/analyzers/types.js +6 -15
- package/dist/shared/analyzers/types.js.map +1 -1
- package/dist/shared/decompose/systemicChallenge.d.ts +116 -9
- package/dist/shared/decompose/systemicChallenge.d.ts.map +1 -1
- package/dist/shared/decompose/systemicChallenge.js +32 -1
- package/dist/shared/decompose/systemicChallenge.js.map +1 -1
- package/dist/shared/engine/obligationEngine.d.ts +23 -6
- package/dist/shared/engine/obligationEngine.d.ts.map +1 -1
- package/dist/shared/engine/obligationEngine.js +38 -3
- package/dist/shared/engine/obligationEngine.js.map +1 -1
- package/dist/shared/findings/dedupe.d.ts +10 -0
- package/dist/shared/findings/dedupe.d.ts.map +1 -1
- package/dist/shared/findings/dedupe.js +15 -0
- package/dist/shared/findings/dedupe.js.map +1 -1
- package/dist/shared/friction/triage.d.ts.map +1 -1
- package/dist/shared/friction/triage.js +5 -1
- package/dist/shared/friction/triage.js.map +1 -1
- package/dist/shared/git.d.ts +6 -0
- package/dist/shared/git.d.ts.map +1 -1
- package/dist/shared/git.js +8 -0
- package/dist/shared/git.js.map +1 -1
- package/dist/shared/graph/edgeConfidence.d.ts +12 -0
- package/dist/shared/graph/edgeConfidence.d.ts.map +1 -0
- package/dist/shared/graph/edgeConfidence.js +15 -0
- package/dist/shared/graph/edgeConfidence.js.map +1 -0
- package/dist/shared/index.d.ts +26 -9
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +20 -8
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/loopCorePaths.d.ts.map +1 -1
- package/dist/shared/loopCorePaths.js +4 -0
- package/dist/shared/loopCorePaths.js.map +1 -1
- package/dist/shared/measurement/measuredOutcome.d.ts +61 -0
- package/dist/shared/measurement/measuredOutcome.d.ts.map +1 -0
- package/dist/shared/measurement/measuredOutcome.js +109 -0
- package/dist/shared/measurement/measuredOutcome.js.map +1 -0
- package/dist/shared/reporting/findingDisplay.d.ts +14 -2
- package/dist/shared/reporting/findingDisplay.d.ts.map +1 -1
- package/dist/shared/reporting/findingDisplay.js +29 -2
- package/dist/shared/reporting/findingDisplay.js.map +1 -1
- package/dist/shared/reporting/lensCoverage.d.ts +70 -0
- package/dist/shared/reporting/lensCoverage.d.ts.map +1 -0
- package/dist/shared/reporting/lensCoverage.js +108 -0
- package/dist/shared/reporting/lensCoverage.js.map +1 -0
- package/dist/shared/submission/hostResultOutcomes.d.ts +42 -0
- package/dist/shared/submission/hostResultOutcomes.d.ts.map +1 -0
- package/dist/shared/submission/hostResultOutcomes.js +129 -0
- package/dist/shared/submission/hostResultOutcomes.js.map +1 -0
- package/dist/shared/submission/ingestionChecks.d.ts +146 -0
- package/dist/shared/submission/ingestionChecks.d.ts.map +1 -0
- package/dist/shared/submission/ingestionChecks.js +157 -0
- package/dist/shared/submission/ingestionChecks.js.map +1 -0
- package/dist/shared/submission/submissionClassifier.d.ts +8 -0
- package/dist/shared/submission/submissionClassifier.d.ts.map +1 -1
- package/dist/shared/submission/submissionClassifier.js.map +1 -1
- package/dist/shared/submission/submissionLedger.d.ts +24 -1
- package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
- package/dist/shared/submission/submissionLedger.js +61 -0
- package/dist/shared/submission/submissionLedger.js.map +1 -1
- package/dist/shared/submission/submissionScan.d.ts +2 -0
- package/dist/shared/submission/submissionScan.d.ts.map +1 -1
- package/dist/shared/submission/submissionScan.js +4 -0
- package/dist/shared/submission/submissionScan.js.map +1 -1
- package/dist/shared/tooling/projectFacts.d.ts +71 -0
- package/dist/shared/tooling/projectFacts.d.ts.map +1 -0
- package/dist/shared/tooling/projectFacts.js +153 -0
- package/dist/shared/tooling/projectFacts.js.map +1 -0
- package/dist/shared/tooling/projectTestAdmission.d.ts +5 -15
- package/dist/shared/tooling/projectTestAdmission.d.ts.map +1 -1
- package/dist/shared/tooling/projectTestAdmission.js +14 -5
- package/dist/shared/tooling/projectTestAdmission.js.map +1 -1
- package/dist/shared/types/charterPacket.d.ts +156 -0
- package/dist/shared/types/charterPacket.d.ts.map +1 -0
- package/dist/shared/types/charterPacket.js +9 -0
- package/dist/shared/types/charterPacket.js.map +1 -0
- package/dist/shared/types/closingActions.d.ts +16 -0
- package/dist/shared/types/closingActions.d.ts.map +1 -0
- package/dist/shared/types/closingActions.js +25 -0
- package/dist/shared/types/closingActions.js.map +1 -0
- package/dist/shared/types/finding.d.ts +275 -40
- package/dist/shared/types/finding.d.ts.map +1 -1
- package/dist/shared/types/finding.js +87 -0
- package/dist/shared/types/finding.js.map +1 -1
- package/dist/shared/types/intentCheckpoint.d.ts +50 -0
- package/dist/shared/types/intentCheckpoint.d.ts.map +1 -1
- package/dist/shared/types/intentCheckpoint.js +31 -0
- package/dist/shared/types/intentCheckpoint.js.map +1 -1
- package/dist/shared/validation/citationGrounding.d.ts +115 -0
- package/dist/shared/validation/citationGrounding.d.ts.map +1 -0
- package/dist/shared/validation/citationGrounding.js +347 -0
- package/dist/shared/validation/citationGrounding.js.map +1 -0
- package/dist/shared/validation/findingsReport.d.ts.map +1 -1
- package/dist/shared/validation/findingsReport.js +62 -0
- package/dist/shared/validation/findingsReport.js.map +1 -1
- package/docs/audit-pkg/contracts.md +34 -12
- package/docs/audit-pkg/operator-guide.md +10 -7
- package/package.json +3 -2
- package/schemas/audit-code-v1alpha1.schema.json +2 -1
- package/skills/audit-code/audit-code.prompt.md +5 -3
- package/dist/remediate/state/closingActions.d.ts +0 -3
- package/dist/remediate/state/closingActions.d.ts.map +0 -1
- package/dist/remediate/state/closingActions.js +0 -10
- package/dist/remediate/state/closingActions.js.map +0 -1
package/README.md
CHANGED
|
@@ -191,7 +191,7 @@ steps (e.g. deterministic subsystem clustering runs before the intent checkpoint
|
|
|
191
191
|
1. **Intake** — reads the findings and/or free-form intent, validates the input, and drafts a
|
|
192
192
|
summary with any open questions.
|
|
193
193
|
2. **Confirm intent** — you confirm scope, answer open questions, and set the closing action
|
|
194
|
-
(commit, push, open PR, publish, or
|
|
194
|
+
(commit, push, open PR, publish, tag, none, or a custom command).
|
|
195
195
|
3. **Design the change** — decomposes the work into modules, drafts a contract per module in
|
|
196
196
|
parallel, detects and reconciles seams (where one module's output must match another's
|
|
197
197
|
input), then derives obligations and a test plan. Riskier changes get an independent
|
|
@@ -116,7 +116,7 @@ export declare function ingestBatchAuditResults(options: {
|
|
|
116
116
|
status: "blocked" | "complete" | "not_started" | "active";
|
|
117
117
|
obligations: {
|
|
118
118
|
id: string;
|
|
119
|
-
state: "blocked" | "missing" | "satisfied" | "present" | "stale";
|
|
119
|
+
state: "blocked" | "not_applicable" | "missing" | "satisfied" | "present" | "stale";
|
|
120
120
|
reason?: string | undefined;
|
|
121
121
|
}[];
|
|
122
122
|
last_executor?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charterExtractionPrompt.d.ts","sourceRoot":"","sources":["../../../src/audit/cli/charterExtractionPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAK/D;;;;;;;;;;;;;;;GAeG;AAEH,uEAAuE;AACvE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,OAAO,GAChB,oBAAoB,EAAE,CAExB;AA2CD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE;IACJ,IAAI,EAAE,oBAAoB,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,GACA,MAAM,
|
|
1
|
+
{"version":3,"file":"charterExtractionPrompt.d.ts","sourceRoot":"","sources":["../../../src/audit/cli/charterExtractionPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAK/D;;;;;;;;;;;;;;;GAeG;AAEH,uEAAuE;AACvE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,OAAO,GAChB,oBAAoB,EAAE,CAExB;AA2CD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE;IACJ,IAAI,EAAE,oBAAoB,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,GACA,MAAM,CA0GR"}
|
|
@@ -77,6 +77,13 @@ export function renderCharterKindLanePrompt(bundle, opts) {
|
|
|
77
77
|
"tool to hold exactly this channel's evidence. Do NOT read repository files",
|
|
78
78
|
"directly, and do NOT read another lane's prompt, packet, or output.",
|
|
79
79
|
"",
|
|
80
|
+
"The packet already contains everything a correct citation needs, so obeying",
|
|
81
|
+
"that instruction is SUFFICIENT — you never have to open a file to cite one.",
|
|
82
|
+
"Its `## Provenance manifest` block names every excerpt with the exact line",
|
|
83
|
+
"runs delivered, and every content line is prefixed with its TRUE line number",
|
|
84
|
+
"in its own source file (` 12| …`). COPY a citation from there; never count",
|
|
85
|
+
"lines, never infer them, and never cite a range that spans two runs.",
|
|
86
|
+
"",
|
|
80
87
|
...lane.channel,
|
|
81
88
|
"",
|
|
82
89
|
"## Self-organize a leveled teleology",
|
|
@@ -133,7 +140,13 @@ export function renderCharterKindLanePrompt(bundle, opts) {
|
|
|
133
140
|
// closedness of the RENDERED text instead of teaching a worker a smaller
|
|
134
141
|
// contract (an open list here coined a member and quarantined a 34-minute
|
|
135
142
|
// lane run).
|
|
136
|
-
` "provenance": [{ "kind": "${PROVENANCE_KINDS}", "ref": "<path
|
|
143
|
+
` "provenance": [{ "kind": "${PROVENANCE_KINDS}", "ref": "<path>:<startLine>-<endLine>", "quote": "<optional>" }],`,
|
|
144
|
+
"",
|
|
145
|
+
" `ref` is COPIED verbatim from ONE line run in your packet's manifest",
|
|
146
|
+
" — never counted, inferred, or spanned across two runs. Use",
|
|
147
|
+
" `<path>:<N>` for a single line, or the bare `<path>` when the claim",
|
|
148
|
+
" names no lines at all. A non-path source (an intent-checkpoint field,",
|
|
149
|
+
" a component id) stays a bare id.",
|
|
137
150
|
' "confidence": "high|medium|low"',
|
|
138
151
|
" }",
|
|
139
152
|
" ]",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charterExtractionPrompt.js","sourceRoot":"","sources":["../../../src/audit/cli/charterExtractionPrompt.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"charterExtractionPrompt.js","sourceRoot":"","sources":["../../../src/audit/cli/charterExtractionPrompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,+EAA+E;AAC/E,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAsB9E;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAC9C,QAAiB;IAEjB,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,mFAAmF;AACnF,MAAM,cAAc,GAGhB;IACF,MAAM,EAAE;QACN,UAAU,EAAE;YACV,0EAA0E;YAC1E,2BAA2B;SAC5B;QACD,OAAO,EAAE;YACP,yEAAyE;YACzE,yEAAyE;YACzE,uBAAuB;SACxB;KACF;IACD,UAAU,EAAE;QACV,UAAU,EAAE;YACV,yEAAyE;YACzE,iEAAiE;SAClE;QACD,OAAO,EAAE;YACP,wEAAwE;YACxE,yEAAyE;YACzE,kEAAkE;SACnE;KACF;IACD,QAAQ,EAAE;QACR,UAAU,EAAE;YACV,2EAA2E;YAC3E,uEAAuE;YACvE,mBAAmB;SACpB;QACD,OAAO,EAAE;YACP,mEAAmE;YACnE,uEAAuE;YACvE,yBAAyB;SAC1B;KACF;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAsB,EACtB,IAIC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,uBAAuB,EAAE,SAAS,IAAI,EAAE,CAAC;IAClE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM;QAChC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,IAAI,GACR,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,aAAa,OAAO,GAAG,IAAI,EAAE,CAAC;QAC/D,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC,0EAA0E,CAAC,CAAC;IAEjF,OAAO;QACL,2CAA2C,IAAI,CAAC,IAAI,oCAAoC;QACxF,EAAE;QACF,sEAAsE;QACtE,4EAA4E;QAC5E,0EAA0E;QAC1E,wBAAwB;QACxB,EAAE;QACF,GAAG,IAAI,CAAC,UAAU;QAClB,EAAE;QACF,oEAAoE;QACpE,EAAE;QACF,UAAU,IAAI,CAAC,UAAU,iDAAiD;QAC1E,4EAA4E;QAC5E,qEAAqE;QACrE,EAAE;QACF,6EAA6E;QAC7E,6EAA6E;QAC7E,4EAA4E;QAC5E,8EAA8E;QAC9E,6EAA6E;QAC7E,sEAAsE;QACtE,EAAE;QACF,GAAG,IAAI,CAAC,OAAO;QACf,EAAE;QACF,sCAAsC;QACtC,EAAE;QACF,0EAA0E;QAC1E,8EAA8E;QAC9E,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,UAAU;QACV,oCAAoC;QACpC,4EAA4E;QAC5E,4EAA4E;QAC5E,gEAAgE;QAChE,0EAA0E;QAC1E,2EAA2E;QAC3E,4EAA4E;QAC5E,qEAAqE;QACrE,EAAE;QACF,yEAAyE;QACzE,mEAAmE;QACnE,GAAG,SAAS;QACZ,EAAE;QACF,6EAA6E;QAC7E,6EAA6E;QAC7E,wEAAwE;QACxE,uEAAuE;QACvE,EAAE;QACF,uCAAuC;QACvC,qEAAqE;QACrE,6EAA6E;QAC7E,wEAAwE;QACxE,8EAA8E;QAC9E,0CAA0C;QAC1C,8EAA8E;QAC9E,wCAAwC;QACxC,EAAE;QACF,WAAW;QACX,sCAAsC,IAAI,CAAC,cAAc,oBAAoB;QAC7E,qCAAqC,IAAI,CAAC,IAAI,yCAAyC;QACvF,EAAE;QACF,SAAS;QACT,GAAG;QACH,cAAc;QACd,OAAO;QACP,kBAAkB,IAAI,CAAC,IAAI,IAAI;QAC/B,4CAA4C;QAC5C,4BAA4B;QAC5B,iDAAiD;QACjD,+DAA+D;QAC/D,6EAA6E;QAC7E,kDAAkD;QAClD,4EAA4E;QAC5E,yEAAyE;QACzE,0EAA0E;QAC1E,aAAa;QACb,mCAAmC,gBAAgB,qEAAqE;QACxH,EAAE;QACF,8EAA8E;QAC9E,oEAAoE;QACpE,6EAA6E;QAC7E,+EAA+E;QAC/E,0CAA0C;QAC1C,uCAAuC;QACvC,OAAO;QACP,KAAK;QACL,GAAG;QACH,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/audit/cli/cleanup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/audit/cli/cleanup.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AA8BF,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA6CxB"}
|
|
@@ -1,24 +1,37 @@
|
|
|
1
1
|
import { rm } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { isFileMissingError, readJsonFile } from "audit-tools/shared";
|
|
4
|
-
|
|
5
|
-
//
|
|
6
|
-
//
|
|
4
|
+
import { isWorkingDirFullyPromoted } from "../io/artifacts.js";
|
|
5
|
+
// Remove a stale working artifacts directory. Two callers, ONE rule: the
|
|
6
|
+
// `cleanup` CLI command (cmdCleanup) and the next-step pre-run sweep
|
|
7
|
+
// (cmdNextStepBody) call this identically — owner decision 74c89b226ab9b9cd
|
|
8
|
+
// (2026-08-31), which reversed the not_started-only pre-run narrowing of
|
|
9
|
+
// 7ebeccc8 while keeping its protection.
|
|
7
10
|
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
11
|
+
// A dir is stale (eligible without --force) when nothing in it is still owed to
|
|
12
|
+
// the host: its run is `not_started` (nothing was produced), or `complete` with
|
|
13
|
+
// nothing left for the completion transition to do — every artifact promotion
|
|
14
|
+
// archives is already one level up, byte-identical, as decided by promotion's
|
|
15
|
+
// own archive walk in verify-only mode (isWorkingDirFullyPromoted), never by a
|
|
16
|
+
// second list. A `complete` dir with work left — an unpromoted render, an
|
|
17
|
+
// unarchived contract, friction triage pending — is a live continuation for
|
|
18
|
+
// BOTH callers: at next-step entry the fold's terminal step presents and
|
|
19
|
+
// promotes it; the verb refuses it without --force. Sweeping it would destroy
|
|
20
|
+
// the only copy of a finished audit.
|
|
21
|
+
//
|
|
22
|
+
// Deletion contract: only the working artifacts dir is removed. The promoted
|
|
23
|
+
// final reports live one level up (promotedAuditReportPath /
|
|
24
|
+
// promotedAuditFindingsPath, and the remediation pair beside them) and no
|
|
25
|
+
// cleanup path touches them. A missing state file means there is nothing to
|
|
26
|
+
// clean.
|
|
14
27
|
//
|
|
15
28
|
// With options:
|
|
16
|
-
//
|
|
17
|
-
//
|
|
29
|
+
// force=true — delete even when the run is active/blocked, complete with
|
|
30
|
+
// work left, or has no state file.
|
|
18
31
|
// dryRun=true — skip the actual rm call and return action='dry-run'.
|
|
19
|
-
//
|
|
32
|
+
// Both default to false.
|
|
20
33
|
export async function cleanupStaleArtifactsDir(artifactsDir, options = {}) {
|
|
21
|
-
const { force = false, dryRun = false
|
|
34
|
+
const { force = false, dryRun = false } = options;
|
|
22
35
|
let status = "unknown";
|
|
23
36
|
try {
|
|
24
37
|
const state = await readJsonFile(join(artifactsDir, "audit_state.json"));
|
|
@@ -30,20 +43,19 @@ export async function cleanupStaleArtifactsDir(artifactsDir, options = {}) {
|
|
|
30
43
|
}
|
|
31
44
|
// State file missing — status stays "unknown".
|
|
32
45
|
}
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
: status === "complete" || status === "not_started";
|
|
46
|
+
const stale = status === "not_started" ||
|
|
47
|
+
(status === "complete" && (force || (await isWorkingDirFullyPromoted(artifactsDir))));
|
|
36
48
|
const resumable = status === "active" || status === "blocked";
|
|
37
|
-
if (!
|
|
49
|
+
if (!stale && !force) {
|
|
38
50
|
// active/blocked — caller may want to resume; skip unless forced
|
|
39
51
|
if (resumable) {
|
|
40
52
|
const reason = `audit is ${status} and may be resumed — use --force to delete anyway`;
|
|
41
53
|
return { action: "skipped", status, reason };
|
|
42
54
|
}
|
|
43
|
-
// complete
|
|
44
|
-
//
|
|
55
|
+
// complete with work left — the dir holds the only copy of the finished
|
|
56
|
+
// audit until the completion transition promotes it.
|
|
45
57
|
if (status === "complete") {
|
|
46
|
-
const reason = "audit is complete
|
|
58
|
+
const reason = "audit is complete but its final report is not fully promoted — this dir holds the only copy; run next-step to present and promote it, or use --force to delete anyway";
|
|
47
59
|
return { action: "skipped", status, reason };
|
|
48
60
|
}
|
|
49
61
|
// unknown (missing state file) — no-op by default; caller decides how to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/audit/cli/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/audit/cli/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAc/D,yEAAyE;AACzE,qEAAqE;AACrE,4EAA4E;AAC5E,yEAAyE;AACzE,yCAAyC;AACzC,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,8EAA8E;AAC9E,qCAAqC;AACrC,EAAE;AACF,6EAA6E;AAC7E,6DAA6D;AAC7D,0EAA0E;AAC1E,4EAA4E;AAC5E,SAAS;AACT,EAAE;AACF,gBAAgB;AAChB,4EAA4E;AAC5E,mDAAmD;AACnD,uEAAuE;AACvE,yBAAyB;AACzB,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,YAAoB,EACpB,UAA0B,EAAE;IAE5B,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAElD,IAAI,MAAM,GAAqC,SAAS,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAC9B,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CACvC,CAAC;QACF,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,+CAA+C;IACjD,CAAC;IAED,MAAM,KAAK,GACT,MAAM,KAAK,aAAa;QACxB,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,SAAS,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,CAAC;IAE9D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,iEAAiE;QACjE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,YAAY,MAAM,oDAAoD,CAAC;YACtF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC/C,CAAC;QACD,wEAAwE;QACxE,qDAAqD;QACrD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,MAAM,MAAM,GACV,uKAAuK,CAAC;YAC1K,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC/C,CAAC;QACD,yEAAyE;QACzE,qDAAqD;QACrD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AACvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conceptualDispatch.d.ts","sourceRoot":"","sources":["../../../src/audit/cli/conceptualDispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"conceptualDispatch.d.ts","sourceRoot":"","sources":["../../../src/audit/cli/conceptualDispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAiBzD,OAAO,EAOL,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,SAAS,GAAG,MAAM,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,EAC1D,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,aAAa,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,EACjD,aAAa,EAAE,SAAS,GAAG,MAAM,GAChC,MAAM,CAUR;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,cAAc,GACrB,wBAAwB,CA+B1B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mEAAmE;IACnE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,8CAA8C;IAC9C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mEAAmE;IACnE,SAAS,EAAE,uBAAuB,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,wBAAwB,CAAC;IACnC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2P9B"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { charterReviewDisposition, } from "audit-tools/shared";
|
|
2
|
+
import { resolveIntentLensSelection } from "../orchestrator/lensSelection.js";
|
|
2
3
|
import { renderConceptualReviewPrompt, renderConceptualPerspectivePrompt, renderConceptualJudgePrompt, selectPerspectives, } from "../orchestrator/designReviewPrompt.js";
|
|
3
4
|
import { materializeFanoutLanes } from "./fanoutLanes.js";
|
|
4
|
-
import { clearConceptualReviewRoundManifest, conceptualReviewRoundManifestPath, writeConceptualReviewRoundManifest, } from "../types/conceptualAdjudication.js";
|
|
5
|
-
import { AUDIT_GATE_SUBMISSION_SCOPE, GATE_LANES, conceptualPerspectiveLane, conceptualRoundToken, laneSubmissionPath, } from "./laneSubmissions.js";
|
|
5
|
+
import { clearConceptualReviewRoundManifest, conceptualReviewRoundManifestPath, readConceptualReviewRoundManifest, writeConceptualReviewRoundManifest, } from "../types/conceptualAdjudication.js";
|
|
6
|
+
import { AUDIT_GATE_SUBMISSION_SCOPE, GATE_LANES, closeDispatchedLaneOutcomes, conceptualPerspectiveLane, conceptualRoundToken, laneSubmissionPath, } from "./laneSubmissions.js";
|
|
6
7
|
/**
|
|
7
8
|
* Render the host-visible reuse notice when a prior `intent_checkpoint.design_review`
|
|
8
9
|
* drives this workload. Content-sorted lens list keeps the text stable (no churn),
|
|
@@ -69,7 +70,28 @@ export async function prepareConceptualDispatch(opts) {
|
|
|
69
70
|
// it is the `design_review_conceptual` LANE, so the gate reads one bound path
|
|
70
71
|
// and the state machine is unchanged by the depth choice.
|
|
71
72
|
const conceptualResultsPath = laneSubmissionPath(artifactsDir, GATE_LANES.design_review_conceptual);
|
|
72
|
-
|
|
73
|
+
// The operator's lens selection reaches EVERY lens-open lane of this pass —
|
|
74
|
+
// the shallow reviewer, each perspective, and the judge. It reached none of
|
|
75
|
+
// them before: this options object had no lens field at all, so the only lens
|
|
76
|
+
// a lane ever saw was the output example's hard-coded literal.
|
|
77
|
+
const lenses = resolveIntentLensSelection(bundle.intent_checkpoint?.lens_selection);
|
|
78
|
+
const reviewOptions = {
|
|
79
|
+
max_units: settings.max_units,
|
|
80
|
+
...(lenses === undefined ? {} : { lenses }),
|
|
81
|
+
};
|
|
82
|
+
// A round that is about to be superseded — by a re-review, or by a switch to
|
|
83
|
+
// the shallow pass — will never be ingested, so this is the last moment its
|
|
84
|
+
// perspectives' dispatch rows can be closed with what they actually
|
|
85
|
+
// delivered. Read from the manifest the tool wrote; no lane id is parsed.
|
|
86
|
+
const priorRound = await readConceptualReviewRoundManifest(artifactsDir);
|
|
87
|
+
const closePriorRound = async (currentRoundId) => {
|
|
88
|
+
if (!priorRound || priorRound.round_id === currentRoundId)
|
|
89
|
+
return;
|
|
90
|
+
await closeDispatchedLaneOutcomes(artifactsDir, {
|
|
91
|
+
lanes: priorRound.perspectives.map((perspective) => perspective.lane_id),
|
|
92
|
+
roundId: priorRound.round_id,
|
|
93
|
+
});
|
|
94
|
+
};
|
|
73
95
|
if (settings.conceptual_depth !== "deep") {
|
|
74
96
|
const fanout = await materializeFanoutLanes({
|
|
75
97
|
artifactsDir,
|
|
@@ -84,6 +106,7 @@ export async function prepareConceptualDispatch(opts) {
|
|
|
84
106
|
],
|
|
85
107
|
});
|
|
86
108
|
const conceptualPromptPath = fanout.lanes[0].promptPath;
|
|
109
|
+
await closePriorRound();
|
|
87
110
|
await clearConceptualReviewRoundManifest(artifactsDir);
|
|
88
111
|
return {
|
|
89
112
|
deep: false,
|
|
@@ -128,11 +151,11 @@ export async function prepareConceptualDispatch(opts) {
|
|
|
128
151
|
resultsPath: laneSubmissionPath(artifactsDir, lane, AUDIT_GATE_SUBMISSION_SCOPE),
|
|
129
152
|
};
|
|
130
153
|
});
|
|
131
|
-
const judgePromptText = renderConceptualJudgePrompt(perspectiveFiles.map((f) => ({
|
|
154
|
+
const judgePromptText = renderConceptualJudgePrompt(bundle, perspectiveFiles.map((f) => ({
|
|
132
155
|
name: f.name,
|
|
133
156
|
path: f.resultsPath,
|
|
134
157
|
contributor_id: f.lane,
|
|
135
|
-
})), roundToken) + reReviewSuffix;
|
|
158
|
+
})), roundToken, reviewOptions) + reReviewSuffix;
|
|
136
159
|
const laneSpecs = [
|
|
137
160
|
...perspectiveFiles.map((f) => ({
|
|
138
161
|
id: f.lane,
|
|
@@ -153,9 +176,11 @@ export async function prepareConceptualDispatch(opts) {
|
|
|
153
176
|
promptText: judgePromptText,
|
|
154
177
|
},
|
|
155
178
|
];
|
|
179
|
+
await closePriorRound(roundToken);
|
|
156
180
|
const fanout = await materializeFanoutLanes({
|
|
157
181
|
artifactsDir,
|
|
158
182
|
runId: AUDIT_GATE_SUBMISSION_SCOPE,
|
|
183
|
+
roundId: roundToken,
|
|
159
184
|
lanes: laneSpecs,
|
|
160
185
|
});
|
|
161
186
|
const promptPathFor = (laneId) => fanout.lanes.find((lane) => lane.id === laneId).promptPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conceptualDispatch.js","sourceRoot":"","sources":["../../../src/audit/cli/conceptualDispatch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"conceptualDispatch.js","sourceRoot":"","sources":["../../../src/audit/cli/conceptualDispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,6 +82,8 @@ export interface AuditHostIngestSummary {
|
|
|
82
82
|
* measured drift P25 exists to make visible.
|
|
83
83
|
*/
|
|
84
84
|
readonly issues: readonly AuditHostIngestIssue[];
|
|
85
|
+
/** Raw issue observations for the sole recorder; excluded from host rendering. */
|
|
86
|
+
readonly raw_issues: readonly AuditHostIngestIssue[];
|
|
85
87
|
/**
|
|
86
88
|
* Advisory validation findings on results that WERE accepted — a small
|
|
87
89
|
* coverage-stat divergence, verification metadata on a non-verification
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostHandoff.d.ts","sourceRoot":"","sources":["../../../../src/audit/cli/dispatch/hostHandoff.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"hostHandoff.d.ts","sourceRoot":"","sources":["../../../../src/audit/cli/dispatch/hostHandoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { mkdir } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import { createMemoizedSourceReader, appendSubmissionEvent, SUBMISSION_LEDGER_EVENT_CONTRACT_VERSION, bindingIdentity, compareCodeUnits, contentSha256, firstDuplicateIdentity, hasExactKeys, hostHandoffResultPath, isFileMissingError, isRecord, isSha256, parseAllWorkloadItems, parseWorkloadEnvelope, promptSha256, readJsonFile, repoRelativePath, requireNonEmptyString, resolveContainedPath, resolveHostHandoffPaths, resultMapIdentity, scanBoundSubmission, siblingLockPath, sameStrings, stableStringify, verifyFindingGrounding, withFileLock, writeBlockedStepContract, writeJsonFile, } from "audit-tools/shared";
|
|
3
|
+
import { createMemoizedSourceReader, appendSubmissionEvent, SUBMISSION_LEDGER_EVENT_CONTRACT_VERSION, bindingIdentity, compareCodeUnits, contentSha256, firstDuplicateIdentity, hasExactKeys, hostHandoffResultPath, isFileMissingError, isRecord, isSha256, parseAllWorkloadItems, parseWorkloadEnvelope, promptSha256, enrichMissingSubmissionIssues, readTrailingSubmissionRefusals, readJsonFile, repoRelativePath, requireNonEmptyString, resolveContainedPath, resolveHostHandoffPaths, resultMapIdentity, scanBoundSubmission, siblingLockPath, sameStrings, stableStringify, verifyFindingGrounding, withFileLock, writeBlockedStepContract, writeJsonFile, } from "audit-tools/shared";
|
|
4
4
|
import { findingContractPromptLines } from "../../contracts/findingContractPrompt.js";
|
|
5
5
|
import { WorkerFindingSchema } from "../../contracts/workerSchemas.js";
|
|
6
6
|
import { AuditResultSchema } from "../../types.js";
|
|
@@ -426,10 +426,10 @@ function validateHandoffBinding(paths, workload, resultMap, taskBindings) {
|
|
|
426
426
|
const items = new Map();
|
|
427
427
|
for (const item of workload.work_items) {
|
|
428
428
|
if (items.has(item.id)) {
|
|
429
|
-
throw
|
|
429
|
+
throw bindingFailure("workload_binding", `Duplicate audit host work item: ${item.id}`);
|
|
430
430
|
}
|
|
431
431
|
if (item.result_path !== resultPathFor(paths, item.id)) {
|
|
432
|
-
throw
|
|
432
|
+
throw bindingFailure("workload_binding", `Unbound audit host result path: ${item.id}`);
|
|
433
433
|
}
|
|
434
434
|
const binding = taskBindings.get(item.id);
|
|
435
435
|
if (binding === undefined ||
|
|
@@ -439,7 +439,7 @@ function validateHandoffBinding(paths, workload, resultMap, taskBindings) {
|
|
|
439
439
|
item.scope.unit_ids.length !== 1 ||
|
|
440
440
|
binding.unit_id !== item.scope.unit_ids[0] ||
|
|
441
441
|
!sameStrings(Object.keys(binding.file_line_counts).sort(compareCodeUnits), [...item.scope.files].sort(compareCodeUnits))) {
|
|
442
|
-
throw
|
|
442
|
+
throw bindingFailure("workload_binding", `Invalid audit host task binding: ${item.id}`);
|
|
443
443
|
}
|
|
444
444
|
items.set(item.id, item);
|
|
445
445
|
}
|
|
@@ -449,14 +449,24 @@ function validateHandoffBinding(paths, workload, resultMap, taskBindings) {
|
|
|
449
449
|
// draw's original refusals survive — they are not collapsed into one.
|
|
450
450
|
const identity = resultMapIdentity([...items.values()], resultMap.entries);
|
|
451
451
|
if (!identity.ok) {
|
|
452
|
-
throw
|
|
452
|
+
throw bindingFailure("workload_binding", identity.reason === "coverage"
|
|
453
453
|
? "Audit host result map does not cover the workload exactly"
|
|
454
454
|
: `Invalid audit host result binding: ${identity.workItemId ?? "unknown"}`);
|
|
455
455
|
}
|
|
456
456
|
return items;
|
|
457
457
|
}
|
|
458
|
-
|
|
459
|
-
|
|
458
|
+
/**
|
|
459
|
+
* A persisted-binding failure is a THROW, not an issue: nothing about a host
|
|
460
|
+
* result can be judged until the tool's own workload, result map and task
|
|
461
|
+
* bindings re-derive. The check id is what the throw cites, so the failure is
|
|
462
|
+
* still attributable to a registered ingestion check.
|
|
463
|
+
*/
|
|
464
|
+
function bindingFailure(check, message) {
|
|
465
|
+
return new Error(`${message} [${check}]`);
|
|
466
|
+
}
|
|
467
|
+
/** `check` names the registered ingestion check that failed; `detail` is its prose. */
|
|
468
|
+
function refuse(check, detail) {
|
|
469
|
+
return { ok: false, check, detail };
|
|
460
470
|
}
|
|
461
471
|
/** `findings[2].affected_files.0.path` — a zod issue path, host-readable. */
|
|
462
472
|
function issueLocation(prefix, path) {
|
|
@@ -477,6 +487,16 @@ function parseFindings(findings) {
|
|
|
477
487
|
detail: `findings[${index}].grounding: grounding is tool-computed at ingest and must not be supplied`,
|
|
478
488
|
};
|
|
479
489
|
}
|
|
490
|
+
// The same refusal for the second tool-owned verdict: `verification_status`
|
|
491
|
+
// is DERIVED at conceptual ingest from the judge's per-candidate claims, so a
|
|
492
|
+
// worker-supplied value would bypass the derivation and be
|
|
493
|
+
// un-cross-checkable against the adjudication record.
|
|
494
|
+
if (isRecord(finding) && "verification_status" in finding) {
|
|
495
|
+
return {
|
|
496
|
+
ok: false,
|
|
497
|
+
detail: `findings[${index}].verification_status: verification_status is tool-derived at ingest and must not be supplied`,
|
|
498
|
+
};
|
|
499
|
+
}
|
|
480
500
|
// The STRICT WORKER PROJECTION — the same contract the dispatch prompt
|
|
481
501
|
// renders (`findingContractPromptLines`). Parsing the lenient base schema
|
|
482
502
|
// here accepted a prompt-obedient submission that downstream validation
|
|
@@ -511,49 +531,49 @@ function parseHostResult(value, runId, item, binding) {
|
|
|
511
531
|
value.contract_version !== RESULT_CONTRACT_VERSION ||
|
|
512
532
|
typeof value.result_id !== "string" ||
|
|
513
533
|
value.result_id.length === 0) {
|
|
514
|
-
return refuse(`result envelope is not ${RESULT_CONTRACT_VERSION} with exactly contract_version, ` +
|
|
534
|
+
return refuse("result_envelope", `result envelope is not ${RESULT_CONTRACT_VERSION} with exactly contract_version, ` +
|
|
515
535
|
`result_id, run_id, work_item_id, prompt_sha256, file_coverage and findings`);
|
|
516
536
|
}
|
|
517
537
|
if (value.run_id !== runId) {
|
|
518
|
-
return refuse(`identity binding: run_id is not this run's '${runId}'`);
|
|
538
|
+
return refuse("identity_binding", `identity binding: run_id is not this run's '${runId}'`);
|
|
519
539
|
}
|
|
520
540
|
if (value.work_item_id !== item.id) {
|
|
521
|
-
return refuse(`identity binding: work_item_id is not '${item.id}'`);
|
|
541
|
+
return refuse("identity_binding", `identity binding: work_item_id is not '${item.id}'`);
|
|
522
542
|
}
|
|
523
543
|
if (value.prompt_sha256 !== item.prompt.sha256) {
|
|
524
|
-
return refuse("prompt binding: prompt_sha256 is not the sha256 of this work item's prompt");
|
|
544
|
+
return refuse("identity_binding", "prompt binding: prompt_sha256 is not the sha256 of this work item's prompt");
|
|
525
545
|
}
|
|
526
546
|
if (!Array.isArray(value.file_coverage)) {
|
|
527
|
-
return refuse("file coverage: file_coverage must be an array");
|
|
547
|
+
return refuse("file_coverage", "file coverage: file_coverage must be an array");
|
|
528
548
|
}
|
|
529
549
|
if (!Array.isArray(value.findings)) {
|
|
530
|
-
return refuse("findings failed the audit finding contract: findings must be an array");
|
|
550
|
+
return refuse("findings_contract", "findings failed the audit finding contract: findings must be an array");
|
|
531
551
|
}
|
|
532
552
|
// The parsed findings ride ON the result, so `toAuditResult` never has to
|
|
533
553
|
// re-parse them (one parse, one door).
|
|
534
554
|
const findingsParse = parseFindings(value.findings);
|
|
535
555
|
if (!findingsParse.ok)
|
|
536
|
-
return refuse(findingsParse.detail);
|
|
556
|
+
return refuse("findings_contract", findingsParse.detail);
|
|
537
557
|
const { findings } = findingsParse;
|
|
538
558
|
const coveragePaths = new Set();
|
|
539
559
|
for (const coverage of value.file_coverage) {
|
|
540
560
|
if (!isRecord(coverage) ||
|
|
541
561
|
!hasExactKeys(coverage, ["path", "reviewed_lines", "total_lines"]) ||
|
|
542
562
|
typeof coverage.path !== "string") {
|
|
543
|
-
return refuse("file coverage: every entry must contain exactly path, reviewed_lines and total_lines");
|
|
563
|
+
return refuse("file_coverage", "file coverage: every entry must contain exactly path, reviewed_lines and total_lines");
|
|
544
564
|
}
|
|
545
565
|
if (coveragePaths.has(coverage.path)) {
|
|
546
|
-
return refuse(`file coverage: '${coverage.path}' is covered twice`);
|
|
566
|
+
return refuse("file_coverage", `file coverage: '${coverage.path}' is covered twice`);
|
|
547
567
|
}
|
|
548
568
|
if (!Number.isInteger(coverage.reviewed_lines) ||
|
|
549
569
|
!Number.isInteger(coverage.total_lines) ||
|
|
550
570
|
coverage.reviewed_lines < 0 ||
|
|
551
571
|
coverage.reviewed_lines !== coverage.total_lines) {
|
|
552
|
-
return refuse(`file coverage: '${coverage.path}' must report reviewed_lines equal to total_lines`);
|
|
572
|
+
return refuse("file_coverage", `file coverage: '${coverage.path}' must report reviewed_lines equal to total_lines`);
|
|
553
573
|
}
|
|
554
574
|
const boundLines = binding.file_line_counts[coverage.path];
|
|
555
575
|
if (coverage.total_lines !== boundLines) {
|
|
556
|
-
return refuse(boundLines === undefined
|
|
576
|
+
return refuse("file_coverage", boundLines === undefined
|
|
557
577
|
? `file coverage: '${coverage.path}' is not one of this work item's bound files`
|
|
558
578
|
: `file coverage: '${coverage.path}' reports ${String(coverage.total_lines)} ` +
|
|
559
579
|
`total_lines, not the bound ${String(boundLines)}`);
|
|
@@ -562,7 +582,7 @@ function parseHostResult(value, runId, item, binding) {
|
|
|
562
582
|
}
|
|
563
583
|
const uncovered = item.scope.files.filter((path) => !coveragePaths.has(path));
|
|
564
584
|
if (uncovered.length > 0 || coveragePaths.size !== item.scope.files.length) {
|
|
565
|
-
return refuse(uncovered.length > 0
|
|
585
|
+
return refuse("file_coverage", uncovered.length > 0
|
|
566
586
|
? `file coverage: the assigned scope is not fully covered (missing ${uncovered.join(", ")})`
|
|
567
587
|
: "file coverage: entries do not match the assigned scope exactly");
|
|
568
588
|
}
|
|
@@ -671,6 +691,7 @@ export async function ingestAuditHostResults(params) {
|
|
|
671
691
|
if (!converted.ok) {
|
|
672
692
|
issues.push({
|
|
673
693
|
code: "submission_contract_invalid",
|
|
694
|
+
check: "result_schema",
|
|
674
695
|
message: `work item '${entry.work_item_id}' submitted a result that does not convert to ` +
|
|
675
696
|
`an AuditResult: ${converted.detail}`,
|
|
676
697
|
work_item_id: entry.work_item_id,
|
|
@@ -704,6 +725,7 @@ export async function ingestAuditHostResults(params) {
|
|
|
704
725
|
if (errors.length > 0) {
|
|
705
726
|
issues.push({
|
|
706
727
|
code: "result_validation_failed",
|
|
728
|
+
check: "result_validation",
|
|
707
729
|
message: `work item '${entry.work_item_id}' failed audit-results validation ` +
|
|
708
730
|
`(${errors.length} error(s)); fix the result file at its bound path and call next-step again: ` +
|
|
709
731
|
formatAuditResultIssues(errors),
|
|
@@ -788,6 +810,11 @@ export async function ingestAuditHostResults(params) {
|
|
|
788
810
|
// production caller — fed these very `issues` and `completed_work_item_ids` —
|
|
789
811
|
// so every rejection below already lands there in arrival order. A second
|
|
790
812
|
// writer inside the boundary would double-record the same fact.
|
|
813
|
+
const raw_issues = [...issues];
|
|
814
|
+
const refusals = await readTrailingSubmissionRefusals(paths.artifactsDir, raw_issues
|
|
815
|
+
.map((issue) => issue.work_item_id ?? issue.submission_id)
|
|
816
|
+
.filter((id) => id !== undefined));
|
|
817
|
+
const reportedIssues = enrichMissingSubmissionIssues(raw_issues, refusals, "submission_rejected");
|
|
791
818
|
return {
|
|
792
819
|
accepted_count: landed.length,
|
|
793
820
|
accepted_results: ledger.entries.map((entry) => entry.audit_result),
|
|
@@ -796,7 +823,8 @@ export async function ingestAuditHostResults(params) {
|
|
|
796
823
|
completed_work_item_ids: [
|
|
797
824
|
...new Set(ledger.entries.map((entry) => entry.work_item_id)),
|
|
798
825
|
].sort(compareCodeUnits),
|
|
799
|
-
issues,
|
|
826
|
+
issues: reportedIssues,
|
|
827
|
+
raw_issues,
|
|
800
828
|
};
|
|
801
829
|
}
|
|
802
830
|
/**
|