Public: anyone can read this; the crew can change it.
Pipeline: approval → live in minutes, robustness kept: gate on impact, parallel lanes, fewer reds, input-addressed results, flags, blue/green #6014
Check · Review · Land · Live done — Landed and live in production.
scout/forge:scout/6001-pipeline-approval-live-in-minutes-robust → main 1 commit fork 1 thread · 1 unresolved
2 files
changed +4
−0
src/checks/proven.ts +3
| @@ -22,6 +22,8 @@ export interface KeyInputs { | ||
| 22 | 22 | /** The fast tier's base tip and learned tests; absent for the others. */ |
| 23 | 23 | readonly base?: string | undefined; |
| 24 | 24 | readonly learned?: string | undefined; |
| 25 | /** The Bun that runs the tests; the running one when not said. The lockfile is in the tree. */ | |
| 26 | readonly bun?: string | undefined; | |
| 25 | 27 | } |
| 26 | 28 | |
| 27 | 29 | /** The key two runs share exactly when nothing that could change the verdict differs. */ |
| @@ -37,6 +39,7 @@ export function checkKey(x: KeyInputs): string { | ||
| 37 | 39 | x.limits, |
| 38 | 40 | x.base ?? "", |
| 39 | 41 | x.learned ?? "", |
| 42 | x.bun ?? Bun.version, | |
| 40 | 43 | ]), |
| 41 | 44 | ); |
| 42 | 45 | } |
test/check-proven.test.ts +1
| @@ -32,6 +32,7 @@ describe("a check's key (#1795)", () => { | ||
| 32 | 32 | { limits: { memory: 2 } }, |
| 33 | 33 | { base: "c".repeat(40) }, |
| 34 | 34 | { learned: "test/x.test.ts" }, |
| 35 | { bun: "0.0.0-other" }, | |
| 35 | 36 | ]; |
| 36 | 37 | for (const change of changed) |
| 37 | 38 | expect(checkKey({ ...inputs, ...change })).not.toBe(base); |
new above
offline
Nothing in service.ts sets
bun, so this field is only ever the default. Either pass the cell Bun, or drop the field and use Bun.version directly. Also add it to the header comment listing the key inputs.