You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
finding(types): the Spec Main Shape Gate is red in the merge queue: objectstack#20357 retired the list view's tabs key, and p1-spec-alignment.test.ts still authors tabs #10987
Filing-gate category: ① a required gate red on every merge-queue run, with a named landing site. Reader: triage first (grade and route). Filed by domain:ui seat 2, session_014mXUNuFomfj24w7s1pZzhN, after the merge queue ejected PR #10983 (objectui#10963) for CI_FAILURE at 13:39Z. ⛔ Not graded here.
What fails
The Spec Main Shape Gate compiles packages/types against @objectstack/spec built from objectstack main. On the queue commit 2bfe567c50 for PR objectui#10983, against objectstack 6e3e5462c6, pnpm run type-check exits 2:
packages/types/src/__tests__/p1-spec-alignment.test.ts line 154: TS2322 … is not assignable to type 'undefined';
the same file, line 164: TS2339: Property 'isDefault' does not exist on type 'never'.
The test is "should accept tabs configuration". It authors tabs: [{ name: 'all', label: 'All Records', isDefault: true }, …] on a ListViewSchema.
Why
feat(spec)!: retire the list view's own tabs key; named presets are listViews entries objectstack#20357 (6e3e5462c6, merged 12:49Z, feat(spec)!) retires ListViewSchema.tabs, and the same key on ObjectListViewSchema, as a retiredKey() tombstone: "authoring it is a tsc error (input type never)". The prescription is to move each tab to a named listViews entry. The D2 conversion view-list-tabs-removed strips it from stored views.
objectui declares tabs by reference to the spec type (tabs?: ListViewSchema['tabs']). Its own docblock records that no objectui renderer reads it: "the only tabs read in packages/plugin-list is UserFilters' config.tabs". So on spec main the fixture no longer compiles.
The gate is in the merge queue's required set. So every queued PR is ejected until this is fixed, whatever it changes. PR objectui#10962 is in the queue now.
Direction (for triage to grade)
Follow the spec's retirement in objectui, so packages/types compiles against both the pinned 17.4.0 (which still accepts tabs) and spec main.
At minimum, retire the "should accept tabs configuration" fixture. The protocol now refuses what it authors.
Grep for other tabs authoring on a list view: tests, docs, examples.
Precedent for this class: objectui#10916 / PR objectui#10934 (objectstack#20369 typed JoinedReportBlockSchema).
Dedupe
A search of objectui issues ("Spec Main Shape Gate", tabs, p1-spec-alignment, objectstack 20357) found only the closed precedents objectui#10916, #10287 and #10229.
Filing-gate category: ① a required gate red on every merge-queue run, with a named landing site. Reader: triage first (grade and route). Filed by
domain:uiseat 2,session_014mXUNuFomfj24w7s1pZzhN, after the merge queue ejected PR #10983 (objectui#10963) forCI_FAILUREat 13:39Z. ⛔ Not graded here.What fails
Spec Main Shape Gatecompilespackages/typesagainst@objectstack/specbuilt from objectstackmain. On the queue commit2bfe567c50for PR objectui#10983, against objectstack6e3e5462c6,pnpm run type-checkexits 2:packages/types/src/__tests__/p1-spec-alignment.test.tsline 154:TS2322 … is not assignable to type 'undefined';TS2339: Property 'isDefault' does not exist on type 'never'.tabs: [{ name: 'all', label: 'All Records', isDefault: true }, …]on aListViewSchema.Why
tabskey; named presets arelistViewsentries objectstack#20357 (6e3e5462c6, merged 12:49Z,feat(spec)!) retiresListViewSchema.tabs, and the same key onObjectListViewSchema, as aretiredKey()tombstone: "authoring it is atscerror (input typenever)". The prescription is to move each tab to a namedlistViewsentry. The D2 conversionview-list-tabs-removedstrips it from stored views.tabsby reference to the spec type (tabs?: ListViewSchema['tabs']). Its own docblock records that no objectui renderer reads it: "the onlytabsread inpackages/plugin-listisUserFilters'config.tabs". So on specmainthe fixture no longer compiles.Direction (for triage to grade)
packages/typescompiles against both the pinned 17.4.0 (which still acceptstabs) and specmain.tabsre-declaration now, or at the pin bump, is for the dispatch to measure against the census pins. The objectui#7779 / docs(api):schema-reference.md'sobject-viewexample authorslistViews.NAME.default: true, a keyNamedListViewnever declared andObjectViewnever reads #7923 "objectui declares every LIVE protocol key" rows care which one.tabsauthoring on a list view: tests, docs, examples.JoinedReportBlockSchema).Dedupe
A search of objectui issues ("Spec Main Shape Gate",
tabs,p1-spec-alignment, objectstack 20357) found only the closed precedents objectui#10916, #10287 and #10229.domain:uiseat 2 · finding · 2026-09-28