audit-tools 0.32.42 → 0.32.44
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/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.js +21 -1
- package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
- package/dist/audit/cli/scoreTokensCommand.d.ts +18 -0
- package/dist/audit/cli/scoreTokensCommand.d.ts.map +1 -0
- package/dist/audit/cli/scoreTokensCommand.js +130 -0
- package/dist/audit/cli/scoreTokensCommand.js.map +1 -0
- package/dist/audit/cli.d.ts.map +1 -1
- package/dist/audit/cli.js +5 -1
- package/dist/audit/cli.js.map +1 -1
- package/dist/audit/io/tokenUsageLedger.d.ts +57 -0
- package/dist/audit/io/tokenUsageLedger.d.ts.map +1 -0
- package/dist/audit/io/tokenUsageLedger.js +52 -0
- package/dist/audit/io/tokenUsageLedger.js.map +1 -0
- package/dist/audit/reporting/scoreTokens.d.ts +112 -0
- package/dist/audit/reporting/scoreTokens.d.ts.map +1 -0
- package/dist/audit/reporting/scoreTokens.js +195 -0
- package/dist/audit/reporting/scoreTokens.js.map +1 -0
- package/dist/remediate/contractPipeline/counterexampleFingerprint.d.ts +27 -0
- package/dist/remediate/contractPipeline/counterexampleFingerprint.d.ts.map +1 -0
- package/dist/remediate/contractPipeline/counterexampleFingerprint.js +37 -0
- package/dist/remediate/contractPipeline/counterexampleFingerprint.js.map +1 -0
- package/dist/remediate/index.d.ts +34 -0
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +92 -26
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/riskSignal.d.ts +30 -0
- package/dist/remediate/riskSignal.d.ts.map +1 -1
- package/dist/remediate/riskSignal.js +87 -1
- package/dist/remediate/riskSignal.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +35 -4
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.d.ts +30 -0
- package/dist/remediate/steps/dispatch/acceptNode.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.js +71 -1
- package/dist/remediate/steps/dispatch/acceptNode.js.map +1 -1
- package/dist/remediate/steps/gateCommands.d.ts +17 -0
- package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
- package/dist/remediate/steps/gateCommands.js +19 -0
- package/dist/remediate/steps/gateCommands.js.map +1 -1
- package/dist/remediate/steps/leanFastPath.d.ts +0 -31
- package/dist/remediate/steps/leanFastPath.d.ts.map +1 -1
- package/dist/remediate/steps/leanFastPath.js +27 -127
- package/dist/remediate/steps/leanFastPath.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +37 -24
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
- package/dist/remediate/steps/rollingSession.js +21 -4
- package/dist/remediate/steps/rollingSession.js.map +1 -1
- package/dist/remediate/validation/artifacts.d.ts.map +1 -1
- package/dist/remediate/validation/artifacts.js +15 -26
- package/dist/remediate/validation/artifacts.js.map +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipeline.js +1 -1
- package/dist/remediate/validation/contractPipeline.js.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.d.ts +52 -0
- package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.js +61 -0
- package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.d.ts +15 -0
- package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/loopCorePaths.d.ts +12 -0
- package/dist/shared/loopCorePaths.d.ts.map +1 -0
- package/dist/shared/loopCorePaths.js +67 -0
- package/dist/shared/loopCorePaths.js.map +1 -0
- package/dist/shared/providers/openAiCompatibleProvider.d.ts +29 -0
- package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.js +60 -0
- package/dist/shared/providers/openAiCompatibleProvider.js.map +1 -1
- package/dist/shared/providers/types.d.ts +19 -0
- package/dist/shared/providers/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/wrapper/audit-code-wrapper-lib.mjs +15 -39
|
@@ -24,13 +24,13 @@ import { checkAffectedFileIntegrity } from "../utils/fileIntegrity.js";
|
|
|
24
24
|
import { resolveIntakeStep } from "./intakeResolver.js";
|
|
25
25
|
import { runToolOwnedFinalGate, applyCoarseReblock, readFinalGateSidecar, writeFinalGateSidecar, } from "./finalGate.js";
|
|
26
26
|
import { buildNextContractPipelineStep, shouldEnterContractPipeline, writePathASeedFromFindings, } from "./contractPipeline.js";
|
|
27
|
-
import {
|
|
27
|
+
import { buildLeanExtractedPlan, interpretLeanLightReviewVerdict, LEAN_LIGHT_REVIEW_SCHEMA_VERSION, } from "./leanFastPath.js";
|
|
28
28
|
import { contractArtifactExists, contractPipelineDir, } from "../contractPipeline/artifactStore.js";
|
|
29
29
|
import { buildReviewRequest, applyReviewResolution, } from "../review/reviewGate.js";
|
|
30
30
|
import { buildAutonomousReviewDecision } from "../review/autonomousGate.js";
|
|
31
31
|
import { runFindingFilterPass } from "../findingFilter.js";
|
|
32
32
|
import { intakePaths, isIntakeReady, readIntakeArtifacts, resolveManifestSources, } from "../intake.js";
|
|
33
|
-
import { ensureIntakeRiskSignal, readIntakeRiskSignal, writeIntakeRiskSignal, escalateRiskSignal, } from "../riskSignal.js";
|
|
33
|
+
import { ensureIntakeRiskSignal, readIntakeRiskSignal, writeIntakeRiskSignal, escalateRiskSignal, findingRiskEvidence, distinctAffectedFiles, } from "../riskSignal.js";
|
|
34
34
|
import { ambiguityReviewPrompt, clarificationPrompt, collectIntakeClarificationsPrompt, collectStartingPointPrompt, loaderCommand, reviewApprovalPrompt, synthesizeIntakePrompt, triagePrompt, } from "./prompts.js";
|
|
35
35
|
// Single-sourced prose renders of the canonical lens / severity vocabularies
|
|
36
36
|
// (`audit-tools/shared` `LENSES` / `SEVERITIES`) for the intent-checkpoint
|
|
@@ -2114,21 +2114,37 @@ async function handleReadyIntakeContractPipeline(root, artifactsDir, options) {
|
|
|
2114
2114
|
}
|
|
2115
2115
|
// Persist the filter dispositions so coverage is built over the originals.
|
|
2116
2116
|
await persistReviewFilterDispositions(artifactsDir, originals, filter);
|
|
2117
|
-
//
|
|
2118
|
-
//
|
|
2119
|
-
// the
|
|
2120
|
-
//
|
|
2121
|
-
//
|
|
2122
|
-
//
|
|
2123
|
-
// with a pre-existing finding set to judge.
|
|
2117
|
+
// Lean path = the `low` risk tier's realization (D-68 — leanFastPath folded
|
|
2118
|
+
// into the self-scaling dial). A run skips the heavy contract DESIGN loop and
|
|
2119
|
+
// synthesizes the extracted plan directly IFF its effective risk tier is `low`;
|
|
2120
|
+
// the plan→implement→close machinery (per-node verify-before-merge + the final
|
|
2121
|
+
// whole-repo gate) is the retained safety net. Runs only here — on Path A
|
|
2122
|
+
// (structured_audit), the only intake with a pre-existing finding set to judge.
|
|
2124
2123
|
//
|
|
2125
|
-
//
|
|
2126
|
-
//
|
|
2127
|
-
//
|
|
2128
|
-
//
|
|
2129
|
-
//
|
|
2130
|
-
|
|
2131
|
-
|
|
2124
|
+
// First fold the APPROVED set's finding-level risk (grounding / confidence /
|
|
2125
|
+
// coupling / systemic / architecture / count — the finding-QUALITY dimension the
|
|
2126
|
+
// intake path/breadth/intent signal doesn't see) INTO the shared risk signal as
|
|
2127
|
+
// escalate-on-evidence. This makes the tier the SINGLE classifier: there is no
|
|
2128
|
+
// separate fast-path boolean that can DISAGREE with it (a grounded handful
|
|
2129
|
+
// touching a risk subsystem stays `high` and takes the full pipeline, instead of
|
|
2130
|
+
// bypassing it as the old parallel `evaluateFastPath` allowed).
|
|
2131
|
+
const findingEvidence = findingRiskEvidence(gate.approved);
|
|
2132
|
+
let riskSignal = await readIntakeRiskSignal(artifactsDir);
|
|
2133
|
+
if (findingEvidence && riskSignal) {
|
|
2134
|
+
const raised = escalateRiskSignal(riskSignal, findingEvidence);
|
|
2135
|
+
// escalateRiskSignal returns the SAME reference when the evidence does not
|
|
2136
|
+
// raise the tier — only persist on an actual change (no byte-identical rewrite).
|
|
2137
|
+
if (raised !== riskSignal) {
|
|
2138
|
+
riskSignal = raised;
|
|
2139
|
+
await writeIntakeRiskSignal(artifactsDir, riskSignal);
|
|
2140
|
+
}
|
|
2141
|
+
}
|
|
2142
|
+
// T1 slice 3b — the lean tier is NOT zero-scrutiny: a `low`-tier run first runs
|
|
2143
|
+
// a bounded LIGHT adversarial review over the approved findings (the floor,
|
|
2144
|
+
// never off — `adversarialDepthForTier("low") === "light"`). A clear verdict
|
|
2145
|
+
// proceeds to the lean plan; a verdict that surfaces a real concern escalates
|
|
2146
|
+
// the risk signal and routes to the full pipeline below.
|
|
2147
|
+
if (gate.approved.length > 0 && riskSignal?.tier === "low") {
|
|
2132
2148
|
const review = await runLeanLightReviewGate(root, artifactsDir, gate.approved);
|
|
2133
2149
|
if (review.kind === "halt") {
|
|
2134
2150
|
return review.step;
|
|
@@ -2137,20 +2153,17 @@ async function handleReadyIntakeContractPipeline(root, artifactsDir, options) {
|
|
|
2137
2153
|
// Escalate-on-evidence: raise the signal to at least `medium` so the
|
|
2138
2154
|
// full pipeline's adversarial depth is `full` (see slice 3a), then
|
|
2139
2155
|
// fall through to the full pipeline.
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
reason: `lean light review surfaced a concern: ${review.concerns.join("; ")}`,
|
|
2145
|
-
}));
|
|
2146
|
-
}
|
|
2156
|
+
await writeIntakeRiskSignal(artifactsDir, escalateRiskSignal(riskSignal, {
|
|
2157
|
+
tier: "medium",
|
|
2158
|
+
reason: `lean light review surfaced a concern: ${review.concerns.join("; ")}`,
|
|
2159
|
+
}));
|
|
2147
2160
|
process.stderr.write(`[remediate-code] Lean light review escalated (${review.concerns.join("; ")}); routing to the full contract pipeline.\n`);
|
|
2148
2161
|
}
|
|
2149
2162
|
else {
|
|
2150
2163
|
// Clear verdict → proceed with the lean plan.
|
|
2151
2164
|
const leanPlan = buildLeanExtractedPlan(gate.approved, randomRunId("LEAN"));
|
|
2152
2165
|
await writeJsonFile(intakePaths(artifactsDir).extractedPlan, leanPlan);
|
|
2153
|
-
process.stderr.write(`[remediate-code] Lean fast path: ${
|
|
2166
|
+
process.stderr.write(`[remediate-code] Lean fast path (risk tier low): ${riskSignal.rationale.join("; ")}; light review clear. Routing to plan→implement.\n`);
|
|
2154
2167
|
const planned = await handlePendingExtractedPlan(root, artifactsDir, { status: "pending" }, leanPlan);
|
|
2155
2168
|
if (planned) {
|
|
2156
2169
|
return planned;
|