audit-tools 0.28.0 → 0.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollingAuditDispatch.d.ts","sourceRoot":"","sources":["../../../src/audit/cli/rollingAuditDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAIL,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAE1B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAOxE,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"rollingAuditDispatch.d.ts","sourceRoot":"","sources":["../../../src/audit/cli/rollingAuditDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAIL,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAE1B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAOxE,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AA0BvF;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,aAAa,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GAC9C,OAAO,CAGT;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,OAAO,CAQV;AAED,wFAAwF;AACxF,MAAM,MAAM,qBAAqB,GAAG,CAClC,MAAM,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,EAChD,IAAI,EAAE,YAAY,KACf,OAAO,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAEvD,2EAA2E;AAC3E,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEpC,4DAA4D;AAC5D,MAAM,WAAW,+BAA+B;IAC9C,2FAA2F;IAC3F,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;OAKG;IACH,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACrC;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,CACf,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,aAAa,EAAE,aAAa,KACzB,oBAAoB,CAAC;CAC3B,GAAG,qBAAqB,CA+ExB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,wFAAwF;IACxF,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;;;OAIG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAuG3C"}
|
|
@@ -25,6 +25,7 @@ import { createFreshSessionProvider } from "../providers/index.js";
|
|
|
25
25
|
import { prepareDispatchArtifacts } from "./dispatch.js";
|
|
26
26
|
import { mergeAndIngest } from "./mergeAndIngestCommand.js";
|
|
27
27
|
import { packageRoot } from "./paths.js";
|
|
28
|
+
import { artifactNameForId } from "./args.js";
|
|
28
29
|
/**
|
|
29
30
|
* Backends the orchestrator can drive IN-PROCESS as the per-packet review worker
|
|
30
31
|
* via `driveRollingAuditDispatch` (it resolves + launches the provider headless
|
|
@@ -109,9 +110,16 @@ export function makeAuditProviderPacketDispatcher(params) {
|
|
|
109
110
|
const provider = resolveProvider(slot?.providerName || params.sessionConfig.provider, params.sessionConfig);
|
|
110
111
|
const resultPath = entry.result_path;
|
|
111
112
|
const dir = dirname(resultPath);
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
// Sidecar files share the packet's canonical FS-safe stem. Packet ids embed
|
|
114
|
+
// ':' (e.g. "root-config:correctness:packet-3"), which is an invalid filename
|
|
115
|
+
// character on Windows (NTFS reads it as an alternate-data-stream separator),
|
|
116
|
+
// so a raw `${packet.id}.task.json` throws on the write — before any launch,
|
|
117
|
+
// erroring every packet. `artifactNameForId` is the same sanitizer the
|
|
118
|
+
// prompt/result files use (stem + digest), keeping the sidecars co-named and
|
|
119
|
+
// OS-agnostic (INV everything-agnostic / Windows-aware).
|
|
120
|
+
const taskPath = join(dir, artifactNameForId(packet.id, "task.json"));
|
|
121
|
+
const stdoutPath = join(dir, artifactNameForId(packet.id, "stdout.txt"));
|
|
122
|
+
const stderrPath = join(dir, artifactNameForId(packet.id, "stderr.txt"));
|
|
115
123
|
const task = {
|
|
116
124
|
contract_version: "audit-code-worker/v1alpha1",
|
|
117
125
|
run_id: `${params.runId}:${packet.id}`,
|
|
@@ -238,12 +246,33 @@ export async function driveRollingAuditDispatch(params) {
|
|
|
238
246
|
// packet stranded on an exhausted pool) has nothing to fold in, and ingesting
|
|
239
247
|
// would block on "all assigned results missing" — the recorded terminal already
|
|
240
248
|
// lets the pipeline proceed to synthesis on partial coverage.
|
|
249
|
+
//
|
|
250
|
+
// A packet `outcome:"success"` only means the provider WROTE a result file, not
|
|
251
|
+
// that the result is contract-valid. When every provider-accepted result is
|
|
252
|
+
// ingestion-invalid (e.g. a weak/unreliable backend returned wrong line counts
|
|
253
|
+
// or a malformed AuditResult), `mergeAndIngest` raises a hard "all assigned
|
|
254
|
+
// results invalid" block — correct for the synchronous CLI worker, but in the
|
|
255
|
+
// rolling driver that must degrade to a NO-PROGRESS pass (ingest:null) so the
|
|
256
|
+
// host-delegation fold's convergence guard emits a clean block instead of an
|
|
257
|
+
// unhandled throw crashing next-step (INV enforce-in-tooling: the path must be
|
|
258
|
+
// robust to ANY-strength provider).
|
|
241
259
|
const anySuccess = run.results.some((r) => r.outcome === "success");
|
|
260
|
+
let ingestResult = null;
|
|
261
|
+
if (anySuccess) {
|
|
262
|
+
try {
|
|
263
|
+
ingestResult = await ingest({ runId, artifactsDir });
|
|
264
|
+
}
|
|
265
|
+
catch (err) {
|
|
266
|
+
ingestResult = null;
|
|
267
|
+
process.stderr.write(`[rollingAuditDispatch] ingestion produced no usable results for run ${runId} ` +
|
|
268
|
+
`(every provider-accepted result was invalid): ${err instanceof Error ? err.message : String(err)}\n`);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
242
271
|
return {
|
|
243
272
|
status: run.status,
|
|
244
273
|
packet_count: packets.length,
|
|
245
274
|
stranded_ids: run.stranded_ids,
|
|
246
|
-
ingest:
|
|
275
|
+
ingest: ingestResult,
|
|
247
276
|
};
|
|
248
277
|
}
|
|
249
278
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollingAuditDispatch.js","sourceRoot":"","sources":["../../../src/audit/cli/rollingAuditDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,aAAa,GASd,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAEL,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAA0B,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,cAAc,EAA6B,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rollingAuditDispatch.js","sourceRoot":"","sources":["../../../src/audit/cli/rollingAuditDispatch.ts"],"names":[],"mappings":"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"}
|