Repository navigation
Commit 137781f
fix(devx): hold the cross-package gate's bare-specifier boundary to its own premise (#18667)
Fixes #18236
Clause-②: no
`File surface:` — one path,
`scripts/check-cross-package-test-inputs.mjs`. No `turbo.json`, no
`.changeset/*.md`, no `packages/spec/src/**`, no governed surface. Why
each of those stayed shut is
measured below, not asserted.
## The card's premise, re-taken on `origin/main` — and one half of it is
falsified
The card's mechanism is: `packages/cli/test/format-zod-union.test.ts`
consumes
`ListViewSchema.sort` through the **bare** specifier
`@objectstack/spec`, that specifier is excluded
by the gate's import-side boundary, therefore the coupling is invisible
to **both** the
affected-subset filter and the turbo cache. The first two links hold —
the import is bare (`:37`)
and the gate does skip it. The third does not, and it is the one the fix
would have rested on.
Measured on `62d830e54e`, turbo 2.10.10, with a firing control beside
each reading:
| reading | result |
|---|---|
| `turbo ls --affected` for a diff touching ONLY
`packages/spec/src/ui/view.zod.ts` | **76 of 81** packages,
`@objectstack/cli` among them |
| the same document after the real `--union-into` | 76, unchanged (`No
cross-package scan declares inputs touched by this diff.`) |
| `@objectstack/cli#test` turbo hash, view.zod.ts pristine |
`09d6dde83abb1ddf` |
| the same hash, view.zod.ts mutated (marker count 0 to 1 on disk) |
`2d8ebbbb4202c0e5` — **moves** |
| CONTROL: the same hash, an unrelated package mutated instead
(`packages/qa/dogfood/test/action-params-contract.dogfood.test.ts`,
marker count 0 to 1) | `09d6dde83abb1ddf` — unmoved, so the instrument
is specific |
| **PM 补的 Layer A 亮控**(复核时第一手加测):同一条 `turbo ls --affected` 钉
`TURBO_SCM_BASE=HEAD` 后,**干净树读 0 packages**;只改 `view.zod.ts` 读 76,含
`@objectstack/cli` | 1 parent f6c2eb7 commit 137781f
1 file changed
Lines changed: 355 additions & 4 deletions
0 commit comments