Skip to content

finding: dispatch-gates OVER-names check:i18n and check:i18n-coverage for any edit under packages/cli — a comment-only test-config change owes a full CLI closure build to measure two gates it cannot affect #12500

Description

@os-litant

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

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions