The same p1, pre-staged on compile.ts — green today, one honest exit from red, and only at night
#18848 was a priority:p1 with a hard cron clock: validate.ts gained a seventh await emitJson( exit (#18677 / PR #18769), two nightly-only pins asserted 6, and main was red from 2026-09-17T20:44:55Z with no run saying so — because those files are nightly-tier by name and a packages/cli/** diff cannot trigger that tier.
Two more pins carry the identical frozen shape over compile.ts. They are green right now, and nothing stands between them and a rerun of that p1 except the fact that nobody has added an exit to compile.ts yet.
| file |
line |
assertion |
packages/cli/test/build-json-failure-warnings.e2e.test.ts |
:512 |
expect(literals, 'the `emitJson` exit count moved — a new exit must carry `warnings` too').toHaveLength(11) |
|
:513 |
expect(literals.filter((p) => p.includes('success: false'))).toHaveLength(10) |
|
:514 |
expect(literals.filter((p) => p.includes('success: true'))).toHaveLength(1) |
packages/cli/test/build-json-failure-conversions.e2e.test.ts |
:429 |
same, with conversions |
|
:430-431 |
10 / 1 |
Six frozen integers across two files, all read off packages/cli/src/commands/compile.ts.
Measured on origin/main, with the tests' own extractor
payloadLiterals lifted verbatim from those files and run against compile.ts as it stands:
payload literals 11 ⇒ the pins' 11 is correct TODAY
success: false 10 ⇒ correct today
success: true 1 ⇒ correct today
/\bemitJson\s*\(/g 11 ⇒ symmetric with the extractor today
⇒ ⛔ Not a live red. The finding is the SHAPE: an honest new exit that carries both keys — the exact thing these tests exist to enforce — turns all six integers red, and #18848 measured what that costs when it happens in this tier.
Why the cost is not "one red test"
Taken on packages/cli with vitest list --filesOnly, independently re-run by this seat on a second tree:
OS_TEST_TIERS unset (= pull request + merge queue + local default) 267 files
of which build-json-failure-{warnings,conversions}.e2e.test.ts 0
OS_TEST_TIERS=nightly 68 files
of which the same two 2
⭐ lit control: artifact-packages.test.ts present in the unset population 1
⇒ in every population a contributor or the merge queue can run, these files are not collected at all. The PR that adds the eighth exit goes green, merges, and main is red from that moment until a cron says so — which is precisely the ~9-hour silent window #18848 documented.
The remedy is already written and merged in its sibling
PR #18880 fixed the validate.ts pair without re-pinning to 7: the count is derived from the source (SRC.match(/\bemitJson\s*\(/g)), with the old integer demoted to a >= N floor that rots only in the exits-are-removed direction, plus a partition assertion (valid: true ×1, valid: false = literals.length - 1). Its ablation battery includes the leg that decides it: an eighth call site spelled without await reddens the derived form and would have stayed green under a frozen integer.
⇒ port that shape to these two files. ⛔ Do not simply re-pin 11 / 10 / 1.
⚠️ Fences the executor should know before starting
Dedupe words
build-json-failure toHaveLength(11) · compile.ts emitJson exit count · nightly-only count pin · payloadLiterals integer pin · second instance 18848 · derived exit count
⚠️ Dedupe was run before filing, over a complete enumeration (/search/* answers 403 for this session): GET /issues?state=open&per_page=100&page=1..6, 514 open cards, scanned locally. No open card names these two files or this pin family; the nearest neighbours are named below and neither covers it.
Refs
#18848 / PR #18880 (the same defect, on validate.ts, with the remedy shape and its ablation battery) · #18520 (the structural card — nightly-only pins read their own src/ raw; the collection-level measurement above is recorded there as a reading, and this card is deliberately ⛔ not a duplicate of it: #18520 is about the tier, this is about two named files that will reproduce #18848) · #18779 / PR #18878 (in flight on compile.ts)
⛔ Not graded here — lane, kind and priority are triage's.
Generated by Claude Code
The same p1, pre-staged on
compile.ts— green today, one honest exit from red, and only at night#18848 was a
priority:p1with a hard cron clock:validate.tsgained a seventhawait emitJson(exit (#18677 / PR #18769), two nightly-only pins asserted 6, andmainwas red from 2026-09-17T20:44:55Z with no run saying so — because those files are nightly-tier by name and apackages/cli/**diff cannot trigger that tier.Two more pins carry the identical frozen shape over
compile.ts. They are green right now, and nothing stands between them and a rerun of that p1 except the fact that nobody has added an exit tocompile.tsyet.packages/cli/test/build-json-failure-warnings.e2e.test.ts:512expect(literals, 'the `emitJson` exit count moved — a new exit must carry `warnings` too').toHaveLength(11):513expect(literals.filter((p) => p.includes('success: false'))).toHaveLength(10):514expect(literals.filter((p) => p.includes('success: true'))).toHaveLength(1)packages/cli/test/build-json-failure-conversions.e2e.test.ts:429conversions:430-43110/1Six frozen integers across two files, all read off
packages/cli/src/commands/compile.ts.Measured on
origin/main, with the tests' own extractorpayloadLiteralslifted verbatim from those files and run againstcompile.tsas it stands:⇒ ⛔ Not a live red. The finding is the SHAPE: an honest new exit that carries both keys — the exact thing these tests exist to enforce — turns all six integers red, and #18848 measured what that costs when it happens in this tier.
Why the cost is not "one red test"
Taken on
packages/cliwithvitest list --filesOnly, independently re-run by this seat on a second tree:⇒ in every population a contributor or the merge queue can run, these files are not collected at all. The PR that adds the eighth exit goes green, merges, and
mainis red from that moment until a cron says so — which is precisely the ~9-hour silent window #18848 documented.The remedy is already written and merged in its sibling
PR #18880 fixed the
validate.tspair without re-pinning to7: the count is derived from the source (SRC.match(/\bemitJson\s*\(/g)), with the old integer demoted to a>= Nfloor that rots only in the exits-are-removed direction, plus a partition assertion (valid: true×1,valid: false=literals.length - 1). Its ablation battery includes the leg that decides it: an eighth call site spelled withoutawaitreddens the derived form and would have stayed green under a frozen integer.⇒ port that shape to these two files. ⛔ Do not simply re-pin
11 / 10 / 1.compile.tsis a carrier for [finding] the per-package de-duplication key is POSITIONAL, so echoes survive it — andcompile.ts's own comment that the survivors are "exactly the set the union could not see" overstates what it keeps #18779 / PR fix(cli): the per-package de-duplication key ignores the top-level collection index, so an echo no longer survives it #18878, in flight at filing time. ⛔ This card touchespackages/cli/test/**only —compile.tsitself needs no edit.success:key here issuccess, ⛔ notvalid:—compile.tsandvalidate.tsdo not share the payload's verdict key. Copying test(cli): read theemitJsonexit count off the source in the twoos validate --jsonpins #18880's lines verbatim without re-deriving that name would produce a vacuous filter.OS_TEST_TIERS=nightly) — a default run collects neither, so a green default run says nothing.Dedupe words
build-json-failure toHaveLength(11)·compile.ts emitJson exit count·nightly-only count pin·payloadLiterals integer pin·second instance 18848·derived exit count/search/*answers 403 for this session):GET /issues?state=open&per_page=100&page=1..6, 514 open cards, scanned locally. No open card names these two files or this pin family; the nearest neighbours are named below and neither covers it.Refs
#18848 / PR #18880 (the same defect, on
validate.ts, with the remedy shape and its ablation battery) · #18520 (the structural card — nightly-only pins read their ownsrc/raw; the collection-level measurement above is recorded there as a reading, and this card is deliberately ⛔ not a duplicate of it: #18520 is about the tier, this is about two named files that will reproduce #18848) · #18779 / PR #18878 (in flight oncompile.ts)⛔ Not graded here — lane, kind and priority are triage's.
Generated by Claude Code