audit-tools 0.52.2 → 0.52.4
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 +31 -1
- package/dist/audit/cli/args.d.ts.map +1 -1
- package/dist/audit/cli/args.js +6 -2
- package/dist/audit/cli/args.js.map +1 -1
- package/dist/audit/cli/argumentContract.d.ts +11 -0
- package/dist/audit/cli/argumentContract.d.ts.map +1 -0
- package/dist/audit/cli/argumentContract.js +45 -0
- package/dist/audit/cli/argumentContract.js.map +1 -0
- package/dist/audit/cli/auditReviewBindings.d.ts +49 -0
- package/dist/audit/cli/auditReviewBindings.d.ts.map +1 -0
- package/dist/audit/cli/auditReviewBindings.js +61 -0
- package/dist/audit/cli/auditReviewBindings.js.map +1 -0
- package/dist/audit/cli/auditStep.d.ts +1 -27
- package/dist/audit/cli/auditStep.d.ts.map +1 -1
- package/dist/audit/cli/auditStep.js +7 -32
- package/dist/audit/cli/auditStep.js.map +1 -1
- package/dist/audit/cli/charterComparisonPrompt.d.ts +2 -0
- package/dist/audit/cli/charterComparisonPrompt.d.ts.map +1 -1
- package/dist/audit/cli/charterComparisonPrompt.js +9 -0
- package/dist/audit/cli/charterComparisonPrompt.js.map +1 -1
- package/dist/audit/cli/charterExtractionPrompt.d.ts.map +1 -1
- package/dist/audit/cli/charterExtractionPrompt.js +17 -3
- package/dist/audit/cli/charterExtractionPrompt.js.map +1 -1
- package/dist/audit/cli/conceptualDispatch.d.ts +1 -1
- package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
- package/dist/audit/cli/conceptualDispatch.js +15 -2
- package/dist/audit/cli/conceptualDispatch.js.map +1 -1
- package/dist/audit/cli/confirmIntentStep.d.ts.map +1 -1
- package/dist/audit/cli/confirmIntentStep.js +17 -21
- package/dist/audit/cli/confirmIntentStep.js.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.js +233 -231
- package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
- package/dist/audit/cli/explainTaskCommand.d.ts.map +1 -1
- package/dist/audit/cli/explainTaskCommand.js +3 -1
- package/dist/audit/cli/explainTaskCommand.js.map +1 -1
- package/dist/audit/cli/fanoutLanes.d.ts +10 -14
- package/dist/audit/cli/fanoutLanes.d.ts.map +1 -1
- package/dist/audit/cli/fanoutLanes.js +50 -16
- package/dist/audit/cli/fanoutLanes.js.map +1 -1
- package/dist/audit/cli/functionalPreflight.d.ts +96 -0
- package/dist/audit/cli/functionalPreflight.d.ts.map +1 -0
- package/dist/audit/cli/functionalPreflight.js +103 -0
- package/dist/audit/cli/functionalPreflight.js.map +1 -0
- package/dist/audit/cli/laneSubmissions.d.ts +5 -1
- package/dist/audit/cli/laneSubmissions.d.ts.map +1 -1
- package/dist/audit/cli/laneSubmissions.js +45 -34
- package/dist/audit/cli/laneSubmissions.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts +1 -9
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +104 -39
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +10 -25
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +57 -67
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/prompts.d.ts.map +1 -1
- package/dist/audit/cli/prompts.js +9 -4
- package/dist/audit/cli/prompts.js.map +1 -1
- package/dist/audit/cli/recoverSubmissionCommand.d.ts.map +1 -1
- package/dist/audit/cli/recoverSubmissionCommand.js +8 -1
- package/dist/audit/cli/recoverSubmissionCommand.js.map +1 -1
- package/dist/audit/cli/reviewRun.js +1 -1
- package/dist/audit/cli/reviewRun.js.map +1 -1
- package/dist/audit/cli/reviewSubmission.d.ts +24 -0
- package/dist/audit/cli/reviewSubmission.d.ts.map +1 -0
- package/dist/audit/cli/reviewSubmission.js +97 -0
- package/dist/audit/cli/reviewSubmission.js.map +1 -0
- package/dist/audit/cli/sampleRunCommand.d.ts +3 -3
- package/dist/audit/cli/steps.d.ts +18 -18
- package/dist/audit/cli/steps.d.ts.map +1 -1
- package/dist/audit/cli/steps.js +1 -0
- package/dist/audit/cli/steps.js.map +1 -1
- package/dist/audit/cli/unacceptResultsCommand.d.ts.map +1 -1
- package/dist/audit/cli/unacceptResultsCommand.js +2 -1
- package/dist/audit/cli/unacceptResultsCommand.js.map +1 -1
- package/dist/audit/cli.d.ts +2 -1
- package/dist/audit/cli.d.ts.map +1 -1
- package/dist/audit/cli.js +27 -19
- package/dist/audit/cli.js.map +1 -1
- package/dist/audit/contracts/findingContractPrompt.d.ts +1 -1
- package/dist/audit/contracts/findingContractPrompt.d.ts.map +1 -1
- package/dist/audit/contracts/findingContractPrompt.js +6 -4
- package/dist/audit/contracts/findingContractPrompt.js.map +1 -1
- package/dist/audit/contracts/workerSchemas.d.ts +10 -10
- package/dist/audit/contracts/wrapperResponse.d.ts +34 -34
- package/dist/audit/extractors/commentDecomposition.d.ts +14 -0
- package/dist/audit/extractors/commentDecomposition.d.ts.map +1 -1
- package/dist/audit/extractors/commentDecomposition.js +2 -1
- 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 +12 -7
- package/dist/audit/extractors/graph.js.map +1 -1
- package/dist/audit/extractors/graphPythonImports.d.ts +3 -0
- package/dist/audit/extractors/graphPythonImports.d.ts.map +1 -1
- package/dist/audit/extractors/graphPythonImports.js +24 -5
- package/dist/audit/extractors/graphPythonImports.js.map +1 -1
- package/dist/audit/extractors/graphRouteSources.d.ts +7 -0
- package/dist/audit/extractors/graphRouteSources.d.ts.map +1 -0
- package/dist/audit/extractors/graphRouteSources.js +208 -0
- package/dist/audit/extractors/graphRouteSources.js.map +1 -0
- package/dist/audit/extractors/graphRoutes.d.ts +1 -1
- package/dist/audit/extractors/graphRoutes.d.ts.map +1 -1
- package/dist/audit/extractors/graphRoutes.js +65 -68
- package/dist/audit/extractors/graphRoutes.js.map +1 -1
- package/dist/audit/io/artifacts.d.ts +1 -0
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +29 -10
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/io/runArtifacts.d.ts +1 -1
- package/dist/audit/io/runArtifacts.d.ts.map +1 -1
- package/dist/audit/io/runArtifacts.js +3 -0
- package/dist/audit/io/runArtifacts.js.map +1 -1
- package/dist/audit/io/toolingManifest.d.ts.map +1 -1
- package/dist/audit/io/toolingManifest.js +11 -32
- package/dist/audit/io/toolingManifest.js.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts +2 -3
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.js.map +1 -1
- package/dist/audit/orchestrator/advanceTypes.d.ts +1 -2
- package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
- package/dist/audit/orchestrator/autoFixExecutor.d.ts +2 -2
- package/dist/audit/orchestrator/autoFixExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/autoFixExecutor.js +2 -2
- package/dist/audit/orchestrator/autoFixExecutor.js.map +1 -1
- package/dist/audit/orchestrator/charterFidelityPacket.d.ts +2 -0
- package/dist/audit/orchestrator/charterFidelityPacket.d.ts.map +1 -1
- package/dist/audit/orchestrator/charterFidelityPacket.js +6 -1
- package/dist/audit/orchestrator/charterFidelityPacket.js.map +1 -1
- package/dist/audit/orchestrator/charterPackets.d.ts +2 -0
- package/dist/audit/orchestrator/charterPackets.d.ts.map +1 -1
- package/dist/audit/orchestrator/charterPackets.js +6 -0
- package/dist/audit/orchestrator/charterPackets.js.map +1 -1
- package/dist/audit/orchestrator/designReviewProjection.d.ts +5 -8
- package/dist/audit/orchestrator/designReviewProjection.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewProjection.js +7 -1
- package/dist/audit/orchestrator/designReviewProjection.js.map +1 -1
- package/dist/audit/orchestrator/designReviewPrompt.d.ts +3 -47
- package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewPrompt.js +28 -135
- package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
- package/dist/audit/orchestrator/designReviewSnapshot.d.ts +24 -1
- package/dist/audit/orchestrator/designReviewSnapshot.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewSnapshot.js +8 -2
- package/dist/audit/orchestrator/designReviewSnapshot.js.map +1 -1
- package/dist/audit/orchestrator/designReviewTask.d.ts +46 -0
- package/dist/audit/orchestrator/designReviewTask.d.ts.map +1 -0
- package/dist/audit/orchestrator/designReviewTask.js +44 -0
- package/dist/audit/orchestrator/designReviewTask.js.map +1 -0
- package/dist/audit/orchestrator/intentCheckpointGate.d.ts +1 -1
- package/dist/audit/orchestrator/intentCheckpointGate.d.ts.map +1 -1
- package/dist/audit/orchestrator/intentCheckpointGate.js +4 -2
- package/dist/audit/orchestrator/intentCheckpointGate.js.map +1 -1
- package/dist/audit/orchestrator/intentEquivalenceExecutor.d.ts +3 -0
- package/dist/audit/orchestrator/intentEquivalenceExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/intentEquivalenceExecutor.js +2 -0
- package/dist/audit/orchestrator/intentEquivalenceExecutor.js.map +1 -1
- package/dist/audit/orchestrator/intentInterpreter.d.ts +1 -9
- package/dist/audit/orchestrator/intentInterpreter.d.ts.map +1 -1
- package/dist/audit/orchestrator/intentInterpreter.js +6 -11
- package/dist/audit/orchestrator/intentInterpreter.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/shared.d.ts +2 -2
- package/dist/audit/orchestrator/selectiveDeepening/shared.d.ts.map +1 -1
- package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
- package/dist/audit/orchestrator/staleness.js +32 -40
- package/dist/audit/orchestrator/staleness.js.map +1 -1
- package/dist/audit/orchestrator/state.d.ts.map +1 -1
- package/dist/audit/orchestrator/state.js +8 -14
- package/dist/audit/orchestrator/state.js.map +1 -1
- package/dist/audit/orchestrator/systemicChallengeExecutor.d.ts +19 -0
- package/dist/audit/orchestrator/systemicChallengeExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/systemicChallengeExecutor.js +15 -1
- package/dist/audit/orchestrator/systemicChallengeExecutor.js.map +1 -1
- package/dist/audit/reporting/criticalFlowFallbackPrompt.d.ts +1 -1
- package/dist/audit/reporting/criticalFlowFallbackPrompt.d.ts.map +1 -1
- package/dist/audit/reporting/criticalFlowFallbackPrompt.js +4 -2
- package/dist/audit/reporting/criticalFlowFallbackPrompt.js.map +1 -1
- package/dist/audit/reporting/mergeFindings.d.ts.map +1 -1
- package/dist/audit/reporting/mergeFindings.js +43 -2
- package/dist/audit/reporting/mergeFindings.js.map +1 -1
- package/dist/audit/types/auditScope.d.ts +2 -2
- package/dist/audit/types/auditState.d.ts +6 -6
- package/dist/audit/types/conceptualAdjudication.d.ts +19 -19
- package/dist/audit/types/conceptualAdjudication.d.ts.map +1 -1
- package/dist/audit/types/conceptualAdjudication.js +3 -3
- package/dist/audit/types/conceptualAdjudication.js.map +1 -1
- package/dist/audit/types.d.ts +17 -19
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/audit/types.js +19 -20
- package/dist/audit/types.js.map +1 -1
- package/dist/remediate/contractPipeline/artifactStore.d.ts +3 -1
- package/dist/remediate/contractPipeline/artifactStore.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/artifactStore.js +26 -31
- package/dist/remediate/contractPipeline/artifactStore.js.map +1 -1
- package/dist/remediate/contractPipeline/changeClassification.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/changeClassification.js +20 -8
- package/dist/remediate/contractPipeline/changeClassification.js.map +1 -1
- package/dist/remediate/contractPipeline/contractReviewBinding.d.ts +28 -0
- package/dist/remediate/contractPipeline/contractReviewBinding.d.ts.map +1 -0
- package/dist/remediate/contractPipeline/contractReviewBinding.js +75 -0
- package/dist/remediate/contractPipeline/contractReviewBinding.js.map +1 -0
- package/dist/remediate/contractPipeline/repairState.d.ts +3 -1
- package/dist/remediate/contractPipeline/repairState.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/repairState.js +1 -0
- package/dist/remediate/contractPipeline/repairState.js.map +1 -1
- package/dist/remediate/contractPipeline/sketchSource.d.ts +1 -0
- package/dist/remediate/contractPipeline/sketchSource.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/sketchSource.js +1 -0
- package/dist/remediate/contractPipeline/sketchSource.js.map +1 -1
- package/dist/remediate/dedup/crossLensDedup.d.ts +1 -2
- package/dist/remediate/dedup/crossLensDedup.d.ts.map +1 -1
- package/dist/remediate/dedup/crossLensDedup.js +1 -0
- package/dist/remediate/dedup/crossLensDedup.js.map +1 -1
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +92 -52
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/intake.d.ts +54 -0
- package/dist/remediate/intake.d.ts.map +1 -1
- package/dist/remediate/intake.js +15 -1
- package/dist/remediate/intake.js.map +1 -1
- package/dist/remediate/intakeSelection.d.ts +27 -0
- package/dist/remediate/intakeSelection.d.ts.map +1 -0
- package/dist/remediate/intakeSelection.js +37 -0
- package/dist/remediate/intakeSelection.js.map +1 -0
- package/dist/remediate/intent/intentPersistence.d.ts +41 -0
- package/dist/remediate/intent/intentPersistence.d.ts.map +1 -0
- package/dist/remediate/intent/intentPersistence.js +129 -0
- package/dist/remediate/intent/intentPersistence.js.map +1 -0
- package/dist/remediate/phases/close.d.ts +2 -1
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +19 -2
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/phases/closeReviewProvenance.d.ts +4 -0
- package/dist/remediate/phases/closeReviewProvenance.d.ts.map +1 -0
- package/dist/remediate/phases/closeReviewProvenance.js +16 -0
- package/dist/remediate/phases/closeReviewProvenance.js.map +1 -0
- package/dist/remediate/phases/triage.d.ts.map +1 -1
- package/dist/remediate/phases/triage.js +3 -1
- package/dist/remediate/phases/triage.js.map +1 -1
- package/dist/remediate/review/filterDispositions.d.ts +13 -0
- package/dist/remediate/review/filterDispositions.d.ts.map +1 -0
- package/dist/remediate/review/filterDispositions.js +32 -0
- package/dist/remediate/review/filterDispositions.js.map +1 -0
- package/dist/remediate/state/runIdentity.d.ts +27 -0
- package/dist/remediate/state/runIdentity.d.ts.map +1 -0
- package/dist/remediate/state/runIdentity.js +38 -0
- package/dist/remediate/state/runIdentity.js.map +1 -0
- package/dist/remediate/state/store.d.ts +80 -1
- package/dist/remediate/state/store.d.ts.map +1 -1
- package/dist/remediate/state/store.js +82 -1
- package/dist/remediate/state/store.js.map +1 -1
- package/dist/remediate/state/types.d.ts +215 -42
- package/dist/remediate/state/types.d.ts.map +1 -1
- package/dist/remediate/state/types.js +11 -3
- package/dist/remediate/state/types.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +61 -3
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +121 -47
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.d.ts +27 -4
- package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js +34 -32
- package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
- package/dist/remediate/steps/dispatch/contractConformanceReview.d.ts +31 -0
- package/dist/remediate/steps/dispatch/contractConformanceReview.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/contractConformanceReview.js +98 -0
- package/dist/remediate/steps/dispatch/contractConformanceReview.js.map +1 -0
- package/dist/remediate/steps/dispatch/hostContracts.d.ts +133 -0
- package/dist/remediate/steps/dispatch/hostContracts.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/hostContracts.js +104 -0
- package/dist/remediate/steps/dispatch/hostContracts.js.map +1 -0
- package/dist/remediate/steps/dispatch/hostCorroboration.d.ts +70 -0
- package/dist/remediate/steps/dispatch/hostCorroboration.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/hostCorroboration.js +350 -0
- package/dist/remediate/steps/dispatch/hostCorroboration.js.map +1 -0
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts +8 -162
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +137 -690
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/dispatch/requiredTests.d.ts +83 -0
- package/dist/remediate/steps/dispatch/requiredTests.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/requiredTests.js +262 -0
- package/dist/remediate/steps/dispatch/requiredTests.js.map +1 -0
- package/dist/remediate/steps/finalGate.d.ts +8 -7
- package/dist/remediate/steps/finalGate.d.ts.map +1 -1
- package/dist/remediate/steps/finalGate.js +14 -11
- package/dist/remediate/steps/finalGate.js.map +1 -1
- package/dist/remediate/steps/frictionCloseout.d.ts +34 -0
- package/dist/remediate/steps/frictionCloseout.d.ts.map +1 -0
- package/dist/remediate/steps/frictionCloseout.js +113 -0
- package/dist/remediate/steps/frictionCloseout.js.map +1 -0
- package/dist/remediate/steps/gateCommands.d.ts +7 -9
- package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
- package/dist/remediate/steps/gateCommands.js +37 -11
- package/dist/remediate/steps/gateCommands.js.map +1 -1
- package/dist/remediate/steps/intakeResolver.d.ts +2 -0
- package/dist/remediate/steps/intakeResolver.d.ts.map +1 -1
- package/dist/remediate/steps/intakeResolver.js +36 -11
- package/dist/remediate/steps/intakeResolver.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +23 -110
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +232 -508
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/prompts.d.ts +1 -1
- package/dist/remediate/steps/prompts.d.ts.map +1 -1
- package/dist/remediate/steps/prompts.js +7 -2
- package/dist/remediate/steps/prompts.js.map +1 -1
- package/dist/remediate/steps/recoverIngest.d.ts +57 -0
- package/dist/remediate/steps/recoverIngest.d.ts.map +1 -0
- package/dist/remediate/steps/recoverIngest.js +171 -0
- package/dist/remediate/steps/recoverIngest.js.map +1 -0
- package/dist/remediate/steps/stepWriter.d.ts +5 -4
- package/dist/remediate/steps/stepWriter.d.ts.map +1 -1
- package/dist/remediate/steps/stepWriter.js +2 -1
- package/dist/remediate/steps/stepWriter.js.map +1 -1
- package/dist/remediate/steps/types.d.ts +2 -3
- package/dist/remediate/steps/types.d.ts.map +1 -1
- package/dist/remediate/steps/types.js.map +1 -1
- package/dist/remediate/validation/artifacts.d.ts.map +1 -1
- package/dist/remediate/validation/artifacts.js +5 -12
- package/dist/remediate/validation/artifacts.js.map +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipeline.js +10 -7
- package/dist/remediate/validation/contractPipeline.js.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.d.ts +13 -67
- package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.js +65 -139
- package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
- package/dist/remediate/validation/remediationState.d.ts.map +1 -1
- package/dist/remediate/validation/remediationState.js +9 -3
- package/dist/remediate/validation/remediationState.js.map +1 -1
- package/dist/shared/agentReflections.d.ts +2 -2
- package/dist/shared/analyzerPolicy.d.ts +2 -16
- package/dist/shared/analyzerPolicy.d.ts.map +1 -1
- package/dist/shared/analyzerPolicy.js +22 -24
- package/dist/shared/analyzerPolicy.js.map +1 -1
- package/dist/shared/analyzerRunConsent.d.ts +33 -0
- package/dist/shared/analyzerRunConsent.d.ts.map +1 -0
- package/dist/shared/analyzerRunConsent.js +42 -0
- package/dist/shared/analyzerRunConsent.js.map +1 -0
- package/dist/shared/analyzers/acquisitionEngine.d.ts +3 -8
- package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.js +1 -0
- package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
- package/dist/shared/decompose/charterExtraction.d.ts +8 -8
- package/dist/shared/decompose/systemicChallenge.d.ts +12 -12
- package/dist/shared/engine/obligationEngine.d.ts +2 -2
- package/dist/shared/findings/dedupe.d.ts.map +1 -1
- package/dist/shared/findings/dedupe.js +16 -0
- package/dist/shared/findings/dedupe.js.map +1 -1
- package/dist/shared/graph/orderedReachability.d.ts +9 -0
- package/dist/shared/graph/orderedReachability.d.ts.map +1 -0
- package/dist/shared/graph/orderedReachability.js +21 -0
- package/dist/shared/graph/orderedReachability.js.map +1 -0
- package/dist/shared/index.d.ts +9 -3
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +6 -3
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/intake/guidanceBootstrap.d.ts +2 -0
- package/dist/shared/intake/guidanceBootstrap.d.ts.map +1 -1
- package/dist/shared/intake/guidanceBootstrap.js +10 -1
- package/dist/shared/intake/guidanceBootstrap.js.map +1 -1
- package/dist/shared/intent/constraintClauses.d.ts +3 -0
- package/dist/shared/intent/constraintClauses.d.ts.map +1 -1
- package/dist/shared/intent/constraintClauses.js +9 -0
- package/dist/shared/intent/constraintClauses.js.map +1 -1
- package/dist/shared/io/artifactTreeHold.d.ts +5 -0
- package/dist/shared/io/artifactTreeHold.d.ts.map +1 -0
- package/dist/shared/io/artifactTreeHold.js +13 -0
- package/dist/shared/io/artifactTreeHold.js.map +1 -0
- package/dist/shared/io/auditToolsPaths.d.ts +3 -1
- package/dist/shared/io/auditToolsPaths.d.ts.map +1 -1
- package/dist/shared/io/auditToolsPaths.js +6 -1
- package/dist/shared/io/auditToolsPaths.js.map +1 -1
- package/dist/shared/io/collectFilesSorted.d.ts +10 -0
- package/dist/shared/io/collectFilesSorted.d.ts.map +1 -0
- package/dist/shared/io/collectFilesSorted.js +38 -0
- package/dist/shared/io/collectFilesSorted.js.map +1 -0
- package/dist/shared/io/json.d.ts.map +1 -1
- package/dist/shared/io/json.js +11 -4
- package/dist/shared/io/json.js.map +1 -1
- package/dist/shared/io/stepContractWriter.d.ts.map +1 -1
- package/dist/shared/io/stepContractWriter.js +8 -0
- package/dist/shared/io/stepContractWriter.js.map +1 -1
- package/dist/shared/loopCorePaths.d.ts.map +1 -1
- package/dist/shared/loopCorePaths.js +9 -0
- package/dist/shared/loopCorePaths.js.map +1 -1
- package/dist/shared/observability/rootLogObservations.d.ts +10 -0
- package/dist/shared/observability/rootLogObservations.d.ts.map +1 -0
- package/dist/shared/observability/rootLogObservations.js +147 -0
- package/dist/shared/observability/rootLogObservations.js.map +1 -0
- package/dist/shared/prompts.d.ts +11 -9
- package/dist/shared/prompts.d.ts.map +1 -1
- package/dist/shared/prompts.js +18 -13
- package/dist/shared/prompts.js.map +1 -1
- package/dist/shared/submission/submissionLedger.d.ts +7 -1
- package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
- package/dist/shared/submission/submissionLedger.js +8 -0
- package/dist/shared/submission/submissionLedger.js.map +1 -1
- package/dist/shared/tooling/testCommand.d.ts +1 -0
- package/dist/shared/tooling/testCommand.d.ts.map +1 -1
- package/dist/shared/tooling/testCommand.js +4 -0
- package/dist/shared/tooling/testCommand.js.map +1 -1
- package/dist/shared/types/charter.d.ts +8 -8
- package/dist/shared/types/conceptualPerspective.d.ts +66 -0
- package/dist/shared/types/conceptualPerspective.d.ts.map +1 -0
- package/dist/shared/types/conceptualPerspective.js +135 -0
- package/dist/shared/types/conceptualPerspective.js.map +1 -0
- package/dist/shared/types/contractPipeline/design.d.ts +5 -0
- package/dist/shared/types/contractPipeline/design.d.ts.map +1 -1
- package/dist/shared/types/contractPipeline/design.js +6 -0
- package/dist/shared/types/contractPipeline/design.js.map +1 -1
- package/dist/shared/types/contractPipeline/implementation.d.ts +54 -0
- package/dist/shared/types/contractPipeline/implementation.d.ts.map +1 -1
- package/dist/shared/types/contractPipeline/implementation.js +10 -5
- package/dist/shared/types/contractPipeline/implementation.js.map +1 -1
- package/dist/shared/types/contractPipeline/obligations.d.ts +21 -10
- package/dist/shared/types/contractPipeline/obligations.d.ts.map +1 -1
- package/dist/shared/types/contractPipeline/obligations.js +13 -1
- package/dist/shared/types/contractPipeline/obligations.js.map +1 -1
- package/dist/shared/types/disposition.d.ts +6 -6
- package/dist/shared/types/finding.d.ts +50 -50
- package/dist/shared/types/intentCheckpoint.d.ts +66 -11
- package/dist/shared/types/intentCheckpoint.d.ts.map +1 -1
- package/dist/shared/types/intentCheckpoint.js +10 -2
- package/dist/shared/types/intentCheckpoint.js.map +1 -1
- package/dist/shared/types/remediationOutcome.d.ts +252 -24
- package/dist/shared/types/remediationOutcome.d.ts.map +1 -1
- package/dist/shared/types/remediationOutcome.js +4 -0
- package/dist/shared/types/remediationOutcome.js.map +1 -1
- package/dist/shared/types/reviewIndependence.d.ts +225 -0
- package/dist/shared/types/reviewIndependence.d.ts.map +1 -0
- package/dist/shared/types/reviewIndependence.js +67 -0
- package/dist/shared/types/reviewIndependence.js.map +1 -0
- package/dist/shared/types/stepContract.d.ts +8 -2
- package/dist/shared/types/stepContract.d.ts.map +1 -1
- package/dist/shared/types/stepContract.js +4 -1
- package/dist/shared/types/stepContract.js.map +1 -1
- package/dist/shared/validation/findingsReport.d.ts.map +1 -1
- package/dist/shared/validation/findingsReport.js +13 -0
- package/dist/shared/validation/findingsReport.js.map +1 -1
- package/docs/audit-pkg/contracts.md +38 -2
- package/docs/audit-pkg/operator-guide.md +59 -4
- package/package.json +5 -6
- package/skills/audit-code/audit-code.prompt.md +1 -31
- package/skills/remediate-code/remediate-code.prompt.md +12 -6
package/dist/shared/prompts.js
CHANGED
|
@@ -33,9 +33,8 @@ export const DISPATCH_PROMPT_HANDOFF_NOTE = "For each subagent, pass its `prompt
|
|
|
33
33
|
* CP-BLOCK-IMPL-mandatory-independent-critic). The mandate keys on what the lane
|
|
34
34
|
* IS (an adversarial review of work an agent authored), not on what the host
|
|
35
35
|
* reports it can do: one capability-neutral text carries both the mandate and
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* strength. Single-sourced so audit-code and remediate-code stay in parity.
|
|
36
|
+
* an explicit unavailable pause, so the same artifact renders on every host
|
|
37
|
+
* and an author self-review is never licensed at full strength. Single-sourced so audit-code and remediate-code stay in parity.
|
|
39
38
|
*
|
|
40
39
|
* ⚠ THE MANDATE STATES THE NEED, NEVER A MECHANISM. It used to say "dispatch it
|
|
41
40
|
* to a fresh, independent sub-agent", which names one way to get independence
|
|
@@ -44,16 +43,17 @@ export const DISPATCH_PROMPT_HANDOFF_NOTE = "For each subagent, pass its `prompt
|
|
|
44
43
|
* contract-pipeline fan-out carried; see `module_contract_drafting`'s "what this
|
|
45
44
|
* work needs" line in contractPipeline.ts). Independence is a property of the
|
|
46
45
|
* CONTEXT, so that is what the text requires and the host owns the mechanism.
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* independence recorded in the output.
|
|
46
|
+
* Required independent review has no self-review escape. Degraded review is
|
|
47
|
+
* available only through an explicit role policy, and its provenance is recorded.
|
|
50
48
|
*
|
|
51
49
|
* `depth: "light"` is remediate's proportionate low-risk floor (T1 slice 3) — a
|
|
52
50
|
* lightweight inline self-check, never skipped; it is a DEPTH policy, orthogonal
|
|
53
51
|
* to capability, and stays.
|
|
54
52
|
*/
|
|
55
|
-
export function renderIndependentReviewMandate(depth) {
|
|
56
|
-
if (
|
|
53
|
+
export function renderIndependentReviewMandate(depth, requirement = depth === "light" ? "degraded_allowed" : "independent") {
|
|
54
|
+
if (requirement === "ordinary")
|
|
55
|
+
return "";
|
|
56
|
+
if (requirement === "degraded_allowed") {
|
|
57
57
|
return `\n## Adversarial Review — light inline self-check
|
|
58
58
|
|
|
59
59
|
The assessed risk for this change is low, so this adversarial phase runs as a **lightweight inline self-check** rather than a full independent review. Do a quick, honest adversarial pass yourself: scan the design for obvious gaps, contradictions, or unhandled cases and record any real concern you find. Keep it proportionate — this is a floor (never skipped), not an exhaustive independent counterexample search. If your self-check surfaces a genuine concern, treat that as evidence the change is harder than assessed and escalate to a full independent review.
|
|
@@ -63,18 +63,19 @@ The assessed risk for this change is low, so this adversarial phase runs as a **
|
|
|
63
63
|
|
|
64
64
|
This is an adversarial review lane: its value comes from a reviewer who is **not** the author of the work under review. **What this needs is an independent context** — a review produced without shared authorship of the work and without the author's reasoning in view. An author grading their own work systematically misses the gaps this lane exists to catch, and that failure is a property of sharing the authorship, not of any particular execution mechanism.
|
|
65
65
|
|
|
66
|
-
Produce the review from a context that did not author the work and cannot see the author's reasoning — the host chooses how that context is obtained. If
|
|
66
|
+
Produce the review from a context that did not author the work and cannot see the author's reasoning — the host chooses how that context is obtained. If an independent context is unavailable, report unavailable and pause. Self-review or degraded review cannot satisfy this required lane. Record how the context meets this requirement in the bound review declaration; that declaration is evidence supplied by the host, not proof of reviewer identity.
|
|
67
67
|
`;
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
70
|
* Capability-neutral fan-out execution instruction (design resolution 2,
|
|
71
71
|
* 2026-08-05): every fan-out step materializes its lane prompt files and hands
|
|
72
72
|
* the host ONE instruction that reads identically in every environment —
|
|
73
|
-
*
|
|
74
|
-
* the concurrency hint is capability-sensitive. Lane prompt files are
|
|
73
|
+
* sequential self-execution is available unless the lane requires independence.
|
|
74
|
+
* Only the concurrency hint is capability-sensitive. Lane prompt files are
|
|
75
75
|
* ADVANCE-FREE (no continue-command inside them); the step prompt owns the
|
|
76
76
|
* advance. Single-sourced so audit-code and remediate-code stay in parity.
|
|
77
77
|
*/
|
|
78
|
+
// sites-pinned: tests/shared/prompts.test.ts tests/audit/systemic-round-identity.test.ts
|
|
78
79
|
export function renderFanoutExecutionLines(params) {
|
|
79
80
|
const n = params.lanes.length;
|
|
80
81
|
// Defensive coherence: emitters gate on pending work before rendering, so a
|
|
@@ -94,7 +95,9 @@ export function renderFanoutExecutionLines(params) {
|
|
|
94
95
|
]
|
|
95
96
|
: [];
|
|
96
97
|
return [
|
|
97
|
-
|
|
98
|
+
(params.independenceRequired || params.lanes.some(lane => lane.reviewRequirement === "independent"))
|
|
99
|
+
? `Execute the ${n} lane prompt file${plural} below in an independent context that did not drive this audit. The host chooses how to obtain that context. If none is available, stop and report that this review could not be performed independently. Do not write a result or run the continue command in that case; this overrides the output and continuation instructions below. An unavailable review is not an empty findings result.`
|
|
100
|
+
: `Execute the ${n} lane prompt file${plural} below: dispatch one subagent per file if a subagent facility exists, else read and follow each file sequentially yourself. The same files and result paths apply either way.`,
|
|
98
101
|
"",
|
|
99
102
|
...concurrency,
|
|
100
103
|
...(params.lanes.some((lane) => lane.demand !== undefined)
|
|
@@ -109,7 +112,9 @@ export function renderFanoutExecutionLines(params) {
|
|
|
109
112
|
: "") +
|
|
110
113
|
(lane.resultPath ? ` → write results to ${lane.resultPath}` : "")),
|
|
111
114
|
"",
|
|
112
|
-
|
|
115
|
+
(params.independenceRequired || params.lanes.some(lane => lane.reviewRequirement === "independent"))
|
|
116
|
+
? "Pass each lane's prompt path verbatim to its independent executor. Lane prompt files carry no continue-command; return here once the independently produced lane results exist."
|
|
117
|
+
: "When dispatching a lane to a subagent, pass its prompt path verbatim as the instruction — do not read the lane file into this conversation. When executing a lane yourself, read and follow its file directly. Lane prompt files carry no continue-command; return here once the lane results exist.",
|
|
113
118
|
];
|
|
114
119
|
}
|
|
115
120
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/shared/prompts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/shared/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MeasuredOutcome } from "../measurement/measuredOutcome.js";
|
|
2
2
|
import type { SubmissionIssueCode } from "./submissionClassifier.js";
|
|
3
3
|
export declare const SUBMISSION_LEDGER_EVENT_CONTRACT_VERSION: "submission-ledger-event/v1alpha1";
|
|
4
|
-
export declare const SUBMISSION_EVENT_KINDS: readonly ["expected", "accepted", "rejected", "recovered_by_hand", "accepted_via_recovery", "removed_by_operator", "dispatched", "lane_outcome"];
|
|
4
|
+
export declare const SUBMISSION_EVENT_KINDS: readonly ["expected", "accepted", "rejected", "recovered_by_hand", "accepted_via_recovery", "removed_by_operator", "dispatched", "review_declared", "prompt_bound", "lane_outcome"];
|
|
5
5
|
export type SubmissionEventKind = (typeof SUBMISSION_EVENT_KINDS)[number];
|
|
6
6
|
/** The kinds {@link isIngestEvent} admits, in declaration order. */
|
|
7
7
|
export declare const INGEST_EVENT_KINDS: readonly SubmissionEventKind[];
|
|
@@ -60,6 +60,12 @@ export interface SubmissionLedgerEvent<TIssueCode extends string = SubmissionIss
|
|
|
60
60
|
* `recoveryMarkMatches`).
|
|
61
61
|
*/
|
|
62
62
|
readonly landed_commit?: string;
|
|
63
|
+
readonly review_requirement?: string;
|
|
64
|
+
readonly review_mode?: string;
|
|
65
|
+
readonly review_reason?: string;
|
|
66
|
+
readonly prompt_sha256?: string;
|
|
67
|
+
readonly prompt_path?: string;
|
|
68
|
+
readonly content_sha256?: string;
|
|
63
69
|
/** ISO-8601. A faithful event record is allowed to say when. */
|
|
64
70
|
readonly recorded_at: string;
|
|
65
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submissionLedger.d.ts","sourceRoot":"","sources":["../../../src/shared/submission/submissionLedger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"submissionLedger.d.ts","sourceRoot":"","sources":["../../../src/shared/submission/submissionLedger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// sites-pinned: tests/audit/review-submission.test.ts, tests/audit/submission-staging.test.ts, tests/audit/host-handoff-unaccept-results.test.ts
|
|
1
2
|
/**
|
|
2
3
|
* The append-only record of what happened to each submission.
|
|
3
4
|
*
|
|
@@ -64,6 +65,10 @@ export const SUBMISSION_EVENT_KINDS = [
|
|
|
64
65
|
* events.
|
|
65
66
|
*/
|
|
66
67
|
"dispatched",
|
|
68
|
+
/** A prompt-bound host declaration was validated; domain acceptance is recorded separately. */
|
|
69
|
+
"review_declared",
|
|
70
|
+
/** Current prompt binding, separate from the count of dispatched lanes. */
|
|
71
|
+
"prompt_bound",
|
|
67
72
|
/**
|
|
68
73
|
* What a dispatched lane actually delivered, observed once at the fold that
|
|
69
74
|
* ingests its round's terminal submission. Carries `outcome`. A `dispatched`
|
|
@@ -91,6 +96,8 @@ const EVENT_KIND_IS_INGEST = {
|
|
|
91
96
|
expected: false,
|
|
92
97
|
// Facts about dispatch and delivery; the tool consumed nothing.
|
|
93
98
|
dispatched: false,
|
|
99
|
+
review_declared: false,
|
|
100
|
+
prompt_bound: false,
|
|
94
101
|
lane_outcome: false,
|
|
95
102
|
accepted: true,
|
|
96
103
|
rejected: true,
|
|
@@ -162,6 +169,7 @@ const SUBMISSION_LEDGER_EVENT_STRING_FIELDS = [
|
|
|
162
169
|
"message",
|
|
163
170
|
"round_id",
|
|
164
171
|
"landed_commit",
|
|
172
|
+
"review_requirement", "review_mode", "review_reason", "prompt_sha256", "prompt_path", "content_sha256",
|
|
165
173
|
"outcome",
|
|
166
174
|
];
|
|
167
175
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submissionLedger.js","sourceRoot":"","sources":["../../../src/shared/submission/submissionLedger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,MAAM,CAAC,MAAM,wCAAwC,GACnD,kCAA2C,CAAC;AAE9C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,yDAAyD;IACzD,UAAU;IACV,kDAAkD;IAClD,UAAU;IACV,oEAAoE;IACpE,UAAU;IACV,4EAA4E;IAC5E,mBAAmB;IACnB;;;;;;OAMG;IACH,uBAAuB;IACvB;;;;;;;OAOG;IACH,qBAAqB;IACrB;;;;;;;;;;;;;;OAcG;IACH,YAAY;IACZ;;;;;;OAMG;IACH,cAAc;CACN,CAAC;AAIX,sGAAsG;AACtG;;;;;;;;;;;GAWG;AACH,MAAM,oBAAoB,GAAyC;IACjE,gCAAgC;IAChC,QAAQ,EAAE,KAAK;IACf,gEAAgE;IAChE,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,IAAI;IAC3B,yEAAyE;IACzE,0DAA0D;IAC1D,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEF,oEAAoE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAyB;IACrD,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;
|
|
1
|
+
{"version":3,"file":"submissionLedger.js","sourceRoot":"","sources":["../../../src/shared/submission/submissionLedger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testCommand.d.ts","sourceRoot":"","sources":["../../../src/shared/tooling/testCommand.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"testCommand.d.ts","sourceRoot":"","sources":["../../../src/shared/tooling/testCommand.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAoFD;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,MAA+B,GACvC,OAAO,CA4BT;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAqCrE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// sites-pinned: tests/shared/testCommand.test.ts, tests/remediate/arbitrary-repository-gates.test.ts
|
|
1
2
|
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
2
3
|
import { join } from "node:path";
|
|
3
4
|
// npm script names, in preference order, for each command role.
|
|
@@ -136,6 +137,9 @@ export function discoverProjectCommands(root) {
|
|
|
136
137
|
const build = pickScript(scripts, BUILD_SCRIPT_NAMES);
|
|
137
138
|
if (build)
|
|
138
139
|
result.build = build;
|
|
140
|
+
const typecheck = pickScript(scripts, ["typecheck", "check:types"]);
|
|
141
|
+
if (typecheck)
|
|
142
|
+
result.typecheck = typecheck;
|
|
139
143
|
const lint = pickScript(scripts, LINT_SCRIPT_NAMES);
|
|
140
144
|
if (lint)
|
|
141
145
|
result.lint = lint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testCommand.js","sourceRoot":"","sources":["../../../src/shared/tooling/testCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"testCommand.js","sourceRoot":"","sources":["../../../src/shared/tooling/testCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -754,7 +754,7 @@ export declare const CharterDifferenceSchema: z.ZodEffects<z.ZodObject<{
|
|
|
754
754
|
}[];
|
|
755
755
|
}[];
|
|
756
756
|
difference_id: string;
|
|
757
|
-
dimension: "
|
|
757
|
+
dimension: "scope" | "purpose" | "presence" | "responsibility" | "hierarchy" | "standing" | "standard";
|
|
758
758
|
relation: "equivalent" | "complementary" | "incompatible";
|
|
759
759
|
gap: string;
|
|
760
760
|
routed_to: "remediator" | "clarification" | "human" | "none";
|
|
@@ -784,7 +784,7 @@ export declare const CharterDifferenceSchema: z.ZodEffects<z.ZodObject<{
|
|
|
784
784
|
}[];
|
|
785
785
|
}[];
|
|
786
786
|
difference_id: string;
|
|
787
|
-
dimension: "
|
|
787
|
+
dimension: "scope" | "purpose" | "presence" | "responsibility" | "hierarchy" | "standing" | "standard";
|
|
788
788
|
relation: "equivalent" | "complementary" | "incompatible";
|
|
789
789
|
gap: string;
|
|
790
790
|
routed_to: "remediator" | "clarification" | "human" | "none";
|
|
@@ -814,7 +814,7 @@ export declare const CharterDifferenceSchema: z.ZodEffects<z.ZodObject<{
|
|
|
814
814
|
}[];
|
|
815
815
|
}[];
|
|
816
816
|
difference_id: string;
|
|
817
|
-
dimension: "
|
|
817
|
+
dimension: "scope" | "purpose" | "presence" | "responsibility" | "hierarchy" | "standing" | "standard";
|
|
818
818
|
relation: "equivalent" | "complementary" | "incompatible";
|
|
819
819
|
gap: string;
|
|
820
820
|
routed_to: "remediator" | "clarification" | "human" | "none";
|
|
@@ -844,7 +844,7 @@ export declare const CharterDifferenceSchema: z.ZodEffects<z.ZodObject<{
|
|
|
844
844
|
}[];
|
|
845
845
|
}[];
|
|
846
846
|
difference_id: string;
|
|
847
|
-
dimension: "
|
|
847
|
+
dimension: "scope" | "purpose" | "presence" | "responsibility" | "hierarchy" | "standing" | "standard";
|
|
848
848
|
relation: "equivalent" | "complementary" | "incompatible";
|
|
849
849
|
gap: string;
|
|
850
850
|
routed_to: "remediator" | "clarification" | "human" | "none";
|
|
@@ -974,7 +974,7 @@ export declare const CharterDifferenceQuestionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
974
974
|
}[];
|
|
975
975
|
}[];
|
|
976
976
|
difference_id: string;
|
|
977
|
-
dimension: "
|
|
977
|
+
dimension: "scope" | "purpose" | "presence" | "responsibility" | "hierarchy" | "standing" | "standard";
|
|
978
978
|
relation: "equivalent" | "complementary" | "incompatible";
|
|
979
979
|
request_id: string;
|
|
980
980
|
question: string;
|
|
@@ -1004,7 +1004,7 @@ export declare const CharterDifferenceQuestionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1004
1004
|
}[];
|
|
1005
1005
|
}[];
|
|
1006
1006
|
difference_id: string;
|
|
1007
|
-
dimension: "
|
|
1007
|
+
dimension: "scope" | "purpose" | "presence" | "responsibility" | "hierarchy" | "standing" | "standard";
|
|
1008
1008
|
relation: "equivalent" | "complementary" | "incompatible";
|
|
1009
1009
|
request_id: string;
|
|
1010
1010
|
question: string;
|
|
@@ -1034,7 +1034,7 @@ export declare const CharterDifferenceQuestionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1034
1034
|
}[];
|
|
1035
1035
|
}[];
|
|
1036
1036
|
difference_id: string;
|
|
1037
|
-
dimension: "
|
|
1037
|
+
dimension: "scope" | "purpose" | "presence" | "responsibility" | "hierarchy" | "standing" | "standard";
|
|
1038
1038
|
relation: "equivalent" | "complementary" | "incompatible";
|
|
1039
1039
|
request_id: string;
|
|
1040
1040
|
question: string;
|
|
@@ -1064,7 +1064,7 @@ export declare const CharterDifferenceQuestionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1064
1064
|
}[];
|
|
1065
1065
|
}[];
|
|
1066
1066
|
difference_id: string;
|
|
1067
|
-
dimension: "
|
|
1067
|
+
dimension: "scope" | "purpose" | "presence" | "responsibility" | "hierarchy" | "standing" | "standard";
|
|
1068
1068
|
relation: "equivalent" | "complementary" | "incompatible";
|
|
1069
1069
|
request_id: string;
|
|
1070
1070
|
question: string;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export interface ConceptualPerspective {
|
|
3
|
+
name: string;
|
|
4
|
+
/** The value system this reviewer judges the codebase through. */
|
|
5
|
+
lens: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Built-in conceptual perspectives. Each is a maximally dissimilar value system
|
|
9
|
+
* so the union covers angles no single pass would. A reviewer may sharpen its
|
|
10
|
+
* lens to the codebase, but stays in character.
|
|
11
|
+
*
|
|
12
|
+
* ORDER CARRIES NO MEANING. This list used to be documented as "ordered
|
|
13
|
+
* most-to-least commonly useful", and the fan-out took the first N — which made
|
|
14
|
+
* the last entries unreachable at any narrowed count. That ranking was never
|
|
15
|
+
* measured: findings record a `lens`, never the perspective that produced them,
|
|
16
|
+
* so nothing in this repo can say which reviewer contributes what. The claim was
|
|
17
|
+
* removed rather than re-stated (owner, 2026-08-30), and per-perspective
|
|
18
|
+
* attribution is the work that would let a future ordering be earned.
|
|
19
|
+
*/
|
|
20
|
+
export declare const CONCEPTUAL_PERSPECTIVES: readonly ConceptualPerspective[];
|
|
21
|
+
/**
|
|
22
|
+
* Default number of deep-review perspectives when the host does not specify: the
|
|
23
|
+
* WHOLE roster.
|
|
24
|
+
*
|
|
25
|
+
* It was 5 against a 7-entry roster, with no recorded reason — the constant never
|
|
26
|
+
* arrived in a commit of its own, and its comment only restated its own name. A
|
|
27
|
+
* default that silently drops two reviewers is a judgement about which reviewers
|
|
28
|
+
* matter least, and nothing measures that (see the roster note above). Derived
|
|
29
|
+
* from the roster length so adding a perspective cannot silently re-introduce a
|
|
30
|
+
* cut. An operator who wants a cheaper run still narrows the count explicitly,
|
|
31
|
+
* which is a choice they made rather than one made for them.
|
|
32
|
+
*/
|
|
33
|
+
export declare const DEFAULT_CONCEPTUAL_PERSPECTIVES: number;
|
|
34
|
+
/**
|
|
35
|
+
* Clamp a requested perspective count into the supported range: at least 2
|
|
36
|
+
* (one perspective is just a shallow review) and at most the number of built-in
|
|
37
|
+
* perspectives. Non-finite / undefined ⇒ the default.
|
|
38
|
+
*/
|
|
39
|
+
export declare function clampPerspectiveCount(requested?: number): number;
|
|
40
|
+
/**
|
|
41
|
+
* `count` (clamped) built-in perspectives for a deep fan-out, with the two required
|
|
42
|
+
* perspectives reserved and the remaining slots filled in roster order.
|
|
43
|
+
*
|
|
44
|
+
* Emission stays in ROSTER order rather than required-first, so the prompt sequence
|
|
45
|
+
* an operator sees does not change shape — only its membership does. The clamp floor
|
|
46
|
+
* of 2 is exactly the reserved count, so the guarantee holds at every legal count.
|
|
47
|
+
*/
|
|
48
|
+
export declare function selectPerspectives(selection?: ConceptualPerspectiveSelection): ConceptualPerspective[];
|
|
49
|
+
export declare const ConceptualPerspectiveSelectionSchema: z.ZodEffects<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
50
|
+
name: z.ZodString;
|
|
51
|
+
lens: z.ZodString;
|
|
52
|
+
}, "strict", z.ZodTypeAny, {
|
|
53
|
+
name: string;
|
|
54
|
+
lens: string;
|
|
55
|
+
}, {
|
|
56
|
+
name: string;
|
|
57
|
+
lens: string;
|
|
58
|
+
}>]>, "many">, (string | {
|
|
59
|
+
name: string;
|
|
60
|
+
lens: string;
|
|
61
|
+
})[], (string | {
|
|
62
|
+
name: string;
|
|
63
|
+
lens: string;
|
|
64
|
+
})[]>;
|
|
65
|
+
export type ConceptualPerspectiveSelection = number | z.infer<typeof ConceptualPerspectiveSelectionSchema>;
|
|
66
|
+
//# sourceMappingURL=conceptualPerspective.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conceptualPerspective.d.ts","sourceRoot":"","sources":["../../../src/shared/types/conceptualPerspective.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,qBAAqB,EAoCnE,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,+BAA+B,QAAiC,CAAC;AAE9E;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAKhE;AA0BD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,8BAA8B,GAAG,qBAAqB,EAAE,CAiBtG;AAKD,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;KAY/C,CAAC;AACH,MAAM,MAAM,8BAA8B,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
// sites-pinned: tests/audit/conceptual-perspective-round-identity.test.ts, tests/audit/review-submission.test.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
/**
|
|
4
|
+
* Built-in conceptual perspectives. Each is a maximally dissimilar value system
|
|
5
|
+
* so the union covers angles no single pass would. A reviewer may sharpen its
|
|
6
|
+
* lens to the codebase, but stays in character.
|
|
7
|
+
*
|
|
8
|
+
* ORDER CARRIES NO MEANING. This list used to be documented as "ordered
|
|
9
|
+
* most-to-least commonly useful", and the fan-out took the first N — which made
|
|
10
|
+
* the last entries unreachable at any narrowed count. That ranking was never
|
|
11
|
+
* measured: findings record a `lens`, never the perspective that produced them,
|
|
12
|
+
* so nothing in this repo can say which reviewer contributes what. The claim was
|
|
13
|
+
* removed rather than re-stated (owner, 2026-08-30), and per-perspective
|
|
14
|
+
* attribution is the work that would let a future ordering be earned.
|
|
15
|
+
*/
|
|
16
|
+
export const CONCEPTUAL_PERSPECTIVES = [
|
|
17
|
+
{
|
|
18
|
+
name: "Pragmatist",
|
|
19
|
+
lens: "Does this actually work for users? What's the shortest path to value? Flag anything that adds ceremony or indirection without earning its keep.",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: "Mathematician seeking elegance",
|
|
23
|
+
lens: "Minimal complexity, orthogonal abstractions, no redundancy. Flag overlapping concepts that should be unified and abstractions that fail to compose.",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: "Short attention span",
|
|
27
|
+
lens: "Frustrated by anything taking >30 seconds to understand. If a design can't be explained simply, it's too complex. Flag cognitive-load hotspots and implicit knowledge.",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: "Novelty-seeker",
|
|
31
|
+
lens: "Always hunting for the latest tool, pattern, or library that could replace hand-rolled machinery. Flag wheels being reinvented and standards being ignored.",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: "Adversary",
|
|
35
|
+
lens: "What could go wrong, what's fragile, what breaks under pressure or at scale? Flag failure modes the happy path quietly assumes away.",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: "Maintainer inheriting this cold",
|
|
39
|
+
lens: "A new engineer six months from now with no context. Flag what would take longest to learn, what's implicit, and what has no obvious entry point.",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: "Minimalist",
|
|
43
|
+
lens: "What could be deleted entirely? Flag features, layers, and options that exist but earn little, and capabilities that duplicate one another.",
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
/**
|
|
47
|
+
* Default number of deep-review perspectives when the host does not specify: the
|
|
48
|
+
* WHOLE roster.
|
|
49
|
+
*
|
|
50
|
+
* It was 5 against a 7-entry roster, with no recorded reason — the constant never
|
|
51
|
+
* arrived in a commit of its own, and its comment only restated its own name. A
|
|
52
|
+
* default that silently drops two reviewers is a judgement about which reviewers
|
|
53
|
+
* matter least, and nothing measures that (see the roster note above). Derived
|
|
54
|
+
* from the roster length so adding a perspective cannot silently re-introduce a
|
|
55
|
+
* cut. An operator who wants a cheaper run still narrows the count explicitly,
|
|
56
|
+
* which is a choice they made rather than one made for them.
|
|
57
|
+
*/
|
|
58
|
+
export const DEFAULT_CONCEPTUAL_PERSPECTIVES = CONCEPTUAL_PERSPECTIVES.length;
|
|
59
|
+
/**
|
|
60
|
+
* Clamp a requested perspective count into the supported range: at least 2
|
|
61
|
+
* (one perspective is just a shallow review) and at most the number of built-in
|
|
62
|
+
* perspectives. Non-finite / undefined ⇒ the default.
|
|
63
|
+
*/
|
|
64
|
+
export function clampPerspectiveCount(requested) {
|
|
65
|
+
if (requested === undefined || !Number.isFinite(requested)) {
|
|
66
|
+
return DEFAULT_CONCEPTUAL_PERSPECTIVES;
|
|
67
|
+
}
|
|
68
|
+
return Math.max(2, Math.min(CONCEPTUAL_PERSPECTIVES.length, Math.floor(requested)));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The two perspectives a deep fan-out must ALWAYS contain, whatever the count:
|
|
72
|
+
* structural simplification and the purpose/telos challenge. They are named, not
|
|
73
|
+
* indexed, so reordering the roster cannot silently drop one.
|
|
74
|
+
*
|
|
75
|
+
* WHY THIS EXISTS, stated accurately. Selection was `slice(0, count)` over the
|
|
76
|
+
* roster in list order, and that slice was DELIBERATE — the roster documented
|
|
77
|
+
* itself as ranked by usefulness, so taking the first N was the intended design,
|
|
78
|
+
* not an oversight. An earlier version of this comment called it accidental
|
|
79
|
+
* starvation; that was wrong.
|
|
80
|
+
*
|
|
81
|
+
* What was never true is the RANKING the slice relied on. Nothing measured it,
|
|
82
|
+
* and nothing can today: findings carry a `lens`, never the perspective that
|
|
83
|
+
* produced them. The default now covers the whole roster, so this reservation
|
|
84
|
+
* binds only when an operator deliberately narrows the count — and then it keeps
|
|
85
|
+
* the two perspectives this workflow is built around rather than whichever two
|
|
86
|
+
* an unmeasured ordering happened to favour. Matched by NAME, so reordering the
|
|
87
|
+
* roster cannot silently drop one.
|
|
88
|
+
*/
|
|
89
|
+
const REQUIRED_PERSPECTIVE_NAMES = [
|
|
90
|
+
"Mathematician seeking elegance",
|
|
91
|
+
"Minimalist",
|
|
92
|
+
];
|
|
93
|
+
/**
|
|
94
|
+
* `count` (clamped) built-in perspectives for a deep fan-out, with the two required
|
|
95
|
+
* perspectives reserved and the remaining slots filled in roster order.
|
|
96
|
+
*
|
|
97
|
+
* Emission stays in ROSTER order rather than required-first, so the prompt sequence
|
|
98
|
+
* an operator sees does not change shape — only its membership does. The clamp floor
|
|
99
|
+
* of 2 is exactly the reserved count, so the guarantee holds at every legal count.
|
|
100
|
+
*/
|
|
101
|
+
export function selectPerspectives(selection) {
|
|
102
|
+
if (Array.isArray(selection)) {
|
|
103
|
+
return ConceptualPerspectiveSelectionSchema.parse(selection).map((entry) => {
|
|
104
|
+
if (typeof entry !== "string")
|
|
105
|
+
return entry;
|
|
106
|
+
return CONCEPTUAL_PERSPECTIVES.find((perspective) => perspective.name === entry);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
const count = selection;
|
|
110
|
+
const limit = clampPerspectiveCount(count);
|
|
111
|
+
const chosen = new Set(CONCEPTUAL_PERSPECTIVES.filter((p) => REQUIRED_PERSPECTIVE_NAMES.includes(p.name)));
|
|
112
|
+
for (const perspective of CONCEPTUAL_PERSPECTIVES) {
|
|
113
|
+
if (chosen.size >= limit)
|
|
114
|
+
break;
|
|
115
|
+
chosen.add(perspective);
|
|
116
|
+
}
|
|
117
|
+
return CONCEPTUAL_PERSPECTIVES.filter((p) => chosen.has(p));
|
|
118
|
+
}
|
|
119
|
+
const perspectiveName = (name) => name.trim().toLocaleLowerCase("en-US");
|
|
120
|
+
const customPerspectiveSchema = z.object({ name: z.string().trim().min(1), lens: z.string().trim().min(1) }).strict();
|
|
121
|
+
export const ConceptualPerspectiveSelectionSchema = z.array(z.union([z.string().trim().min(1), customPerspectiveSchema])).min(1).superRefine((entries, context) => {
|
|
122
|
+
const used = new Set();
|
|
123
|
+
for (const [index, entry] of entries.entries()) {
|
|
124
|
+
const name = typeof entry === "string" ? entry : entry.name;
|
|
125
|
+
const key = perspectiveName(name);
|
|
126
|
+
const builtin = CONCEPTUAL_PERSPECTIVES.find((perspective) => perspectiveName(perspective.name) === key);
|
|
127
|
+
if ((typeof entry === "string" && (!builtin || builtin.name !== name)) || (typeof entry !== "string" && builtin)) {
|
|
128
|
+
context.addIssue({ code: z.ZodIssueCode.custom, path: [index], message: typeof entry === "string" ? "Use an exact built-in perspective name or a custom {name, lens} definition." : "Custom perspective names must not collide with built-in names." });
|
|
129
|
+
}
|
|
130
|
+
if (used.has(key))
|
|
131
|
+
context.addIssue({ code: z.ZodIssueCode.custom, path: [index], message: "Perspective names must be unique." });
|
|
132
|
+
used.add(key);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
//# sourceMappingURL=conceptualPerspective.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conceptualPerspective.js","sourceRoot":"","sources":["../../../src/shared/types/conceptualPerspective.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,9 @@ export interface DesignSpec {
|
|
|
55
55
|
/** Optional: structured trust-boundary annotations (id, untrusted_inputs, validation_ref). */
|
|
56
56
|
trust_boundaries?: DesignSpecTrustBoundary[];
|
|
57
57
|
}
|
|
58
|
+
/** The owning artifacts a conceptual critique can ask to repair. */
|
|
59
|
+
export declare const CONCEPTUAL_CRITIQUE_REPAIR_TARGETS: readonly ["finalized_module_contracts", "module_decomposition"];
|
|
60
|
+
export type ConceptualCritiqueRepairTarget = typeof CONCEPTUAL_CRITIQUE_REPAIR_TARGETS[number];
|
|
58
61
|
/** Philosophy/alternatives/directions critique of the proposed design. */
|
|
59
62
|
export interface DesignCritiqueItem {
|
|
60
63
|
id: string;
|
|
@@ -66,6 +69,8 @@ export interface ConceptualDesignCritique {
|
|
|
66
69
|
contract_version: typeof CONTRACT_PIPELINE_CONCEPTUAL_DESIGN_CRITIQUE_VERSION;
|
|
67
70
|
goal_id: string;
|
|
68
71
|
items: DesignCritiqueItem[];
|
|
72
|
+
/** Absent legacy reports repair finalized interfaces; scope/module changes name decomposition. */
|
|
73
|
+
repair_target?: ConceptualCritiqueRepairTarget;
|
|
69
74
|
/** Overall assessment of the design. */
|
|
70
75
|
verdict: "approved" | "approved_with_concerns" | "rejected";
|
|
71
76
|
/** ISO-8601 timestamp when this critique was created. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/contractPipeline/design.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/contractPipeline/design.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKrD,eAAO,MAAM,qCAAqC,EAChD,uDAAgE,CAAC;AAEnE,eAAO,MAAM,oDAAoD,EAC/D,sEAA+E,CAAC;AAGlF,YAAY,EAAE,eAAe,EAAE,CAAC;AAIhC,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,6EAA6E;AAC7E,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,sFAAsF;AACtF,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,qGAAqG;AACrG,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,OAAO,qCAAqC,CAAC;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,sDAAsD;IACtD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,gEAAgE;IAChE,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC,oFAAoF;IACpF,qBAAqB,CAAC,EAAE,4BAA4B,EAAE,CAAC;IACvD,8FAA8F;IAC9F,gBAAgB,CAAC,EAAE,uBAAuB,EAAE,CAAC;CAC9C;AAID,oEAAoE;AACpE,eAAO,MAAM,kCAAkC,iEAEE,CAAC;AAClD,MAAM,MAAM,8BAA8B,GAAG,OAAO,kCAAkC,CAAC,MAAM,CAAC,CAAC;AAE/F,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,YAAY,CAAC;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,OAAO,oDAAoD,CAAC;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,kGAAkG;IAClG,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAC/C,wCAAwC;IACxC,OAAO,EAAE,UAAU,GAAG,wBAAwB,GAAG,UAAU,CAAC;IAC5D,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// sites-pinned: tests/remediate/contract-pipeline-adversarial.test.ts, tests/remediate/step-prompt-sketch-drift.test.ts
|
|
1
2
|
/**
|
|
2
3
|
* Contract-pipeline artifact: design phase.
|
|
3
4
|
*
|
|
@@ -7,4 +8,9 @@
|
|
|
7
8
|
// ── Version constants ────────────────────────────────────────────────────────
|
|
8
9
|
export const CONTRACT_PIPELINE_DESIGN_SPEC_VERSION = "remediate-code-contract-pipeline/design-spec/v1alpha1";
|
|
9
10
|
export const CONTRACT_PIPELINE_CONCEPTUAL_DESIGN_CRITIQUE_VERSION = "remediate-code-contract-pipeline/conceptual-design-critique/v1alpha1";
|
|
11
|
+
// ── ConceptualDesignCritique ──────────────────────────────────────────────────
|
|
12
|
+
/** The owning artifacts a conceptual critique can ask to repair. */
|
|
13
|
+
export const CONCEPTUAL_CRITIQUE_REPAIR_TARGETS = [
|
|
14
|
+
"finalized_module_contracts", "module_decomposition",
|
|
15
|
+
];
|
|
10
16
|
//# sourceMappingURL=design.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design.js","sourceRoot":"","sources":["../../../../src/shared/types/contractPipeline/design.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"design.js","sourceRoot":"","sources":["../../../../src/shared/types/contractPipeline/design.ts"],"names":[],"mappings":"AAAA,wHAAwH;AACxH;;;;;GAKG;AAKH,gFAAgF;AAEhF,MAAM,CAAC,MAAM,qCAAqC,GAChD,uDAAgE,CAAC;AAEnE,MAAM,CAAC,MAAM,oDAAoD,GAC/D,sEAA+E,CAAC;AA4DlF,iFAAiF;AAEjF,oEAAoE;AACpE,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,4BAA4B,EAAE,sBAAsB;CACL,CAAC"}
|