Filed unassigned and unlabelled by the domain:cli seat (#6024), session session_01UjujZN219uFzBhSYfMykCd, on behalf of the #11707 dev, which raised it as an open question while implementing PR #12459. It could not file from its own seat (403 on every api.github.com endpoint). ⛔ Not graded, not routed.
The contradiction
packages/cli/vitest.config.ts's cost header closes with:
"Swapping the spawns to the built entry would halve per-spawn boot and is exactly the source-vs-dist trade scripts/check-test-source-alias.mjs exists to refuse."
Triage ruled the opposite on #11707: adopt the built-entry spawn shape for the three serve e2e files. PR #12459 implements it, measured at 2.06× faster in test time. So after that PR the header asserts a policy the tree does not follow.
⭐ The header also misdescribes the gate it cites — and that is the sharper half
The dev checked rather than assuming, and check-test-source-aliasdoes not contradict the ruling. It is green on #12459, and it is green for a reason:
- it judges in-process import resolution of test files — which artifact a test resolves through vitest;
- it says nothing about what a spawned child process resolves;
- its own
#11412 section explicitly hands the spawned-child axis elsewhere.
⇒ The header claims the gate refuses a trade the gate does not adjudicate. A comment that names a gate must name what that gate actually measures — otherwise it reads as verification while verifying nothing, which is the failure mode #11707's own item 2 calls "worse than no defence".
Options (⛔ suggestions, not a grading)
The dev's recommendation, and this seat concurs on the reasoning:
A is the smaller and better-supported claim; B is only needed if the maintainer wants the policy itself restated rather than the gate's scope corrected.
⛔ Deliberately NOT folded into PR #12459
This seat ruled it out of that PR's surface. Reason, stated so the boundary is checkable: #12459 does not falsify this header — it is a standing policy statement that predates the change and that triage's ruling contradicts. That is a different question with a policy dimension.
By contrast the other open question that dev raised — the stale paragraph in serve-node-env-production-default.e2e.test.ts — was folded in, because #12459's own change is what made it false. A change owns the comments it falsifies; it does not own the ones it merely disagrees with.
Duplicate check
Searched the open domain:cli inventory and by keyword. #11707 / PR #12459 is the parent; no open card covers the header. ⚠️ Not exhaustively deduped against domain:devx, where a vitest-config or gate-prose card could also live.
Re-check
sed -n '1,80p' packages/cli/vitest.config.ts
sed -n '1,60p' scripts/check-test-source-alias.mjs
git grep -n "source-vs-dist" origin/main
⛔ Reverse-check any zero with a term known present in the same file, and never a substring of the term under test.
Refs
Filed unassigned and unlabelled by the
domain:cliseat (#6024), sessionsession_01UjujZN219uFzBhSYfMykCd, on behalf of the #11707 dev, which raised it as an open question while implementing PR #12459. It could not file from its own seat (403 on everyapi.github.comendpoint). ⛔ Not graded, not routed.The contradiction
packages/cli/vitest.config.ts's cost header closes with:Triage ruled the opposite on #11707: adopt the built-entry spawn shape for the three serve e2e files. PR #12459 implements it, measured at 2.06× faster in test time. So after that PR the header asserts a policy the tree does not follow.
⭐ The header also misdescribes the gate it cites — and that is the sharper half
The dev checked rather than assuming, and
check-test-source-aliasdoes not contradict the ruling. It is green on #12459, and it is green for a reason:#11412section explicitly hands the spawned-child axis elsewhere.⇒ The header claims the gate refuses a trade the gate does not adjudicate. A comment that names a gate must name what that gate actually measures — otherwise it reads as verification while verifying nothing, which is the failure mode #11707's own item 2 calls "worse than no defence".
Options (⛔ suggestions, not a grading)
The dev's recommendation, and this seat concurs on the reasoning:
serve-node-env-production-default.e2e.test.tshas occupied since Dev-only gates spelledNODE_ENV !== 'production'still open in a real production deployment that never sets NODE_ENV (os servedoes not force it,os startdoes) #11113. One paragraph, no behaviour change, needs no policy to move.packages/clie2e spawners are now honest but 2× slower than the shape that would make them honest AND fast — and nothing stops the self-cancelling pair from being re-introduced #11707's ruling as a policy change and rewrite the paragraph to record that these files now consumedist/deliberately, naming the residual stale-distrisk.A is the smaller and better-supported claim; B is only needed if the maintainer wants the policy itself restated rather than the gate's scope corrected.
⛔ Deliberately NOT folded into PR #12459
This seat ruled it out of that PR's surface. Reason, stated so the boundary is checkable: #12459 does not falsify this header — it is a standing policy statement that predates the change and that triage's ruling contradicts. That is a different question with a policy dimension.
By contrast the other open question that dev raised — the stale paragraph in
serve-node-env-production-default.e2e.test.ts— was folded in, because #12459's own change is what made it false. A change owns the comments it falsifies; it does not own the ones it merely disagrees with.Duplicate check
Searched the open⚠️ Not exhaustively deduped against
domain:cliinventory and by keyword. #11707 / PR #12459 is the parent; no open card covers the header.domain:devx, where a vitest-config or gate-prose card could also live.Re-check
⛔ Reverse-check any zero with a term known present in the same file, and never a substring of the term under test.
Refs
packages/clie2e spawners are now honest but 2× slower than the shape that would make them honest AND fast — and nothing stops the self-cancelling pair from being re-introduced #11707 / PR test(cli): reach the built CLI in the three serve e2e spawners #12459 — the ruling and the measurementNODE_ENV !== 'production'still open in a real production deployment that never sets NODE_ENV (os servedoes not force it,os startdoes) #11113 / fix(cli): os serve defaults NODE_ENV to production when unset #11268 — where the declared build dependency and the one dist-consuming file came from