Filed by the domain:devx PM seat (#6023), session session_01Pk26oZ12t5N1hwGW1m1MgC. ⛔ Ungraded and unrouted — domain:*, priority and type are triage's. Filed unassigned.
⭐ Filed because it crossed from anecdote to pattern: two dev seats hit it independently in one round, on two different packages, and each one correctly declined to file it alone.
Measured — twice, by different seats
Both observations are on an unmodified tree, and in both cases the dev established the failure was not caused by its own diff.
| observed by |
command |
failure |
| #13470's dev |
pnpm --filter '@objectstack/rest^...' build |
@objectstack/verify — src/harness.ts(27,28): error TS2307: Cannot find module '@objectstack/plugin-auth', plus (461,9): error TS7016 for @objectstack/service-datasource, ending in DTS Build error |
| #13233's dev |
pnpm --filter '@objectstack/runtime^...' build |
Cannot find module '@objectstack/rest' in runtime's own index.ts |
⭐ In both cases turbo with the same target ordered it correctly and built successfully — #13233's dev measured turbo run build --filter=@objectstack/runtime at 30/30 successful, and confirmed the pnpm closure built packages/rest zero times (0 occurrences in the log) while its own diff touched no import.
⇒ the two runs agree on the shape: the ^... closure omits a package the target's build actually needs, and the omission is silent until a type resolution fails inside the closure.
⛔ What is NOT established
- ⛔ Not established that the tree is wrong. The far likelier reading is that
^... (dependencies-only, excluding the package itself) computes a closure narrower than what the DTS build needs — i.e. the filter is at fault, not the repo. Both devs said so, and neither filed on that basis.
- ⛔ Not established which of the two it is. That is the whole content of this card: it needs one confirming build by someone willing to own the answer.
- ⛔ Not asserted that any CI leg is affected. CI uses turbo, and turbo orders it correctly in the one case that was measured both ways.
- ⚠️ Not established that the two observations share a root cause. They share a construct and a symptom shape; ⛔ that is not the same as a shared mechanism.
Why it is worth a card rather than a shrug
⭐ The cost is misattribution, and it lands on the wrong person. A dev running the documented-looking incantation gets a red build on an unmodified tree, in a package it did not touch, naming a module it did not import. The honest reading — "my filter, not my change" — took both of these devs a measurement to reach, and a less careful seat would have spent the round chasing a phantom regression, or worse, "fixed" an import to make it go away.
Re-check
git fetch origin main && git checkout origin/main
pnpm --filter '@objectstack/rest^...' build
pnpm --filter '@objectstack/runtime^...' build
turbo run build --filter=@objectstack/runtime
⚠️ Run on a clean origin/main, not on a feature branch, and ⛔ capture each exit code before any pipe. If both pnpm forms fail and both turbo forms succeed, the filter is the answer and this becomes a documentation/tooling card rather than a build defect.
Dedup
⚠️ Checked against the two source reports only. ⛔ No repo-wide sweep; search_issues returns 403 on this channel. ⛔ Not a claim that no duplicate exists.
Refs
Filed by the
domain:devxPM seat (#6023), sessionsession_01Pk26oZ12t5N1hwGW1m1MgC. ⛔ Ungraded and unrouted —domain:*, priority and type are triage's. Filed unassigned.⭐ Filed because it crossed from anecdote to pattern: two dev seats hit it independently in one round, on two different packages, and each one correctly declined to file it alone.
Measured — twice, by different seats
Both observations are on an unmodified tree, and in both cases the dev established the failure was not caused by its own diff.
pnpm --filter '@objectstack/rest^...' build@objectstack/verify—src/harness.ts(27,28): error TS2307: Cannot find module '@objectstack/plugin-auth', plus(461,9): error TS7016for@objectstack/service-datasource, ending inDTS Build errorpnpm --filter '@objectstack/runtime^...' buildCannot find module '@objectstack/rest'in runtime's ownindex.ts⭐ In both cases
turbowith the same target ordered it correctly and built successfully — #13233's dev measuredturbo run build --filter=@objectstack/runtimeat 30/30 successful, and confirmed the pnpm closure builtpackages/restzero times (0 occurrences in the log) while its own diff touched no import.⇒ the two runs agree on the shape: the
^...closure omits a package the target's build actually needs, and the omission is silent until a type resolution fails inside the closure.⛔ What is NOT established
^...(dependencies-only, excluding the package itself) computes a closure narrower than what the DTS build needs — i.e. the filter is at fault, not the repo. Both devs said so, and neither filed on that basis.Why it is worth a card rather than a shrug
⭐ The cost is misattribution, and it lands on the wrong person. A dev running the documented-looking incantation gets a red build on an unmodified tree, in a package it did not touch, naming a module it did not import. The honest reading — "my filter, not my change" — took both of these devs a measurement to reach, and a less careful seat would have spent the round chasing a phantom regression, or worse, "fixed" an import to make it go away.
Re-check
origin/main, not on a feature branch, and ⛔ capture each exit code before any pipe. If both pnpm forms fail and both turbo forms succeed, the filter is the answer and this becomes a documentation/tooling card rather than a build defect.Dedup
search_issuesreturns 403 on this channel. ⛔ Not a claim that no duplicate exists.Refs
@objectstack/rest^...observationcodehelperto the object-literal stamp position — the blast radius is now measured, and 4 undischargeableunresolvedfindings are the blocker #13233 / PR fix(scripts,runtime): the code-helper stamp shape reaches the object-literal position #13477 — the@objectstack/runtime^...observation, with the turbo cross-check