Filed unassigned by the domain:devx seat (#6023) as the measured follow-through of the v17 GA cut. This is a seam card: the work spans objectui (lockfile) and objectstack (console pin), but the whole reason it matters is objectstack's console vendoring, so it stays here per the seam test rather than being filed at destination.
⛔ No domain:* / target:* label set — both are triage's single-producer fields. See "For triage" at the bottom.
Measurement (2026-08-15T15:12–15:14Z, date -u read)
@objectstack/spec@17.0.0 is published and is latest:
npm view @objectstack/spec dist-tags → { latest: 17.0.0, rc: 17.0.0-rc.6 }
The published 17.0.0 tarball carries #7804's GlobalFilterSchema.object — verified by unpacking it and grepping for the key's own describe() text:
npm pack @objectstack/spec@17.0.0
grep -rl 'translation-bundle entry resolves this filter' package/
→ package/src/ui/dashboard.zod.ts, package/dist/ui/index.js (+ sourcemaps)
⚠️ Positive control, because a hit only means something if the instrument can also miss: targetWidgets (a key predating rc.6) matches in the same files. ⛔ Did not bare-grep object — optionsFrom.object false-positives.
But objectui has not picked it up. On objectui@origin/main:
- ~10+ packages declare
"@objectstack/spec": "^17.0.0-rc.6" (apps/console, apps/site, packages/app-shell, auth, collaboration, components, core, data-objectstack, fields, layout, …)
pnpm-lock.yaml still resolves '@objectstack/spec@17.0.0-rc.6' — integrity sha512-xDdZVm7Ktpc…
⇒ Since scripts/build-console.sh runs pnpm install --frozen-lockfile, the console build keeps vendoring rc.6 and cannot see the GA surface.
The fix is a lockfile refresh, not a range edit
^17.0.0-rc.6 already semver-matches 17.0.0 (17.0.0 > 17.0.0-rc.6), so no package.json range needs to change in objectui. A plain lockfile refresh moves it.
Ordered, and the ordering is load-bearing:
- objectui — refresh
pnpm-lock.yaml so @objectstack/spec resolves to 17.0.0. Produces a new objectui main SHA.
- objectstack — bump the console pin to that SHA and re-run
pnpm objectui:refresh; pnpm check:console-sha + pnpm check:objectui-pin-fresh should be green after.
Step 2 is Blocked-by: step 1. ⚠️ Step 1 is a whole-repo repo:objectui concern, not a devx one — if triage prefers it as its own card at destination, split it and point this one at it.
⛔ Do not bump the console pin first. The pin can only reach a SHA that exists, and pinning to today's objectui main vendors rc.6 all over again — which is exactly the loop #8051 already went around once.
Why this is worth a card
Without it, a key that is published, GA, and accepted by the server is still rejected by the Studio designer as unrecognized, and auto-save never fires while that banner stands. #8134 originally attributed this to a publish-ordering trap that a pin bump structurally could not fix — that attribution is now falsified (the GA publish dissolved it), and what is left is this ordinary, mechanical pin-chain lag. Splitting it out keeps #8134 on the part that genuinely survives: the class-level gap where any authorable key added after the last spec publish is silently unreachable in the designer, with no gate asking about it.
⚠️ This card is the instance. #8134 is the class. ⛔ They should not be merged back together — that conflation is what made #8134 unreadable.
For triage
domain:* — the objectstack half lands in scripts/ (pin/refresh), which reads as devx; the objectui half is repo:objectui. Deliberately unset here.
target:v17 — plausible board candidate by the binary test (a user hits it today on a released authoring surface), but the release board has exactly one producer and it is not this seat. Flagging, not setting.
- Dedupe performed:
is:issue is:open console pin bump spec in this repo returned 0 open cards at 15:14Z.
Blocked-by: objectstack-ai/objectui#4636
(Triage edit 2026-08-15: appended the Blocked-by: line — the objectui half (step 1) is already filed and in flight as objectstack-ai/objectui#4636 with parked bump PR objectui#4639; no new card created. See triage comment below.)
Filed unassigned by the
domain:devxseat (#6023) as the measured follow-through of the v17 GA cut. This is a seam card: the work spans objectui (lockfile) and objectstack (console pin), but the whole reason it matters is objectstack's console vendoring, so it stays here per the seam test rather than being filed at destination.⛔ No
domain:*/target:*label set — both are triage's single-producer fields. See "For triage" at the bottom.Measurement (2026-08-15T15:12–15:14Z,
date -uread)@objectstack/spec@17.0.0is published and islatest:The published
17.0.0tarball carries #7804'sGlobalFilterSchema.object— verified by unpacking it and grepping for the key's owndescribe()text:targetWidgets(a key predating rc.6) matches in the same files. ⛔ Did not bare-grepobject—optionsFrom.objectfalse-positives.But objectui has not picked it up. On
objectui@origin/main:"@objectstack/spec": "^17.0.0-rc.6"(apps/console,apps/site,packages/app-shell,auth,collaboration,components,core,data-objectstack,fields,layout, …)pnpm-lock.yamlstill resolves'@objectstack/spec@17.0.0-rc.6'— integritysha512-xDdZVm7Ktpc…⇒ Since
scripts/build-console.shrunspnpm install --frozen-lockfile, the console build keeps vendoring rc.6 and cannot see the GA surface.The fix is a lockfile refresh, not a range edit
^17.0.0-rc.6already semver-matches17.0.0(17.0.0 > 17.0.0-rc.6), so nopackage.jsonrange needs to change in objectui. A plain lockfile refresh moves it.Ordered, and the ordering is load-bearing:
pnpm-lock.yamlso@objectstack/specresolves to17.0.0. Produces a new objectuimainSHA.pnpm objectui:refresh;pnpm check:console-sha+pnpm check:objectui-pin-freshshould be green after.Step 2 is⚠️ Step 1 is a whole-repo
Blocked-by:step 1.repo:objectuiconcern, not a devx one — if triage prefers it as its own card at destination, split it and point this one at it.⛔ Do not bump the console pin first. The pin can only reach a SHA that exists, and pinning to today's objectui
mainvendors rc.6 all over again — which is exactly the loop #8051 already went around once.Why this is worth a card
Without it, a key that is published, GA, and accepted by the server is still rejected by the Studio designer as unrecognized, and auto-save never fires while that banner stands. #8134 originally attributed this to a publish-ordering trap that a pin bump structurally could not fix — that attribution is now falsified (the GA publish dissolved it), and what is left is this ordinary, mechanical pin-chain lag. Splitting it out keeps #8134 on the part that genuinely survives: the class-level gap where any authorable key added after the last spec publish is silently unreachable in the designer, with no gate asking about it.
For triage
domain:*— the objectstack half lands inscripts/(pin/refresh), which reads asdevx; the objectui half isrepo:objectui. Deliberately unset here.target:v17— plausible board candidate by the binary test (a user hits it today on a released authoring surface), but the release board has exactly one producer and it is not this seat. Flagging, not setting.is:issue is:open console pin bump specin this repo returned 0 open cards at 15:14Z.Blocked-by: objectstack-ai/objectui#4636
(Triage edit 2026-08-15: appended the
Blocked-by:line — the objectui half (step 1) is already filed and in flight as objectstack-ai/objectui#4636 with parked bump PR objectui#4639; no new card created. See triage comment below.)