Skip to content

types(test): held-public-block-arms-10872.test.ts:224 asserts an executor-less page action row with onSuccess is accepted — refused once the spec release carrying objectstack#23331 is installed; give the row actionType: 'api' #12338

Closed

Description

@objectstack-fleet

Blocked-by: #12370

Restart-when: npm view @objectstack/spec@next time --json lists a version published after PR objectstack-ai/objectstack#23331 merges, i.e. one whose page action rows refuse onSuccess on a row with no executor

Filing gate: cross-repo rule 3. An accepted objectstack PR's product flows into this repo, and the accepting seat files the consumer's follow-up at ACCEPT, as triage's fork answer on objectstack-ai/objectstack#23168 (6148462268) asks: "The accepting seat files the objectui companion at ACCEPT (cross-repo rule 3), so it lands with the bump." This card is held (pm:on-hold) until the release is installable; the Restart-when: line above is the unlock criterion, and #12030 (objectui onto the next prereleases) is the path by which it reaches this repo.

Filed by objectstack domain:spec seat 2 (objectstack-ai/objectstack#18549) · os-justin · session session_01BRQ9Mp1yH7R1az6MaUM18H. ⛔ Not a claim. Reader who acts: objectui triage, to route it; then the seat whose bump brings the release in.

What lands upstream

objectstack-ai/objectstack#23168, the onSuccess half under triage's answer C, is carried by PR objectstack-ai/objectstack#23331 (open at this filing, ACCEPTed). A page action row's onSuccess (action:button, action:icon, and action:group / action:menu members) is refused beside the runner built-ins url, navigation, modal, flow and form, and on a row with no effective executor. api, script and any host-handler name (for example run) stay open.

The site here that goes red, measured at objectui origin/main 72594f29

  • packages/types/src/__tests__/held-public-block-arms-10872.test.ts:224 asserts that { type, properties: { onSuccess: { navigate: '/tasks' } } } is ACCEPTED for action:button and action:icon, on both faces. That row has no executor and no name, so under the new release it is refused at properties.onSuccess.
  • The remedy is one line: give that row an executor that can carry the hop, actionType: 'api' with a target, so the assertion still proves what the test is about (the flat onSuccess remedy lands on an accepted shape).
  • Measured NOT red by the upstream dev: action-button-icon-inputs-11168.test.tsx:474-490 (a host handler run, left open), action-onSuccess-forward.test.tsx (type: 'api'), and apps/console/src/__tests__/registry-inputs-spec-parity.test.ts.

Acceptance

Run on the installed release, in the bump PR that brings it in:

  • The line above changes as described, and the test is green on both faces.
  • No other objectui test changes verdict (the upstream dev's census found none).

Dedupe

MCP search_issues on objectstack-ai/objectui was not needed for a one-line companion: the site is named by the upstream triage comment and measured by the upstream dev (report 6154277169 on objectstack-ai/objectstack#23168).

Dedupe words: held-public-block-arms onSuccess no executor; page action row onSuccess refused spec bump; action:button properties.onSuccess accepted.


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 14, 2026

    @objectstack-fleet
    ContributorAuthor

    Unlock scan: Restart-when: met (18.0.0-next.1 published 12:08Z) · first grade · priority:p1 · domain:ui · area:devpath · target:v18 · pm:on-hold → pm:blocked on #12370 · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-14T12:38Z

    Read fresh. The line's condition is a publication, and it holds: npm view @objectstack/spec dist-tags reads next: 18.0.0-next.1, built from objectstack 0c52e43075, past this card's upstream commit.

    Blocked-by: #12370

  2. added
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seat
    and removed on Oct 14, 2026
  3. objectstack-fleet commented on Oct 14, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1
    Session: session_01XVp19E1MYUTFM3dnkwz8gB
    Account: baozhoutao (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/issue-12370-spec-next-1 (this card rides the objectui#12370 bump PR, as both card bodies direct)
    Worktree: objectui-issue-12370
    Domain: domain:ui
    Seat: domain:ui#2
    File surface: packages/types/src/__tests__/held-public-block-arms-10872.test.ts (stop on breach; explain in the report)
    Container & model: S, mode:subagent, model: opus, under the objectui#12370 dispatch
    Clause-②: yes — under the objectui#12370 claim, which owes the contract review for the bump.
    Responsibility: n/a — not a defect card
    Thread-read: 6168539983
    Serial constraints cleared: see the objectui#12370 claim. Blocked-by: #12370 is met by riding that PR. The state moves pm:blocked → pm:dispatched in this stroke.


    Generated by Claude Code

  4. objectstack-fleet commented on Oct 14, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT pointer · domain:ui seat 2 · session_01XVp19E1MYUTFM3dnkwz8gB · 2026-10-14T19:16Z

    This card rides objectui PR #12381 (Fixes #12338). The seat's ACCEPT is on objectui#12370; the contract review on the same head passed (6176288280). The remedy row names actionType: 'api' with a target, as this card prescribes. It is accepted on both faces on next.1 and passes on next.0.


    Generated by Claude Code

  5. objectstack-fleet commented on Oct 14, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed · domain:ui seat 2 · session_01XVp19E1MYUTFM3dnkwz8gB · 2026-10-14T19:55Z

    This card rode objectui PR #12381, which merged as main ff9df88. On origin/main, packages/types/src/__tests__/held-public-block-arms-10872.test.ts is blob-identical to the accepted head 50056a8, and the remedy row carries actionType: 'api' with a target. The full landing note is on objectui#12370. pm:dispatched is removed in the same stroke.


    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

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedomain: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