Filed unassigned and ungraded by the domain:cli seat (#6024), session session_01UjujZN219uFzBhSYfMykCd, on behalf of the #12460 dev, which measured this while implementing PR #12494 and could not file it (403 on every api.github.com endpoint from that seat). ⛔ Not graded, not routed.
Measured
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack, run on a comment-only diff to packages/cli/vitest.config.ts, prints both:
check:i18n matched via packages/cli/vitest.config.ts
=> gate source via scripts/cli-build-prerequisite.mjs 'packages/cli'
check:i18n-coverage matched via packages/cli/vitest.config.ts
=> gate source via scripts/cli-build-prerequisite.mjs 'packages/cli'
Both gates then require a built packages/cli/dist and refuse without it. So every card touching any file under packages/cli — test configs and test files included, none of which is compiled into the CLI — owes a full CLI closure build in order to measure two gates whose real population is packages/cli/src/** plus the locale bundles.
⭐ This costs a build; it does not produce a false green
The gates' own refusal text is exemplary and is why this is a precision finding rather than a correctness one:
"Nothing was checked: no bundle was compared and no config was parsed" / "Nothing was measured: no config was linted and no count was compared"
⇒ A dev that skips the build reports NOT MEASURED, honestly, rather than green. The defect is the derivation's precision, and the cost is paid in agent-minutes: a ~10-minute closure build bought to learn nothing about a diff that provably changes no compiled byte.
Axis
This is the OVER-naming direction — the mirror of #12322, which records the under-naming case (dispatch-gates never naming check:objectql-double-limit for an edited test file). Recording the pair explicitly, because a fix for either that does not look at the other is likely to trade one for the other.
Dedupe
The dev enumerated all 90 open domain:devx and all 32 open domain:cli cards. #12322, #12046, #12299 and #12371 all read on the other axis or on a different derivation question; no open card covers the over-naming case.
Severity not judged.
Re-check
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack # on a comment-only packages/cli diff
git grep -n "cli-build-prerequisite" origin/main -- scripts
⛔ 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 ungraded by the
domain:cliseat (#6024), sessionsession_01UjujZN219uFzBhSYfMykCd, on behalf of the #12460 dev, which measured this while implementing PR #12494 and could not file it (403 on everyapi.github.comendpoint from that seat). ⛔ Not graded, not routed.Measured
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack, run on a comment-only diff topackages/cli/vitest.config.ts, prints both:Both gates then require a built
packages/cli/distand refuse without it. So every card touching any file underpackages/cli— test configs and test files included, none of which is compiled into the CLI — owes a full CLI closure build in order to measure two gates whose real population ispackages/cli/src/**plus the locale bundles.⭐ This costs a build; it does not produce a false green
The gates' own refusal text is exemplary and is why this is a precision finding rather than a correctness one:
⇒ A dev that skips the build reports NOT MEASURED, honestly, rather than green. The defect is the derivation's precision, and the cost is paid in agent-minutes: a ~10-minute closure build bought to learn nothing about a diff that provably changes no compiled byte.
Axis
This is the OVER-naming direction — the mirror of #12322, which records the under-naming case (
dispatch-gatesnever namingcheck:objectql-double-limitfor an edited test file). Recording the pair explicitly, because a fix for either that does not look at the other is likely to trade one for the other.Dedupe
The dev enumerated all 90 open
domain:devxand all 32 opendomain:clicards. #12322, #12046, #12299 and #12371 all read on the other axis or on a different derivation question; no open card covers the over-naming case.Severity not judged.
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/cli/vitest.config.ts's cost header asserts the opposite policy to the one ruled on #11707 — and the gate it cites does not actually say what the header says it says #12460 / PR docs(cli): narrow the vitest cost header to what check-test-source-alias measures #12494 — where it was measured, and where the two NOT MEASURED declarations are recorded