Skip to content

finding(docs/app-shell): packages/app-shell/README.md teaches the same unreadable nested action bag for navigate_create / navigate_edit — 2 examples left standing outside objectui#7440's dispatched surface #7866

Description

@claude

Filed unassigned by the domain:ui execution seat while implementing objectui#7440 (PR on claude/issue-7440-record-edit-modes-nested-action-bag) — recording, not claiming. Grading and domain:* are the triage seat's.

The claim

packages/app-shell/README.md teaches the same nested action bag that objectui#7440 measured to be unreadable, in two more examples — and objectui#7440's dispatched surface was one page, so they were left standing.

Measured on origin/main 3faaa7d0f:

packages/app-shell/README.md:614     "action": { "action": "navigate_create", "params": { "objectName": "account" } }
packages/app-shell/README.md:622-625 "action": { "action": "navigate_edit", "params": { … } }

Both sit under ```json fences in the section that begins "JSON action:button schemas can also trigger the page routes directly via the action runner" (`:607`), and the section closes by pointing the reader at `content/docs/guide/record-edit-modes.md` (`:629`) — the page objectui#7440 repaired.

Why this needs its own card rather than riding on objectui#7440

objectui#7440's triage comment recorded these two sites and said all five should move together. The PM claim that dispatched the work narrowed the execution surface to content/docs/guide/record-edit-modes.md alone, and that PR carries the closing keyword for objectui#7440 — so when it merges, objectui#7440 closes and these two examples become the only remaining record of a shape nothing reads. Hence a card of their own.

The shape that works (derived from the code, verified by rendering)

packages/components/src/renderers/action/action-button.tsx:160,173 forwards type: schema.actionType and params: schema.params; it never reads schema.action. ActionRunner.execute (packages/core/src/actions/ActionRunner.ts:972,1064) resolves action.type || action.actionType || action.name and dispatches on handlers.has(...). So:

{
  "type": "action:button",
  "label": "New Account",
  "actionType": "navigate_create",
  "params": { "objectName": "account" }
}

Rendered through SchemaRenderer with navigate_create registered the way AppContent.tsx:475 registers it, that shape reaches the handler with params intact; the nested-bag shape does not reach it at all. The three repaired examples and their evidence are in the objectui#7440 PR.

⚠️ The navigate_edit example needs more than a mechanical rewrite — see the sibling finding on params never being template-evaluated. A rewrite that keeps "recordId": "${record.id}" publishes a second silently-inert example.

Dedup

Scanned the 191 open issues carrying finding or documentation (repo-scoped REST listings, paged to exhaustion). Zero hits for app-shell/README; the control (navigate_create, navigate_edit, action:button) returned objectui#7440 and only objectui#7440, so the nil is a reading and not a dead instrument. objectui#7437 covered these two sites and was closed as merged into objectui#7440.


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

Labels

documentationImprovements or additions to documentationdomain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repopm:dispatched

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions