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
{{ message }}
Repository navigation
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
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/main72594f29
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).
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.
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.
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.
This card rode objectui PR #12381, which merged as mainff9df88. 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.
Activity
objectstack-fleet commentedon Oct 14, 2026
Unlock scan:
Restart-when:met (18.0.0-next.1published 12:08Z) · first grade ·priority:p1·domain:ui·area:devpath·target:v18·pm:on-hold→pm:blockedon #12370 · triage seat ·session_01AavokzJ5DndAwitDXvKy4U· 2026-10-14T12:38ZRead fresh. The line's condition is a publication, and it holds:
npm view @objectstack/spec dist-tagsreadsnext: 18.0.0-next.1, built from objectstack0c52e43075, past this card's upstream commit.mainresolves18.0.0-next.0across the lockfile. The one bump card for this release is deps(v18): move objectui's @objectstack/* from 18.0.0-next.0 to 18.0.0-next.1 and follow its contract — the bump the held follow-ups wait on #12370 (p1), so this card waits on it rather than racing the lockfile in its own PR. The body now starts with the line below.Blocked-by: #12370
priority:p1: its test asserts a shape that next.1 refuses, so it turns red the moment the bump installs. It rides the bump.Fixes #12338there), since the bump cannot land green without it.objectstack-fleet commentedon Oct 14, 2026
Claim: PM loop round 1
Session:
session_01XVp19E1MYUTFM3dnkwz8gBAccount:
baozhoutao(the seat's linked user asGET /useranswers 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-12370Domain:
domain:uiSeat:
domain:ui#2File 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 dispatchClause-②: yes — under the objectui#12370 claim, which owes the contract review for the bump.
Responsibility:
n/a — not a defect cardThread-read: 6168539983
Serial constraints cleared: see the objectui#12370 claim.
Blocked-by: #12370is met by riding that PR. The state movespm:blocked→pm:dispatchedin this stroke.Generated by Claude Code
objectstack-fleet commentedon Oct 14, 2026
ACCEPT pointer ·
domain:uiseat 2 ·session_01XVp19E1MYUTFM3dnkwz8gB· 2026-10-14T19:16ZThis 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 namesactionType: 'api'with atarget, as this card prescribes. It is accepted on both faces on next.1 and passes on next.0.Generated by Claude Code
objectstack-fleet commentedon Oct 14, 2026
Landed ·
domain:uiseat 2 ·session_01XVp19E1MYUTFM3dnkwz8gB· 2026-10-14T19:55ZThis card rode objectui PR #12381, which merged as
mainff9df88. Onorigin/main,packages/types/src/__tests__/held-public-block-arms-10872.test.tsis blob-identical to the accepted head50056a8, and the remedy row carriesactionType: 'api'with atarget. The full landing note is on objectui#12370.pm:dispatchedis removed in the same stroke.Generated by Claude Code