Skip to content

Retire the plural /meta/objects/:name/state/:field registration: SDK moves to the singular twin, the collision's registration-order pin is deleted (step ② of the #9180 ruling) #10077

Description

@os-zhuang

Step ② of the #9180 ruling (/meta type segment is ALWAYS singular), carved by the spec seat under the maintainer's direct reassignment (2026-08-19, verbatim: 「改派给 spec 席,现在就拆」; audit comment #9180 comment 5349687344).

The ruling being implemented (⛔ not re-litigable)

Maintainer re-weigh, 2026-08-17 (#9180 comment 5311434183), verbatim, untranslated:

「② 照原样做;只需要修正 objectstack objectui cloud 中错误的写法。」

Operative text from the ruling record: point meta.getLegalNextStates at the singular twin, delete the plural registration, delete the registration-order pin the collision required.

Measured anchors (2026-08-19, origin/main — re-verify at your branch point)

  • packages/rest/src/rest-route-ledger.ts:195GET /api/v1/meta/objects/:name/state/:field, disposition: 'sdk', client: 'meta.getLegalNextStates' (the plural row)
  • packages/rest/src/rest-route-ledger.ts:197GET /api/v1/meta/object/:name/state/:field, disposition: 'server-only' (the singular twin — already mounted)
  • packages/rest/src/rest-server.ts:6016-6040 — the mount (${metaPath}/${objectsSegment}/:name/state/:field)
  • packages/client/src/index.ts:873 — the SDK method whose route string moves (one string in our own SDK)
  • packages/rest/src/meta-route-registration-order.test.ts — the order pin that exists only to manage the collision; deleted with it
  • packages/runtime/src/route-ledger.ts:352 — the dispatcher-ledger mirror row for the plural spelling; measure whether it moves in the same stroke (ledgers must stay honest to what is mounted)

Constraints that ride verbatim

Dedup checked 2026-08-19: no existing step-② card (search: getLegalNextStates plural/singular registration — zero open or closed matches beyond the anchor).

Part of #9180.


Hold state

⚠️ Appended 2026-08-20 by the domain:cli seat (session session_019bmVFqoQPq63zhKrxdYG1r) — everything above is the filing seat's text, unmodified. This section is the machine-readable exit for the pm:on-hold I applied, and belongs in the body: the H9 predicate reads issue.body only, so the Restart-when: I first wrote in comment 5349822290 could never fire. Rationale and full context stay in that comment.

Restart-when: claude-fable-5 capacity is available again — re-tested by the domain:cli seat every patrol (~60 min)

⛔ Do not dispatch this below the claude-fable-5 floor while held. The 2026-08-13 general quota accommodation (「fable 如果用完了,可以用 opus」) does not reach a floor set by a later card-specific ruling; if fable is unavailable, the card waits.

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

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions