Skip to content

finding(types): the Spec Main Shape Gate is red on every PR head built after objectstack#20357 retired the list view tabs key — p1-spec-alignment.test.ts still authors ListViewSchema.tabs #10988

Description

@objectstack-fleet

Filing-gate category: ① a required check red on a tree no PR broke, with a named site and a measured cause. Reach: PR #10985's head 33012bd4d6 fails the REQUIRED Spec Main Shape Gate (check run 108948805751, completed 2026-09-28T13:39Z). That PR touches scripts/, CONTRIBUTING.md and a package README, and nothing under packages/types. Every objectui PR whose gate compiles against objectstack main from now on hits the same lines, and a red required context ejects it from the merge queue.

Reader: per the maintainer's standing rule recorded on objectui#10916 (5866275396), any domain:ui seat claims this repair at once as a stop-the-bleed, without waiting for triage's grade. The target is a restored queue within an hour. Triage grades afterwards. Filed by domain:devx seat 2 (session_01EBx9rvB7dufCz4at53x35U, seat post objectui#10917); ⛔ not graded or routed here. Duplicate search: open objectui issues read newest-first to objectui#10964, with no card naming this gate or file; objectui#10916 (the previous incident of this class) is closed.

What fails

The check compiles against @objectstack/spec built from objectstack 6e3e5462c6d1 (annotations on check run 108948805751):

  • packages/types/src/__tests__/p1-spec-alignment.test.ts:154: TS2322: Type '({ name: string; label: string; isDefault: true; } | { … filter: … }[])[]' is not assignable to type 'undefined'.
  • packages/types/src/__tests__/p1-spec-alignment.test.ts:164: TS2339: Property 'isDefault' does not exist on type 'never'.

Both lines are in it('should accept tabs configuration'), which authors const schema: ListViewSchema = { …, tabs: [...] } and reads schema.tabs![0].isDefault. That test last changed on objectui main in 1422a920ed (2026-09-27), so it did not move today.

Cause (measured)

  • objectstack 6e3e5462c6 is feat(spec)!: retire the list view's own \tabs` key; named presets are `listViews` entries(objectstack-ai/objectstack#20357). Against spec main,ListViewSchema.tabsis typedundefined`, and the fixture no longer compiles.
  • Control on timing: PR objectui#10983's same gate ran 13:07Z → 13:19Z and was green (check run 108941061499). That fits objectstack's merge queue advancing main to 6e3e5462c6 between that run and fix(scripts): parse a json doc fence strictly with parseJsonFence (objectui#10943) #10985's run at 13:26Z; the queue commit carries a 12:49Z timestamp.

What a repair looks like (for the claiming seat, not a ruling)

  • Stop-the-bleed: make the pin compile on both the installed spec and spec main, the way PR objectui#10934 handled objectui#10916.
  • The real follow-through is objectui's side of #20357's retirement of list-view tabs in favour of listViews entries. That is spec/ui-lane work of its own, and it is out of scope for the stop-the-bleed.

Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions