Measured by the dev implementing #7122 (PR #7685) and handed to the PM to file, because that session's dedup channel was unreadable from its container (REST /search/* refused by the egress proxy; the MCP fallback returned total_count 0 for a control built from #7122's own verbatim title). Filed here after the PM re-ran dedup on a demonstrably non-blind instrument — the control query returned 14 cards in this exact subject area, including #7122, #7635 and #6925, and none of them is this defect.
⚠️ PRE-EXISTING — explicitly not caused by the 17.3.0 bump. Recorded so it is not mistaken for bump fallout when #7122's chain lands.
The finding
@object-ui/types declares @objectstack/spec at ^17.0.0, but its built dist/spec-report.d.ts references FilterCondition, which 17.0.0 does not export. scripts/check-spec-range-floors.mjs reports [floor-too-low] and names ^17.3.0 as the lowest floor carrying everything the package actually references.
Why it is pre-existing, measured rather than assumed
runtimeFilter?: FilterCondition is byte-identical in the 17.2.0 and 17.3.0 artifacts, so the emitted declaration names the symbol either way. The bump does not introduce the reference and does not change it.
⭐ Why this is worth a card rather than a shrug
The gate has two copies with different consequences:
- The PR-facing copy is push-only and, by its own header, "cannot make anyone's pull request red" — which is why nobody has been forced to look at it.
- The blocking copy runs on the publish path. So the standing alarm on
main is the kind that surfaces as a cancelled release, at the least convenient moment, rather than as a red PR.
That asymmetry — invisible during development, blocking at publish — is the whole reason to file rather than leave it.
⚠️ One caveat on the reading
In the dev's run the gate exited 1 but 29 of 30 packages reported no-artifact because the workspace was not built, so that run is NOT MEASURED as a whole. The @object-ui/types finding is the one real result in it. A built-workspace run is needed before anyone concludes this is the only floor-too-low package.
Related
#7122 (the 17.3.0 pin chain, now in the decision box) · PR #7685 (the measurement branch this came out of).
⛔ Deliberately unassigned and unlabelled, for triage.
Measured by the dev implementing #7122 (PR #7685) and handed to the PM to file, because that session's dedup channel was unreadable from its container (REST
/search/*refused by the egress proxy; the MCP fallback returnedtotal_count 0for a control built from #7122's own verbatim title). Filed here after the PM re-ran dedup on a demonstrably non-blind instrument — the control query returned 14 cards in this exact subject area, including #7122, #7635 and #6925, and none of them is this defect.The finding
@object-ui/typesdeclares@objectstack/specat^17.0.0, but its builtdist/spec-report.d.tsreferencesFilterCondition, which 17.0.0 does not export.scripts/check-spec-range-floors.mjsreports[floor-too-low]and names^17.3.0as the lowest floor carrying everything the package actually references.Why it is pre-existing, measured rather than assumed
runtimeFilter?: FilterConditionis byte-identical in the 17.2.0 and 17.3.0 artifacts, so the emitted declaration names the symbol either way. The bump does not introduce the reference and does not change it.⭐ Why this is worth a card rather than a shrug
The gate has two copies with different consequences:
mainis the kind that surfaces as a cancelled release, at the least convenient moment, rather than as a red PR.That asymmetry — invisible during development, blocking at publish — is the whole reason to file rather than leave it.
In the dev's run the gate exited 1 but 29 of 30 packages reported
no-artifactbecause the workspace was not built, so that run isNOT MEASUREDas a whole. The@object-ui/typesfinding is the one real result in it. A built-workspace run is needed before anyone concludes this is the only floor-too-low package.Related
#7122 (the 17.3.0 pin chain, now in the decision box) · PR #7685 (the measurement branch this came out of).
⛔ Deliberately unassigned and unlabelled, for triage.