valent-pipeline 0.19.34 → 0.19.35
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/package.json +1 -1
- package/src/commands/evidence.js +14 -1
- package/src/lib/evidence.js +0 -0
package/package.json
CHANGED
package/src/commands/evidence.js
CHANGED
|
@@ -16,7 +16,7 @@ import { dirname, join, isAbsolute } from 'path';
|
|
|
16
16
|
import { randomBytes } from 'crypto';
|
|
17
17
|
import { parse as parseYaml } from 'yaml';
|
|
18
18
|
import {
|
|
19
|
-
runEvidence, pinGate, formatRunTrailer, formatRunDigest, resolveRoot, evidenceDir, latestRun, resolveRunForAssert, latestPins,
|
|
19
|
+
runEvidence, pinGate, formatRunTrailer, formatRunDigest, resolveRoot, evidenceDir, latestRun, resolveRunForAssert, detectLabelMultiplex, latestPins,
|
|
20
20
|
verifyIntegrity, assertRules, assertRedRules, pinSourceDelta, snapshotFiles, buildProof, utcCompact,
|
|
21
21
|
latestAssert, collectFailingCases, authenticateBaseline, verifyShipEvidence, sha256Hex,
|
|
22
22
|
validStoryId, recordStageResults,
|
|
@@ -225,6 +225,19 @@ export async function evidenceAssertCmd(options) {
|
|
|
225
225
|
process.exit(0);
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
+
// Advisory (option C): residual label-multiplex at this SHA. Record-time auto-namespacing heals the
|
|
229
|
+
// common case (a sibling recorded AFTER the acceptance run); this catches one that recorded BEFORE it
|
|
230
|
+
// (so it kept the base label). Non-blocking — resolveRunForAssert already bound to the required-case
|
|
231
|
+
// run; the warning just surfaces the smell so the project fixes its labels at source.
|
|
232
|
+
try {
|
|
233
|
+
const mx = detectLabelMultiplex(evDir, { sha: run.record?.git?.sha, label });
|
|
234
|
+
if (mx.multiplexed) {
|
|
235
|
+
console.error(`evidence-assert: ⚠ label-multiplex — ${mx.suites.length} disjoint suites share label "${label}" ` +
|
|
236
|
+
`at SHA ${String(run.record?.git?.sha).slice(0, 8)} (runs ${mx.suites.map((s) => s.runId).join(', ')}). Bound to the ` +
|
|
237
|
+
`required-case run; give each suite a distinct --label in QA-B to retire this warning. (HARNESS-GAPS option C)`);
|
|
238
|
+
}
|
|
239
|
+
} catch { /* advisory only — never block the assert */ }
|
|
240
|
+
|
|
228
241
|
// Re-parse the frozen reports from disk — machine-derived twice (at run time and here).
|
|
229
242
|
const parsedReports = (run.record.reports || []).map((r) => {
|
|
230
243
|
let parsed = null;
|
package/src/lib/evidence.js
CHANGED
|
Binary file
|