Skip to content
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
This repository was archived by the owner on Nov 4, 2026. It is now read-only.

types: layout.zod.ts imports checkPageComponentViewData, which objectstack main deleted (objectstack#23784), so objectstack's console pin no longer builds — drop the import #12666

Closed

Description

@objectstack-fleet

Filing gate ④: a cross-repo child. This is the objectui half of objectstack-ai/objectstack#23908 (domain:spec, p1, target:v18), filed by the triage seat (objectstack-ai/objectstack#6015, session_01AavokzJ5DndAwitDXvKy4U), because that card's filer could not reach this repository. ⛔ Not a claim.

Reader who acts: the domain:ui seat, one PR. The precedent is objectui#5710, the same shape: dangling @objectstack/spec/ui imports in packages/types/src/zod breaking objectstack's Console Pin Gate.

What breaks

  • objectstack PR #23784 (a35f7a6764, merged 2026-10-16) deleted checkPageComponentViewData from @objectstack/spec/ui. Its title: "the component-props rule is the one judge of a page component's retired api data binding".
  • objectstack's pnpm objectui:build builds this repo's console at objectstack's .objectui-sha against objectstack's own spec tree. It now fails with [MISSING_EXPORT] "checkPageComponentViewData" is not exported by "packages/spec/dist/ui/index.mjs". objectstack's hourly full run is red on it (hourly full run: red on main (CI) objectstack#23885, diagnosis 6214926932).
  • No later @objectstack/spec release will carry the export, so this repo's own next spec bump would fail on it too.

Where (objectui main, read now)

  • packages/types/src/zod/layout.zod.ts:25: the import.
  • packages/types/src/__tests__/imported-defaults-8317.test.ts:145 and :710, and packages/types/src/__tests__/spec-object-refinements-7715.test.ts:316–:326: tests that name it.

Done when

  • No file in this repo imports or names checkPageComponentViewData.
  • The page-component check reads what the installed spec offers in its place. Read the installed 18.0.0-next.2 before deleting; the claimant measures what replaces it.
  • A build of the console at this PR's head, against objectstack main's spec (objectstack scripts/build-console.sh with OBJECTSTACK_SPEC_DIST), exits 0. The PR names the commit, so objectstack's pin move can carry it.

Grade

p1 + target:v18, as objectstack#23908: a spec export removal, and objectstack's console build on main is red until both halves land.

Dedupe

MCP search_issues on objectstack-ai/objectui, all states: checkPageComponentViewData import layout.zod.ts removed spec console pin build returned 11 hits. None is this import. The nearest are objectui#5710 (closed, the theme-schema precedent) and objectui#12468 (closed, the jsx kind).

Dedupe words: checkPageComponentViewData import; layout.zod.ts missing export; console pin gate MISSING_EXPORT.

Activity

  1. added
    bugSomething isn't working
    domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seat
    and removed on Oct 16, 2026
  2. objectstack-fleet commented on Oct 16, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 2 (priority:p1, target:v18; the objectui half of objectstack-ai/objectstack#23908)
    Session: session_01XVp19E1MYUTFM3dnkwz8gB
    Account: baozhoutao (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/issue-12666-drop-page-component-viewdata
    Worktree: objectui-issue-12666
    Domain: domain:ui
    Seat: domain:ui#2
    File surface: packages/types/src/zod/layout.zod.ts (the import at :25 and the two .superRefine attachments at :1398 and :1463, plus their comments); packages/types/src/__tests__/imported-defaults-8317.test.ts and packages/types/src/__tests__/spec-object-refinements-7715.test.ts (the lines that name the symbol); tests beside; one .changeset/12666-*.md (stop on breach; explain in the report).
    Container & model: S, mode:subagent, model: opus (default tier; dispatch-gates --tier --repo objectstack-ai/objectui over the 2 planned source paths reads no path-derived mandate)
    Clause-②: no (provisional: the dev measures whether dropping the refinement widens what @object-ui/types' published page schemas accept with nothing in its place; if it does, the PR line becomes yes and a contract-tier review is owed before the queue)
    Responsibility: this repo's import of an export objectstack deleted (objectstack#23784) | none: no later spec release carries it | objectstack's console pin build today (objectstack#23885), and this repo's next spec bump
    Thread-read: none
    Serial constraints cleared: seat 1's in-flight objectui#12654 (claim 6215663324) declares packages/types/src/** only where visibleOn / visibility are declared or folded. layout.zod.ts names neither (read on main now), and its re-pointed couplings are different test files, so the surfaces are disjoint. If both PRs touch the same file, whichever lands second merges main.
    Claimed at: 2026-10-16T12:58Z

  3. objectstack-fleet commented on Oct 16, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report
    {
    "issue": 12666,
    "status": "done",
    "branch": "claude/issue-12666-drop-page-component-viewdata",
    "pr": "#12678",
    "session": "session_01XVp19E1MYUTFM3dnkwz8gB (dispatch order md5 2c6d7c6a517b459156c4ce40179ff063)",
    "premise_still_valid": true,
    "summary": "layout.zod.ts no longer imports or attaches checkPageComponentViewData (both .superRefine sites, PageNodeSchema and PageKindNodeSchema), and its comments are rewritten. A1 measured FALSE: the replacement objectstack#23784 names, validateComponentProps, lives in @objectstack/lint (packages/lint/src/validate-component-props.ts on objectstack main), not in @objectstack/spec, and is not a Zod refinement. Next.2 exports no such spec symbol either. So per the ruling the attachment is dropped and the new accept set is pinned: a slotted object-grid/map/gantt/tree naming provider api is now ACCEPTED (the widening, same as spec main's PageSchema), and a region object-grid/map/gantt is still refused by its own arm at properties.data.provider. Clause-② corrected to yes on the PR's second line. The census in spec-object-refinements-7715 counts the judge next.2 still carries by behaviour, not by name (specChecksRemovedOnMain): it reads 1 on next.2 and 0 on a spec without it. Repo-wide git grep for the symbol: 0 hits (control checkPageRegionPlacement: 8). Build proof: console at head 0d8acde against objectstack main abb6df0e01's spec exits 0, and the base-layout control reproduces the MISSING_EXPORT.",
    "tests": "All at head 0d8acde, under os-verify-lock, vitest --maxWorkers=1. (1) Three touched/new files: 3 files, 316 tests passed. (2) packages/types/ dir: Test Files 384 passed, Tests 10354 passed, VERDICT command-exit 0. (3) pnpm --filter @object-ui/types type-check, which includes tsconfig.test.json over src/**/*.test.ts: exit 0. The '^...' closure has no build script (ERR_PNPM_RECURSIVE_RUN_NO_SCRIPT). (4) Reverse verification: layout.zod.ts restored from base 4be76e0 over the committed fix. 'superRefine(checkPageComponentViewData)' greps 2 in the mutant and 0 after. Result 5 failed / 38 passed (four slotted-accept cases plus the census detach case). Restored with git checkout HEAD --, git diff HEAD 0 bytes, HEAD blob hash match. (5) A2 build: objectstack main abb6df0e01 scratch worktree, turbo build @objectstack/spec exit 0 (dist ui: 0 hits for the symbol, 3 for checkPageRegionPlacement). In the objectui worktree: turbo build console^... 34/34 exit 0, then OBJECTSTACK_SPEC_DIST=...packages/spec pnpm --filter @object-ui/console run build, exit 0 with 0 MISSING_EXPORT; the log echoes the injected path. CONTROL: base layout plus types rebuilt gives exit 1 '[MISSING_EXPORT] "checkPageComponentViewData" is not exported by .../os-main/packages/spec/dist/ui/index.mjs'. Restored (hash match), types rebuilt, head console build re-run exit 0. Narrowing declared: build-console.sh steps run by hand; client injection and the single-zod canary were not run (neither reads this diff). Scratch worktree removed. (6) eslint --no-inline-config --format json on the 4 changed .ts files: 4 files, 0 errors, 0 warnings. Root eslint.config.js has no parserOptions.project or projectService, so linting is not type-aware and untouched files cannot move. (7) exit 0: check:phantom-deps, self-import, unreferenced-sources, doc-example-readers, handler-key-reads, side-effects-array, element-data-source-declaration, spec-symbols, action-forward-parity, designer-field-key-parity, icon-record-names, i18n-keys, i18n-drift, i18n-designer-parity, control-bytes, check-hand-rolled-comment-mask.mjs, check-changeset-fixed.mjs, check-changeset-presence.mjs. check:spec-floors exit 1, NOT MEASURED: 22 [no-artifact] findings, no build output in the worktree, as the order predicted. CI: in_progress, not awaited.",
    "mcp_calls": "0",
    "api_writes": "2 relayed REST writes via fleet-write dispatch (run 38907295069): POST /repos/objectstack-ai/objectui/pulls (draft #12678) + POST /repos//issues/12678/assignees [baozhoutao]; plus this os-dev-report comment POST /repos//issues/12666/comments; git pushes: 2 (empty branch, 0d8acde). Labels: 0 writes (objectui, none named).",
    "open_questions": [],
    "out_of_scope_findings": [
    "observation (not filed, no reach measured): the object-tree arm does not read a region component's properties bag; { type: 'object-tree', properties: { objectName, data } } under regions is refused RECORD_SOURCE_REQUIRED whatever data says. Unchanged by this PR. carrier: 承接者:无 · noted in PR Acceptance notes only · dedupe words: object-tree properties bag region; RECORD_SOURCE_REQUIRED tree bag"
    ],
    "files_changed": [
    "packages/types/src/zod/layout.zod.ts",
    "packages/types/src/tests/imported-defaults-8317.test.ts",
    "packages/types/src/tests/spec-object-refinements-7715.test.ts",
    "packages/types/src/tests/page-component-view-data-12666.test.ts",
    ".changeset/12666-drop-page-component-viewdata.md"
    ],
    "deviations": "Clause-② corrected from the provisional no to yes (measured widening). The PR footer uses the role file's session-URL form, not the harness reminder's. No other deviation."
    }

  4. objectstack-fleet commented on Oct 16, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed · domain:ui seat 2 · session_01XVp19E1MYUTFM3dnkwz8gB · 2026-10-16T14:11Z

    PR #12678 merged through the merge queue as 15d8ca6da09121862150fd9f198d12fc248033df, which is on main. Verified by content: all 5 of the PR's files on origin/main are blob-identical to the accepted head bb01fe7. The squash commit's message names no model, and git grep checkPageComponentViewData on origin/main returns nothing.

    What landed:

    • @object-ui/types no longer imports or attaches the spec export objectstack#23784 deleted.
    • The page doors now accept a slotted view-data block naming provider: 'api', at any depth, as objectstack main's PageSchema does. Under regions, objectui's component arms still refuse it.
    • The changeset is minor.

    For objectstack-ai/objectstack#23908: the console builds against objectstack main's spec at this PR's head (measured on 0d8acdea5; the patch round touched only a test and the changeset). objectstack's .objectui-sha can move to 15d8ca6 or any later main commit.

    pm:dispatched leaves with this note. The card closed completed on merge.


    Generated by Claude Code

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpriority:p1target:v18

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions