audit-tools 0.44.0 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -2
- package/dist/audit/cli/charterExtractionPrompt.d.ts.map +1 -1
- package/dist/audit/cli/charterExtractionPrompt.js +11 -1
- package/dist/audit/cli/charterExtractionPrompt.js.map +1 -1
- package/dist/audit/cli/cleanupCommand.d.ts +25 -0
- package/dist/audit/cli/cleanupCommand.d.ts.map +1 -1
- package/dist/audit/cli/cleanupCommand.js +69 -0
- package/dist/audit/cli/cleanupCommand.js.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts +64 -3
- package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.js +247 -99
- package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
- package/dist/audit/cli/dispatch/packetFilter.d.ts +1 -1
- package/dist/audit/cli/dispatch.d.ts +1 -1
- package/dist/audit/cli/dispatch.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.js +1 -1
- package/dist/audit/cli/dispatch.js.map +1 -1
- package/dist/audit/cli/fanoutLanes.d.ts.map +1 -1
- package/dist/audit/cli/fanoutLanes.js +6 -1
- package/dist/audit/cli/fanoutLanes.js.map +1 -1
- package/dist/audit/cli/laneSubmissions.d.ts +16 -2
- package/dist/audit/cli/laneSubmissions.d.ts.map +1 -1
- package/dist/audit/cli/laneSubmissions.js +38 -27
- 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 +9 -6
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +39 -4
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +132 -42
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/reviewRun.d.ts +1 -1
- package/dist/audit/cli/reviewRun.d.ts.map +1 -1
- package/dist/audit/cli/reviewRun.js +2 -9
- package/dist/audit/cli/reviewRun.js.map +1 -1
- package/dist/audit/cli/sampleRunCommand.d.ts.map +1 -1
- package/dist/audit/cli/sampleRunCommand.js +12 -1
- package/dist/audit/cli/sampleRunCommand.js.map +1 -1
- package/dist/audit/cli/semanticReviewStep.d.ts +5 -2
- package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
- package/dist/audit/cli/semanticReviewStep.js +28 -1
- package/dist/audit/cli/semanticReviewStep.js.map +1 -1
- package/dist/audit/cli/steps.d.ts +6 -6
- package/dist/audit/cli/unacceptResultsCommand.d.ts +18 -0
- package/dist/audit/cli/unacceptResultsCommand.d.ts.map +1 -0
- package/dist/audit/cli/unacceptResultsCommand.js +49 -0
- package/dist/audit/cli/unacceptResultsCommand.js.map +1 -0
- package/dist/audit/cli.d.ts +6 -0
- package/dist/audit/cli.d.ts.map +1 -1
- package/dist/audit/cli.js +34 -59
- package/dist/audit/cli.js.map +1 -1
- package/dist/audit/contracts/findingContractPrompt.d.ts +11 -0
- package/dist/audit/contracts/findingContractPrompt.d.ts.map +1 -0
- package/dist/audit/contracts/findingContractPrompt.js +112 -0
- package/dist/audit/contracts/findingContractPrompt.js.map +1 -0
- package/dist/audit/contracts/workerSchemas.d.ts +106 -42
- package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
- package/dist/audit/contracts/workerSchemas.js +16 -7
- package/dist/audit/contracts/workerSchemas.js.map +1 -1
- package/dist/audit/contracts/wrapperResponse.d.ts +52 -28
- package/dist/audit/contracts/wrapperResponse.d.ts.map +1 -1
- package/dist/audit/contracts/wrapperResponse.js +8 -5
- package/dist/audit/contracts/wrapperResponse.js.map +1 -1
- package/dist/audit/decompose/sources.d.ts.map +1 -1
- package/dist/audit/decompose/sources.js +21 -5
- package/dist/audit/decompose/sources.js.map +1 -1
- package/dist/audit/extractors/analyzers/registry.d.ts +8 -5
- package/dist/audit/extractors/analyzers/registry.d.ts.map +1 -1
- package/dist/audit/extractors/analyzers/registry.js +28 -7
- package/dist/audit/extractors/analyzers/registry.js.map +1 -1
- package/dist/audit/extractors/designAssessment.js +1 -1
- package/dist/audit/extractors/gitHistory.d.ts +1 -1
- package/dist/audit/extractors/gitHistory.js +1 -1
- package/dist/audit/extractors/graph.d.ts +1 -1
- package/dist/audit/extractors/graph.js +1 -1
- package/dist/audit/extractors/risk.d.ts +1 -1
- package/dist/audit/extractors/risk.js +1 -1
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +5 -5
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts +11 -6
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.js +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.js.map +1 -1
- package/dist/audit/orchestrator/advance.d.ts +14 -10
- package/dist/audit/orchestrator/advance.d.ts.map +1 -1
- package/dist/audit/orchestrator/advance.js +49 -24
- package/dist/audit/orchestrator/advance.js.map +1 -1
- package/dist/audit/orchestrator/advanceTypes.d.ts +14 -0
- package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
- package/dist/audit/orchestrator/autoFixExecutor.d.ts +20 -1
- package/dist/audit/orchestrator/autoFixExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/autoFixExecutor.js +77 -15
- package/dist/audit/orchestrator/autoFixExecutor.js.map +1 -1
- package/dist/audit/orchestrator/dependencyMap.js +1 -1
- package/dist/audit/orchestrator/dependencyMap.js.map +1 -1
- package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
- package/dist/audit/orchestrator/executorRunners.js +18 -4
- package/dist/audit/orchestrator/executorRunners.js.map +1 -1
- package/dist/audit/orchestrator/executors.d.ts +54 -0
- package/dist/audit/orchestrator/executors.d.ts.map +1 -1
- package/dist/audit/orchestrator/executors.js +352 -0
- package/dist/audit/orchestrator/executors.js.map +1 -1
- package/dist/audit/orchestrator/hostInputPause.d.ts +20 -11
- package/dist/audit/orchestrator/hostInputPause.d.ts.map +1 -1
- package/dist/audit/orchestrator/hostInputPause.js +17 -11
- package/dist/audit/orchestrator/hostInputPause.js.map +1 -1
- package/dist/audit/orchestrator/localCommands.d.ts +24 -1
- package/dist/audit/orchestrator/localCommands.d.ts.map +1 -1
- package/dist/audit/orchestrator/localCommands.js +44 -9
- package/dist/audit/orchestrator/localCommands.js.map +1 -1
- package/dist/audit/orchestrator/nextStep.d.ts +13 -0
- package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
- package/dist/audit/orchestrator/nextStep.js +13 -0
- package/dist/audit/orchestrator/nextStep.js.map +1 -1
- package/dist/audit/orchestrator/requeueCommand.d.ts +1 -1
- package/dist/audit/orchestrator/runtimeCommand.d.ts +32 -1
- package/dist/audit/orchestrator/runtimeCommand.d.ts.map +1 -1
- package/dist/audit/orchestrator/runtimeCommand.js +90 -3
- package/dist/audit/orchestrator/runtimeCommand.js.map +1 -1
- package/dist/audit/orchestrator/structureExecutors.js +1 -1
- package/dist/audit/orchestrator/structureExecutors.js.map +1 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts +11 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.js +25 -9
- package/dist/audit/orchestrator/syntaxResolutionExecutor.js.map +1 -1
- package/dist/audit/supervisor/operatorHandoff.d.ts +0 -1
- package/dist/audit/supervisor/operatorHandoff.d.ts.map +1 -1
- package/dist/audit/supervisor/operatorHandoff.js +2 -1
- package/dist/audit/supervisor/operatorHandoff.js.map +1 -1
- package/dist/audit/types.d.ts +33 -19
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/audit/validation/auditResults.d.ts +39 -0
- package/dist/audit/validation/auditResults.d.ts.map +1 -1
- package/dist/audit/validation/auditResults.js +111 -53
- package/dist/audit/validation/auditResults.js.map +1 -1
- package/dist/audit/validation/ingestIssueCodes.d.ts +18 -0
- package/dist/audit/validation/ingestIssueCodes.d.ts.map +1 -0
- package/dist/audit/validation/ingestIssueCodes.js +26 -0
- package/dist/audit/validation/ingestIssueCodes.js.map +1 -0
- package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/derive.js +1 -0
- package/dist/remediate/contractPipeline/derive.js.map +1 -1
- package/dist/remediate/contractPipeline/semanticProjection.d.ts +5 -4
- package/dist/remediate/contractPipeline/semanticProjection.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/semanticProjection.js +34 -19
- package/dist/remediate/contractPipeline/semanticProjection.js.map +1 -1
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +3 -2
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/phases/close.d.ts +37 -2
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +100 -31
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.js +2 -2
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.js.map +1 -1
- package/dist/remediate/phases/triage.d.ts.map +1 -1
- package/dist/remediate/phases/triage.js +61 -19
- package/dist/remediate/phases/triage.js.map +1 -1
- package/dist/remediate/state/types.d.ts +15 -1
- package/dist/remediate/state/types.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +13 -0
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +82 -3
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +297 -139
- 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 +37 -7
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/types/options.d.ts +1 -1
- package/dist/shared/analyzers/acquisitionEngine.d.ts +61 -28
- package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.js +83 -24
- package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.d.ts +8 -2
- package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.js +4 -4
- package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
- package/dist/shared/constitutionalDocPaths.d.ts.map +1 -1
- package/dist/shared/constitutionalDocPaths.js +7 -0
- package/dist/shared/constitutionalDocPaths.js.map +1 -1
- package/dist/shared/decompose/systemicChallenge.d.ts +15 -1
- package/dist/shared/decompose/systemicChallenge.d.ts.map +1 -1
- package/dist/shared/engine/obligationEngine.d.ts +44 -3
- package/dist/shared/engine/obligationEngine.d.ts.map +1 -1
- package/dist/shared/engine/obligationEngine.js +53 -7
- package/dist/shared/engine/obligationEngine.js.map +1 -1
- package/dist/shared/findings/dedupe.d.ts.map +1 -1
- package/dist/shared/findings/dedupe.js +8 -0
- package/dist/shared/findings/dedupe.js.map +1 -1
- package/dist/shared/friction/frictionRecord.d.ts +42 -2
- package/dist/shared/friction/frictionRecord.d.ts.map +1 -1
- package/dist/shared/friction/frictionRecord.js +111 -3
- package/dist/shared/friction/frictionRecord.js.map +1 -1
- package/dist/shared/friction/triage.d.ts +15 -0
- package/dist/shared/friction/triage.d.ts.map +1 -1
- package/dist/shared/friction/triage.js +33 -2
- package/dist/shared/friction/triage.js.map +1 -1
- package/dist/shared/index.d.ts +16 -11
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +16 -9
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/io/fileLock.d.ts.map +1 -1
- package/dist/shared/io/fileLock.js +22 -3
- package/dist/shared/io/fileLock.js.map +1 -1
- package/dist/shared/io/frictionCapture.d.ts +73 -19
- package/dist/shared/io/frictionCapture.d.ts.map +1 -1
- package/dist/shared/io/frictionCapture.js +21 -30
- package/dist/shared/io/frictionCapture.js.map +1 -1
- package/dist/shared/io/lockedJsonStore.d.ts +24 -3
- package/dist/shared/io/lockedJsonStore.d.ts.map +1 -1
- package/dist/shared/io/lockedJsonStore.js +35 -7
- package/dist/shared/io/lockedJsonStore.js.map +1 -1
- package/dist/shared/io/stepContractWriter.d.ts +3 -3
- package/dist/shared/io/stepContractWriter.d.ts.map +1 -1
- package/dist/shared/io/stepContractWriter.js +97 -13
- package/dist/shared/io/stepContractWriter.js.map +1 -1
- package/dist/shared/submission/expectedSubmissions.d.ts +18 -0
- package/dist/shared/submission/expectedSubmissions.d.ts.map +1 -1
- package/dist/shared/submission/expectedSubmissions.js +17 -0
- package/dist/shared/submission/expectedSubmissions.js.map +1 -1
- package/dist/shared/submission/handRecovery.d.ts.map +1 -1
- package/dist/shared/submission/handRecovery.js +9 -11
- package/dist/shared/submission/handRecovery.js.map +1 -1
- package/dist/shared/submission/hostHandoffCore.d.ts +155 -0
- package/dist/shared/submission/hostHandoffCore.d.ts.map +1 -0
- package/dist/shared/submission/hostHandoffCore.js +210 -0
- package/dist/shared/submission/hostHandoffCore.js.map +1 -0
- package/dist/shared/submission/submissionClassifier.d.ts +4 -1
- 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 +16 -5
- package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
- package/dist/shared/submission/submissionLedger.js +42 -3
- package/dist/shared/submission/submissionLedger.js.map +1 -1
- package/dist/shared/tooling/commandShape.d.ts +29 -0
- package/dist/shared/tooling/commandShape.d.ts.map +1 -1
- package/dist/shared/tooling/commandShape.js +82 -10
- package/dist/shared/tooling/commandShape.js.map +1 -1
- package/dist/shared/tooling/exec.d.ts +32 -0
- package/dist/shared/tooling/exec.d.ts.map +1 -1
- package/dist/shared/tooling/exec.js +189 -0
- package/dist/shared/tooling/exec.js.map +1 -1
- package/dist/shared/types/finding.d.ts +132 -20
- package/dist/shared/types/finding.d.ts.map +1 -1
- package/dist/shared/types/finding.js +70 -63
- package/dist/shared/types/finding.js.map +1 -1
- package/docs/audit-pkg/contracts.md +8 -1
- package/docs/audit-pkg/operator-guide.md +13 -2
- package/docs/audit-pkg/product.md +22 -6
- package/package.json +10 -6
- package/schemas/audit-code-v1alpha1.schema.json +297 -0
- package/schemas/audit_result.schema.json +5 -1
- package/schemas/audit_results.schema.json +5 -1
- package/schemas/finding.schema.json +1 -1
- package/scripts/shared/install-host-assets.mjs +8 -5
- package/skills/audit-code/SKILL.md +4 -2
- package/skills/audit-code/audit-code.prompt.md +5 -2
- package/skills/audit-code/opencode-command-template.txt +1 -1
- package/wrapper/audit-code-wrapper-lib.mjs +82 -16
- package/wrapper/installer-verb-help.mjs +14 -4
- package/docs/audit-pkg/development.md +0 -113
- package/docs/audit-pkg/release.md +0 -140
|
@@ -5,7 +5,7 @@ export type FindingSeverity = z.infer<typeof FindingSeveritySchema>;
|
|
|
5
5
|
/** Canonical finding confidence vocabulary (most-confident-first). */
|
|
6
6
|
export declare const FindingConfidenceSchema: z.ZodEnum<["high", "medium", "low"]>;
|
|
7
7
|
export type FindingConfidence = z.infer<typeof FindingConfidenceSchema>;
|
|
8
|
-
export declare const
|
|
8
|
+
export declare const FindingLocationObjectSchema: z.ZodObject<{
|
|
9
9
|
path: z.ZodString;
|
|
10
10
|
line_start: z.ZodOptional<z.ZodNumber>;
|
|
11
11
|
line_end: z.ZodOptional<z.ZodNumber>;
|
|
@@ -35,6 +35,92 @@ export declare const FindingLocationSchema: z.ZodObject<{
|
|
|
35
35
|
quoted_text?: string | undefined;
|
|
36
36
|
hash_at_plan_time?: string | undefined;
|
|
37
37
|
}>;
|
|
38
|
+
/**
|
|
39
|
+
* THE one statement of each line-span rule (every draw, audit and remediate).
|
|
40
|
+
* Exported so the dispatch prompt's contract block renders the very sentences
|
|
41
|
+
* the schema enforces — {@link findingLocationLineIssues} emits these exact
|
|
42
|
+
* strings, so wording cannot drift between the check and the prompt.
|
|
43
|
+
*/
|
|
44
|
+
export declare const FINDING_LINE_START_INTEGER_RULE = "affected_files[].line_start must be an integer >= 1.";
|
|
45
|
+
export declare const FINDING_LINE_END_INTEGER_RULE = "affected_files[].line_end must be an integer >= 1.";
|
|
46
|
+
export declare const FINDING_LINE_ORDER_RULE = "affected_files: when both ends are cited, line_start must be less than or equal to line_end.";
|
|
47
|
+
/** One violated line-span rule, naming the field that violates it. */
|
|
48
|
+
export interface FindingLocationLineIssue {
|
|
49
|
+
field: "line_start" | "line_end";
|
|
50
|
+
message: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* THE one evaluation of the line-span rules: when a location cites lines at
|
|
54
|
+
* all, the span is 1-based integers with `line_start <= line_end`. Returns
|
|
55
|
+
* every violated rule with its statement.
|
|
56
|
+
*
|
|
57
|
+
* Consumed by BOTH ingestion doors so neither can drift from the other: the
|
|
58
|
+
* zod refinement ({@link refineFindingLocationLines}) turns these into schema
|
|
59
|
+
* issues at parse time, and the downstream audit-results validator walks the
|
|
60
|
+
* same function over its raw per-location records — the batch lane reaches
|
|
61
|
+
* that validator WITHOUT a worker-projection parse, so the check has to live
|
|
62
|
+
* there too, not only behind the parse.
|
|
63
|
+
*
|
|
64
|
+
* The fields stay `unknown`: callers hold everything from fully-parsed
|
|
65
|
+
* locations to raw JSON payloads, and the guards below are exactly what makes
|
|
66
|
+
* that honest.
|
|
67
|
+
*/
|
|
68
|
+
export declare function findingLocationLineIssues(location: {
|
|
69
|
+
line_start?: unknown;
|
|
70
|
+
line_end?: unknown;
|
|
71
|
+
}): readonly FindingLocationLineIssue[];
|
|
72
|
+
/**
|
|
73
|
+
* Applies {@link findingLocationLineIssues} as a zod refinement. Exported so
|
|
74
|
+
* every projection applies the SAME refinement — `.superRefine` wraps in
|
|
75
|
+
* ZodEffects, which cannot be re-`extend`ed, so each projection composes
|
|
76
|
+
* object + refinement itself rather than this file baking them together and
|
|
77
|
+
* freezing the shape.
|
|
78
|
+
*/
|
|
79
|
+
export declare const refineFindingLocationLines: (location: z.infer<typeof FindingLocationObjectSchema>, context: z.RefinementCtx) => void;
|
|
80
|
+
export declare const FindingLocationSchema: z.ZodEffects<z.ZodObject<{
|
|
81
|
+
path: z.ZodString;
|
|
82
|
+
line_start: z.ZodOptional<z.ZodNumber>;
|
|
83
|
+
line_end: z.ZodOptional<z.ZodNumber>;
|
|
84
|
+
symbol: z.ZodOptional<z.ZodString>;
|
|
85
|
+
/**
|
|
86
|
+
* Verbatim text copied from this span, exactly as it appears in the cited
|
|
87
|
+
* file. The tool re-reads the file and content-matches this quote
|
|
88
|
+
* (whitespace/CRLF-normalized, matched on content not line numbers) to ground
|
|
89
|
+
* the finding; a finding whose quote does not re-verify is marked ungrounded
|
|
90
|
+
* (S7 anti-hallucination — grounding the claim, not attesting the read).
|
|
91
|
+
*/
|
|
92
|
+
quoted_text: z.ZodOptional<z.ZodString>;
|
|
93
|
+
/** Content hash of the file when the finding was planned (remediator). */
|
|
94
|
+
hash_at_plan_time: z.ZodOptional<z.ZodString>;
|
|
95
|
+
}, "strip", z.ZodTypeAny, {
|
|
96
|
+
path: string;
|
|
97
|
+
symbol?: string | undefined;
|
|
98
|
+
line_start?: number | undefined;
|
|
99
|
+
line_end?: number | undefined;
|
|
100
|
+
quoted_text?: string | undefined;
|
|
101
|
+
hash_at_plan_time?: string | undefined;
|
|
102
|
+
}, {
|
|
103
|
+
path: string;
|
|
104
|
+
symbol?: string | undefined;
|
|
105
|
+
line_start?: number | undefined;
|
|
106
|
+
line_end?: number | undefined;
|
|
107
|
+
quoted_text?: string | undefined;
|
|
108
|
+
hash_at_plan_time?: string | undefined;
|
|
109
|
+
}>, {
|
|
110
|
+
path: string;
|
|
111
|
+
symbol?: string | undefined;
|
|
112
|
+
line_start?: number | undefined;
|
|
113
|
+
line_end?: number | undefined;
|
|
114
|
+
quoted_text?: string | undefined;
|
|
115
|
+
hash_at_plan_time?: string | undefined;
|
|
116
|
+
}, {
|
|
117
|
+
path: string;
|
|
118
|
+
symbol?: string | undefined;
|
|
119
|
+
line_start?: number | undefined;
|
|
120
|
+
line_end?: number | undefined;
|
|
121
|
+
quoted_text?: string | undefined;
|
|
122
|
+
hash_at_plan_time?: string | undefined;
|
|
123
|
+
}>;
|
|
38
124
|
export type FindingLocation = z.infer<typeof FindingLocationSchema>;
|
|
39
125
|
/**
|
|
40
126
|
* Result of re-verifying a finding's cited verbatim span against disk. Attached
|
|
@@ -185,7 +271,7 @@ export declare const FindingSchema: z.ZodObject<{
|
|
|
185
271
|
/** Audit lens; the auditor narrows this to its `Lens` union. */
|
|
186
272
|
lens: z.ZodString;
|
|
187
273
|
summary: z.ZodString;
|
|
188
|
-
affected_files: z.ZodArray<z.ZodObject<{
|
|
274
|
+
affected_files: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
189
275
|
path: z.ZodString;
|
|
190
276
|
line_start: z.ZodOptional<z.ZodNumber>;
|
|
191
277
|
line_end: z.ZodOptional<z.ZodNumber>;
|
|
@@ -214,6 +300,20 @@ export declare const FindingSchema: z.ZodObject<{
|
|
|
214
300
|
line_end?: number | undefined;
|
|
215
301
|
quoted_text?: string | undefined;
|
|
216
302
|
hash_at_plan_time?: string | undefined;
|
|
303
|
+
}>, {
|
|
304
|
+
path: string;
|
|
305
|
+
symbol?: string | undefined;
|
|
306
|
+
line_start?: number | undefined;
|
|
307
|
+
line_end?: number | undefined;
|
|
308
|
+
quoted_text?: string | undefined;
|
|
309
|
+
hash_at_plan_time?: string | undefined;
|
|
310
|
+
}, {
|
|
311
|
+
path: string;
|
|
312
|
+
symbol?: string | undefined;
|
|
313
|
+
line_start?: number | undefined;
|
|
314
|
+
line_end?: number | undefined;
|
|
315
|
+
quoted_text?: string | undefined;
|
|
316
|
+
hash_at_plan_time?: string | undefined;
|
|
217
317
|
}>, "many">;
|
|
218
318
|
impact: z.ZodOptional<z.ZodString>;
|
|
219
319
|
likelihood: z.ZodOptional<z.ZodString>;
|
|
@@ -467,22 +567,6 @@ export declare const FindingSchema: z.ZodObject<{
|
|
|
467
567
|
} | undefined;
|
|
468
568
|
}>;
|
|
469
569
|
export type Finding = z.infer<typeof FindingSchema>;
|
|
470
|
-
/**
|
|
471
|
-
* The finding contract as prompt lines, DERIVED from `FindingSchema` — the same
|
|
472
|
-
* schema result ingestion enforces, so the statement can never drift from the
|
|
473
|
-
* check.
|
|
474
|
-
*
|
|
475
|
-
* A dispatch prompt that says only "findings must satisfy the audit finding
|
|
476
|
-
* contract" leaves the host to remember or fetch the contract, and a measured
|
|
477
|
-
* lap lost four complete results to exactly that: findings missing the required
|
|
478
|
-
* per-finding `lens`, and `evidence`/`reproduction` submitted as a string where
|
|
479
|
-
* an array is required. Both classes are stated here.
|
|
480
|
-
*
|
|
481
|
-
* Memoized: the derivation is pure and the result is embedded in every work-item
|
|
482
|
-
* prompt (and therefore in every prompt hash), so it must be both cheap and
|
|
483
|
-
* byte-stable across a run.
|
|
484
|
-
*/
|
|
485
|
-
export declare function findingContractPromptLines(): readonly string[];
|
|
486
570
|
/** Report-level grouping of findings into parallelizable units of work. */
|
|
487
571
|
export declare const WorkBlockSchema: z.ZodObject<{
|
|
488
572
|
id: z.ZodString;
|
|
@@ -765,7 +849,7 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
|
|
|
765
849
|
/** Audit lens; the auditor narrows this to its `Lens` union. */
|
|
766
850
|
lens: z.ZodString;
|
|
767
851
|
summary: z.ZodString;
|
|
768
|
-
affected_files: z.ZodArray<z.ZodObject<{
|
|
852
|
+
affected_files: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
769
853
|
path: z.ZodString;
|
|
770
854
|
line_start: z.ZodOptional<z.ZodNumber>;
|
|
771
855
|
line_end: z.ZodOptional<z.ZodNumber>;
|
|
@@ -794,6 +878,20 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
|
|
|
794
878
|
line_end?: number | undefined;
|
|
795
879
|
quoted_text?: string | undefined;
|
|
796
880
|
hash_at_plan_time?: string | undefined;
|
|
881
|
+
}>, {
|
|
882
|
+
path: string;
|
|
883
|
+
symbol?: string | undefined;
|
|
884
|
+
line_start?: number | undefined;
|
|
885
|
+
line_end?: number | undefined;
|
|
886
|
+
quoted_text?: string | undefined;
|
|
887
|
+
hash_at_plan_time?: string | undefined;
|
|
888
|
+
}, {
|
|
889
|
+
path: string;
|
|
890
|
+
symbol?: string | undefined;
|
|
891
|
+
line_start?: number | undefined;
|
|
892
|
+
line_end?: number | undefined;
|
|
893
|
+
quoted_text?: string | undefined;
|
|
894
|
+
hash_at_plan_time?: string | undefined;
|
|
797
895
|
}>, "many">;
|
|
798
896
|
impact: z.ZodOptional<z.ZodString>;
|
|
799
897
|
likelihood: z.ZodOptional<z.ZodString>;
|
|
@@ -1181,7 +1279,7 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1181
1279
|
/** Audit lens; the auditor narrows this to its `Lens` union. */
|
|
1182
1280
|
lens: z.ZodString;
|
|
1183
1281
|
summary: z.ZodString;
|
|
1184
|
-
affected_files: z.ZodArray<z.ZodObject<{
|
|
1282
|
+
affected_files: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
1185
1283
|
path: z.ZodString;
|
|
1186
1284
|
line_start: z.ZodOptional<z.ZodNumber>;
|
|
1187
1285
|
line_end: z.ZodOptional<z.ZodNumber>;
|
|
@@ -1210,6 +1308,20 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1210
1308
|
line_end?: number | undefined;
|
|
1211
1309
|
quoted_text?: string | undefined;
|
|
1212
1310
|
hash_at_plan_time?: string | undefined;
|
|
1311
|
+
}>, {
|
|
1312
|
+
path: string;
|
|
1313
|
+
symbol?: string | undefined;
|
|
1314
|
+
line_start?: number | undefined;
|
|
1315
|
+
line_end?: number | undefined;
|
|
1316
|
+
quoted_text?: string | undefined;
|
|
1317
|
+
hash_at_plan_time?: string | undefined;
|
|
1318
|
+
}, {
|
|
1319
|
+
path: string;
|
|
1320
|
+
symbol?: string | undefined;
|
|
1321
|
+
line_start?: number | undefined;
|
|
1322
|
+
line_end?: number | undefined;
|
|
1323
|
+
quoted_text?: string | undefined;
|
|
1324
|
+
hash_at_plan_time?: string | undefined;
|
|
1213
1325
|
}>, "many">;
|
|
1214
1326
|
impact: z.ZodOptional<z.ZodString>;
|
|
1215
1327
|
likelihood: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finding.d.ts","sourceRoot":"","sources":["../../../src/shared/types/finding.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"finding.d.ts","sourceRoot":"","sources":["../../../src/shared/types/finding.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
// strict projection below (see `workerFindingSchema`). There is no longer a
|
|
11
11
|
// hand-written JSON schema to drift from these types.
|
|
12
12
|
import { z } from "zod";
|
|
13
|
-
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
14
13
|
import { AnalyzerLeadProvenanceSchema } from "../analyzers/provenance.js";
|
|
15
14
|
import { ContentCoherenceTraceSchema } from "../decompose/contentCoherence.js";
|
|
16
15
|
/** Canonical finding severity vocabulary (most-severe-first). */
|
|
@@ -23,10 +22,10 @@ export const FindingSeveritySchema = z.enum([
|
|
|
23
22
|
]);
|
|
24
23
|
/** Canonical finding confidence vocabulary (most-confident-first). */
|
|
25
24
|
export const FindingConfidenceSchema = z.enum(["high", "medium", "low"]);
|
|
26
|
-
export const
|
|
25
|
+
export const FindingLocationObjectSchema = z.object({
|
|
27
26
|
path: z.string(),
|
|
28
|
-
line_start: z.number().int().optional(),
|
|
29
|
-
line_end: z.number().int().optional(),
|
|
27
|
+
line_start: z.number().int().min(1).optional(),
|
|
28
|
+
line_end: z.number().int().min(1).optional(),
|
|
30
29
|
symbol: z.string().optional(),
|
|
31
30
|
/**
|
|
32
31
|
* Verbatim text copied from this span, exactly as it appears in the cited
|
|
@@ -39,6 +38,73 @@ export const FindingLocationSchema = z.object({
|
|
|
39
38
|
/** Content hash of the file when the finding was planned (remediator). */
|
|
40
39
|
hash_at_plan_time: z.string().optional(),
|
|
41
40
|
});
|
|
41
|
+
/**
|
|
42
|
+
* THE one statement of each line-span rule (every draw, audit and remediate).
|
|
43
|
+
* Exported so the dispatch prompt's contract block renders the very sentences
|
|
44
|
+
* the schema enforces — {@link findingLocationLineIssues} emits these exact
|
|
45
|
+
* strings, so wording cannot drift between the check and the prompt.
|
|
46
|
+
*/
|
|
47
|
+
export const FINDING_LINE_START_INTEGER_RULE = "affected_files[].line_start must be an integer >= 1.";
|
|
48
|
+
export const FINDING_LINE_END_INTEGER_RULE = "affected_files[].line_end must be an integer >= 1.";
|
|
49
|
+
export const FINDING_LINE_ORDER_RULE = "affected_files: when both ends are cited, line_start must be less than or equal to line_end.";
|
|
50
|
+
/**
|
|
51
|
+
* THE one evaluation of the line-span rules: when a location cites lines at
|
|
52
|
+
* all, the span is 1-based integers with `line_start <= line_end`. Returns
|
|
53
|
+
* every violated rule with its statement.
|
|
54
|
+
*
|
|
55
|
+
* Consumed by BOTH ingestion doors so neither can drift from the other: the
|
|
56
|
+
* zod refinement ({@link refineFindingLocationLines}) turns these into schema
|
|
57
|
+
* issues at parse time, and the downstream audit-results validator walks the
|
|
58
|
+
* same function over its raw per-location records — the batch lane reaches
|
|
59
|
+
* that validator WITHOUT a worker-projection parse, so the check has to live
|
|
60
|
+
* there too, not only behind the parse.
|
|
61
|
+
*
|
|
62
|
+
* The fields stay `unknown`: callers hold everything from fully-parsed
|
|
63
|
+
* locations to raw JSON payloads, and the guards below are exactly what makes
|
|
64
|
+
* that honest.
|
|
65
|
+
*/
|
|
66
|
+
export function findingLocationLineIssues(location) {
|
|
67
|
+
const issues = [];
|
|
68
|
+
if (location.line_start !== undefined &&
|
|
69
|
+
!Number.isInteger(location.line_start)) {
|
|
70
|
+
issues.push({
|
|
71
|
+
field: "line_start",
|
|
72
|
+
message: FINDING_LINE_START_INTEGER_RULE,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
if (location.line_end !== undefined && !Number.isInteger(location.line_end)) {
|
|
76
|
+
issues.push({
|
|
77
|
+
field: "line_end",
|
|
78
|
+
message: FINDING_LINE_END_INTEGER_RULE,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
if (Number.isInteger(location.line_start) &&
|
|
82
|
+
Number.isInteger(location.line_end) &&
|
|
83
|
+
Number(location.line_start) > Number(location.line_end)) {
|
|
84
|
+
issues.push({
|
|
85
|
+
field: "line_start",
|
|
86
|
+
message: FINDING_LINE_ORDER_RULE,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return issues;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Applies {@link findingLocationLineIssues} as a zod refinement. Exported so
|
|
93
|
+
* every projection applies the SAME refinement — `.superRefine` wraps in
|
|
94
|
+
* ZodEffects, which cannot be re-`extend`ed, so each projection composes
|
|
95
|
+
* object + refinement itself rather than this file baking them together and
|
|
96
|
+
* freezing the shape.
|
|
97
|
+
*/
|
|
98
|
+
export const refineFindingLocationLines = (location, context) => {
|
|
99
|
+
for (const issue of findingLocationLineIssues(location)) {
|
|
100
|
+
context.addIssue({
|
|
101
|
+
code: z.ZodIssueCode.custom,
|
|
102
|
+
path: [issue.field],
|
|
103
|
+
message: issue.message,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
export const FindingLocationSchema = FindingLocationObjectSchema.superRefine(refineFindingLocationLines);
|
|
42
108
|
/**
|
|
43
109
|
* Result of re-verifying a finding's cited verbatim span against disk. Attached
|
|
44
110
|
* by the auditor's grounding pass at ingest; a hallucinated or stale finding
|
|
@@ -152,65 +218,6 @@ export const FindingSchema = z.object({
|
|
|
152
218
|
*/
|
|
153
219
|
analyzer_provenance: AnalyzerLeadProvenanceSchema.optional().describe("Content-anchored identity of the analyzer lead this finding was born from. Copy it VERBATIM from the injected lead's provenance object; omit for findings not born from an analyzer lead."),
|
|
154
220
|
});
|
|
155
|
-
function describeFindingField(node) {
|
|
156
|
-
if (node === undefined)
|
|
157
|
-
return "value";
|
|
158
|
-
if (Array.isArray(node.enum)) {
|
|
159
|
-
return `one of ${node.enum.map((value) => String(value)).join("|")}`;
|
|
160
|
-
}
|
|
161
|
-
if (node.type === "array") {
|
|
162
|
-
const item = node.items;
|
|
163
|
-
if (item?.type === "object") {
|
|
164
|
-
const required = [...(item.required ?? [])].sort();
|
|
165
|
-
return required.length > 0
|
|
166
|
-
? `array of objects, each requiring ${required.join(" + ")}`
|
|
167
|
-
: "array of objects";
|
|
168
|
-
}
|
|
169
|
-
return typeof item?.type === "string" ? `array of ${item.type}s` : "array";
|
|
170
|
-
}
|
|
171
|
-
return typeof node.type === "string" ? node.type : "value";
|
|
172
|
-
}
|
|
173
|
-
let renderedFindingContract;
|
|
174
|
-
/**
|
|
175
|
-
* The finding contract as prompt lines, DERIVED from `FindingSchema` — the same
|
|
176
|
-
* schema result ingestion enforces, so the statement can never drift from the
|
|
177
|
-
* check.
|
|
178
|
-
*
|
|
179
|
-
* A dispatch prompt that says only "findings must satisfy the audit finding
|
|
180
|
-
* contract" leaves the host to remember or fetch the contract, and a measured
|
|
181
|
-
* lap lost four complete results to exactly that: findings missing the required
|
|
182
|
-
* per-finding `lens`, and `evidence`/`reproduction` submitted as a string where
|
|
183
|
-
* an array is required. Both classes are stated here.
|
|
184
|
-
*
|
|
185
|
-
* Memoized: the derivation is pure and the result is embedded in every work-item
|
|
186
|
-
* prompt (and therefore in every prompt hash), so it must be both cheap and
|
|
187
|
-
* byte-stable across a run.
|
|
188
|
-
*/
|
|
189
|
-
export function findingContractPromptLines() {
|
|
190
|
-
if (renderedFindingContract !== undefined)
|
|
191
|
-
return renderedFindingContract;
|
|
192
|
-
const schema = zodToJsonSchema(FindingSchema, {
|
|
193
|
-
$refStrategy: "none",
|
|
194
|
-
target: "jsonSchema7",
|
|
195
|
-
});
|
|
196
|
-
const properties = schema.properties ?? {};
|
|
197
|
-
const required = [...(schema.required ?? [])].sort();
|
|
198
|
-
const arrayFields = Object.entries(properties)
|
|
199
|
-
.filter(([, node]) => node.type === "array")
|
|
200
|
-
.map(([name]) => name)
|
|
201
|
-
.sort();
|
|
202
|
-
renderedFindingContract = [
|
|
203
|
-
"Finding contract — every entry of `findings` must carry these required fields: " +
|
|
204
|
-
required
|
|
205
|
-
.map((name) => `${name} (${describeFindingField(properties[name])})`)
|
|
206
|
-
.join(", ") +
|
|
207
|
-
".",
|
|
208
|
-
"These fields are JSON arrays whenever present, never a bare string or object: " +
|
|
209
|
-
arrayFields.join(", ") +
|
|
210
|
-
". A finding that fails this contract rejects the whole submission.",
|
|
211
|
-
];
|
|
212
|
-
return renderedFindingContract;
|
|
213
|
-
}
|
|
214
221
|
/** Report-level grouping of findings into parallelizable units of work. */
|
|
215
222
|
export const WorkBlockSchema = z.object({
|
|
216
223
|
id: z.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finding.js","sourceRoot":"","sources":["../../../src/shared/types/finding.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"finding.js","sourceRoot":"","sources":["../../../src/shared/types/finding.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,12 @@ top-level fields and verifies:
|
|
|
58
58
|
Malformed, fabricated, stale, or replayed-with-different-bytes records do not
|
|
59
59
|
advance the run. A byte-identical accepted replay is a no-op.
|
|
60
60
|
|
|
61
|
+
Per-result audit-results validation runs at acceptance, before the accepted
|
|
62
|
+
pair is written: a failing result is classified-rejected (warnings ride a
|
|
63
|
+
separate advisory channel, never the rejection list) and is re-read from its
|
|
64
|
+
bound path on the next `next-step`; `unaccept-results` removes an accepted
|
|
65
|
+
entry so its result is re-ingested from scratch.
|
|
66
|
+
|
|
61
67
|
## AuditResult
|
|
62
68
|
|
|
63
69
|
The normalized ingested form follows `schemas/audit_result.schema.json`.
|
|
@@ -80,7 +86,8 @@ audit-code validate-results --results /path/to/results.json
|
|
|
80
86
|
## Artifact bundle
|
|
81
87
|
|
|
82
88
|
Resumable state lives under `.audit-tools/audit/`. The registry-backed contract
|
|
83
|
-
in [`artifact-contract.md`](
|
|
89
|
+
in [`spec/audit/artifact-contract.md`](https://github.com/OhOkThisIsFine/audit-tools/blob/HEAD/spec/audit/artifact-contract.md)
|
|
90
|
+
(repository-only, so the link is absolute) covers the
|
|
84
91
|
complete set. Representative artifacts include repository and unit manifests,
|
|
85
92
|
file disposition, graph and critical-flow data, coverage, risk, audit tasks,
|
|
86
93
|
runtime validation, accepted host results, synthesis narrative, and the final
|
|
@@ -15,8 +15,11 @@ bootstraps the current repository with:
|
|
|
15
15
|
audit-code ensure --quiet
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
For setup repair or inspection, use
|
|
19
|
-
`audit-code
|
|
18
|
+
For setup repair or inspection, use the installer verbs, plus the
|
|
19
|
+
`audit-code prompt-path` helper. Their one home is
|
|
20
|
+
[`product.md`](product.md#supported-surfaces): the installer-verb block there is
|
|
21
|
+
generated from the module both bins read, and `audit-code <verb> --help` prints
|
|
22
|
+
the same summary plus its options.
|
|
20
23
|
|
|
21
24
|
The install surface includes the repo-local import prompt, getting-started
|
|
22
25
|
guide, manifest, and the host-specific command or skill files supported by the
|
|
@@ -67,6 +70,7 @@ audit-code validate-results
|
|
|
67
70
|
audit-code requeue
|
|
68
71
|
audit-code synthesize
|
|
69
72
|
audit-code resynthesize
|
|
73
|
+
audit-code unaccept-results --work-item <id> # repeatable, or --all
|
|
70
74
|
audit-code cleanup --dry-run
|
|
71
75
|
```
|
|
72
76
|
|
|
@@ -75,6 +79,13 @@ Lower-level `intake`, `plan`, `ingest-results`,
|
|
|
75
79
|
debugging and artifact recovery. Normal conversation use should stay on
|
|
76
80
|
`next-step`.
|
|
77
81
|
|
|
82
|
+
`audit-code unaccept-results` removes entries from the run's accepted
|
|
83
|
+
host-results pair — the supported way back out of an acceptance that turned out
|
|
84
|
+
bad (for example a result accepted before a validator change). It refuses a
|
|
85
|
+
pair it cannot validate, records each removal so a repaired run stays
|
|
86
|
+
distinguishable from a clean one, invalidates the persisted step contract, and
|
|
87
|
+
the next `next-step` re-reads the bound result files for the dropped items.
|
|
88
|
+
|
|
78
89
|
`audit-code cleanup` removes `.audit-tools/audit/` only when the persisted run
|
|
79
90
|
is complete or not started. Active, blocked, or missing-state runs are refused
|
|
80
91
|
unless the operator explicitly supplies `--force`; `--dry-run` previews the
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# Product
|
|
2
2
|
|
|
3
|
-
> Normative definition:
|
|
4
|
-
>
|
|
5
|
-
>
|
|
3
|
+
> Normative definition:
|
|
4
|
+
> [`spec/audit/audit-goals.md`](https://github.com/OhOkThisIsFine/audit-tools/blob/HEAD/spec/audit/audit-goals.md)
|
|
5
|
+
> — product identity, invariants, deterministic/LLM boundaries, and completion.
|
|
6
|
+
> This page is the product overview. (The `spec/` corpus is repository-only and
|
|
7
|
+
> is not part of the published package, so the link is absolute.)
|
|
6
8
|
|
|
7
9
|
## Canonical surface
|
|
8
10
|
|
|
@@ -26,9 +28,23 @@ The supported user-facing surfaces are:
|
|
|
26
28
|
1. `/audit-code` in conversation
|
|
27
29
|
2. `npm install -g audit-tools` as the one-time package install
|
|
28
30
|
3. `audit-code prompt-path` to locate the packaged prompt asset
|
|
29
|
-
4.
|
|
30
|
-
5. `audit-code
|
|
31
|
-
|
|
31
|
+
4. the installer verbs below, for bootstrap, repair, and post-install verification
|
|
32
|
+
5. `audit-code` as the repo-local backend fallback
|
|
33
|
+
|
|
34
|
+
<!-- BEGIN GENERATED CLI SURFACE — scripts/shared/generate-cli-surface.mjs — DO NOT EDIT BY HAND -->
|
|
35
|
+
|
|
36
|
+
> Rendered from `wrapper/installer-verb-help.mjs` — the module both shipped bins read to answer
|
|
37
|
+
> `<verb> --help`. Add a verb there and this list follows.
|
|
38
|
+
|
|
39
|
+
- `audit-code ensure` — lazily bootstraps repo-local /audit-code assets when they are missing or stale
|
|
40
|
+
- `audit-code install` — bootstraps /audit-code into supported repo-local host surfaces
|
|
41
|
+
- `audit-code install-host` — installs /audit-code into ONE named host surface (--host <name>)
|
|
42
|
+
- `audit-code verify-install` — smoke-tests the generated /audit-code host assets after an install
|
|
43
|
+
|
|
44
|
+
<!-- END GENERATED CLI SURFACE -->
|
|
45
|
+
|
|
46
|
+
This is the one home for that list — `operator-guide.md` points here rather than
|
|
47
|
+
restating it.
|
|
32
48
|
|
|
33
49
|
Anything below `dist/` is backend or development interface.
|
|
34
50
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "audit-tools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"description": "Provider-neutral code auditing and remediation workflows for arbitrary repositories.",
|
|
@@ -34,7 +34,9 @@
|
|
|
34
34
|
"scripts/shared/install-host-assets.mjs",
|
|
35
35
|
"opencode.json",
|
|
36
36
|
"README.md",
|
|
37
|
-
"docs/audit-pkg
|
|
37
|
+
"docs/audit-pkg/product.md",
|
|
38
|
+
"docs/audit-pkg/operator-guide.md",
|
|
39
|
+
"docs/audit-pkg/contracts.md"
|
|
38
40
|
],
|
|
39
41
|
"scripts": {
|
|
40
42
|
"postinstall": "node scripts/postinstall.mjs",
|
|
@@ -48,7 +50,7 @@
|
|
|
48
50
|
"test": "npm run build && node scripts/shared/run-vitest-gate.mjs",
|
|
49
51
|
"test:single": "npm run build && node scripts/shared/run-vitest-gate.mjs",
|
|
50
52
|
"verify:guards": "node scripts/shared/run-vitest-gate.mjs --retry=2 --exclude \"**/audit-code-completion-*.test.ts\" --exclude \"**/audit-code-wrapper-*.test.ts\" --exclude \"**/audit/next-step-core-*.test.ts\" --exclude \"**/seam-host-only-next-step.test.ts\" --exclude \"**/*-e2e.test.*\" --exclude \"**/next-step-implement-dispatch.test.ts\" --exclude \"**/next-step-pipeline-dispatch.test.ts\"",
|
|
51
|
-
"verify:checks": "node scripts/shared/profile-run.mjs verify-checks check:control-bytes check:version-gates check:guard-reach check:ci-trigger-paths check:offload-lanes check:loop-core-patterns check:constitutional-doc-paths check:runtime-artifact-names check:deadcode check:lint check:dup check:depgraph check:doc-manifest check:doc-links check:doc-code-citations check:gate-enumeration check:philosophy-brief check:nightly-routine-prompt check:handoff-roadmap check:backlog-index check:memory-citations check:backlog-budget check:backlog-status check:backlog-line-numbers check:tests build verify:hosts verify:remediate-hosts pack:smoke smoke:packaged-audit-code smoke:packaged-remediate-code",
|
|
53
|
+
"verify:checks": "node scripts/shared/profile-run.mjs verify-checks check:control-bytes check:version-gates check:guard-reach check:ci-trigger-paths check:offload-lanes check:loop-core-patterns check:constitutional-doc-paths check:runtime-artifact-names check:executor-producers check:cli-surface check:deadcode check:lint check:dup check:depgraph check:doc-manifest check:doc-links check:doc-code-citations check:gate-enumeration check:philosophy-brief check:nightly-routine-prompt check:handoff-roadmap check:backlog-index check:memory-citations check:backlog-budget check:backlog-status check:backlog-line-numbers check:tests build verify:hosts verify:remediate-hosts pack:smoke smoke:packaged-audit-code smoke:packaged-remediate-code",
|
|
52
54
|
"verify:release": "npm run verify:checks && node scripts/shared/run-vitest-gate.mjs && npm run smoke:linked-audit-code && npm run smoke:linked-remediate-code",
|
|
53
55
|
"check:control-bytes": "node scripts/check-control-bytes.mjs",
|
|
54
56
|
"check:guard-reach": "node scripts/check-guard-reach.mjs",
|
|
@@ -94,6 +96,8 @@
|
|
|
94
96
|
"check:offload-lanes": "node scripts/check-offload-lanes.mjs",
|
|
95
97
|
"check:backlog-line-numbers": "node scripts/check-backlog-line-numbers.mjs",
|
|
96
98
|
"check:runtime-artifact-names": "node scripts/shared/generate-runtime-artifact-names.mjs --check",
|
|
99
|
+
"check:executor-producers": "node scripts/shared/generate-executor-producers.mjs --check",
|
|
100
|
+
"check:cli-surface": "node scripts/shared/generate-cli-surface.mjs --check",
|
|
97
101
|
"generate:shard-baseline": "node scripts/shared/generate-vitest-shard-baseline.mjs"
|
|
98
102
|
},
|
|
99
103
|
"engines": {
|
|
@@ -102,6 +106,8 @@
|
|
|
102
106
|
"dependencies": {
|
|
103
107
|
"commander": "^13.0.0",
|
|
104
108
|
"smol-toml": "^1.6.1",
|
|
109
|
+
"tree-sitter-wasms": "^0.1.13",
|
|
110
|
+
"web-tree-sitter": "^0.25.10",
|
|
105
111
|
"yaml": "^2.9.0",
|
|
106
112
|
"zod": "^3.25.76",
|
|
107
113
|
"zod-to-json-schema": "^3.24.6"
|
|
@@ -117,11 +123,9 @@
|
|
|
117
123
|
"jscpd": "^5.0.14",
|
|
118
124
|
"knip": "^6.23.0",
|
|
119
125
|
"linguist-languages": "^9.3.2",
|
|
120
|
-
"tree-sitter-wasms": "^0.1.13",
|
|
121
126
|
"tsx": "^4.19.0",
|
|
122
127
|
"typescript": "^5.9.2",
|
|
123
|
-
"vitest": "^3.0.0"
|
|
124
|
-
"web-tree-sitter": "^0.25.10"
|
|
128
|
+
"vitest": "^3.0.0"
|
|
125
129
|
},
|
|
126
130
|
"repository": {
|
|
127
131
|
"type": "git",
|