- "note": "the entire Airtable-parity list surface (source/columns/filterBy/appearance/userFilters/userActions/addRecord/buttons/recordAction/...) — objectui app-shell/src/views/InterfaceListPage.tsx + PageView.tsx. Verified in browser during the dogfood (grid+kanban+filters). [#23005] This blanket `live` verdict covers `interfaceConfig.emptyState` too: the list page's own empty state, the list view's EmptyStateSchema by reference. It was declared ahead of its renderer, contract first, with the `[PLANNED — not yet rendered]` marker on its describe; the renderer half, objectstack-ai/objectui#12270 (objectui b434f5f47), is inside the console pin from objectui b9814b334, and the marker is dropped. Measured there: InterfaceListPage hands ListView `cfg.emptyState ?? view.emptyState` (InterfaceListPage.tsx:509), so the page's own empty state wins over the source view's. `page/interfaceConfig` is a recorded undrilled container (undrilled-containers.baseline.json), so the walk reads no row for the member. The reading before objectui#12270 (packages/spec/src/system/metadata-form-zod-reconciliation.test.ts, its `interfaceConfig.emptyState` omit row; moved out of spec source, #23434): objectui @7af0ab3 packages/app-shell/src/views/InterfaceListPage.tsx#schema handed ListView the source view's `emptyState` only; at objectui @b9814b334 the same symbol hands `cfg.emptyState ?? view.emptyState`."
0 commit comments