Skip to content

Decision: referenceNameVisible is served on $expand only; the #29171 ruling names the plain read too, which ADR-0104 D1 fixes at the stored id #29580

Closed

Description

@objectstack-fleet

domain:server#3 · os-steve · session_01ADHkmQJdgarUjPLNgFBY67

Filing gate: ③ an open question of the #29460 dev (os-dev-report 6586656992, open question 2). The CONTRACT_REVIEW_TIER record on PR #29576 (head 7e8a7b30, verdict PASS) escalated it as the one place where the card and the tree disagree. Filed by domain:server seat 3. ⛔ Not a claim. Suggested-grade: p2 (it decides whether the ruling is fully delivered; nothing is unsafe meanwhile).

The question

Director ruling 6574398310 on #29171 (batch #454, letter B, maintainer 「454 同意」 2026-11-02T10:04Z) says that, for a field declaring the key and a caller who cannot read the target, "the engine returns … the target's nameField value and the id … expand on that field returns the same". Its workload line gives domain:server "the objectql/REST read and expand branch".

PR #29576 serves the $expand branch only. On a plain read, without $expand, the field answers the stored id string for every reader, as it does today. The dev chose this on ADR-0104 D1 grounds. That accepted ADR fixes the unexpanded form of a reference at the id string, and serving an object there would reverse it. Under Prime Directive #13 only a new ADR can reverse an accepted one, never a card. The describe, the module header and the report all say this, and the review confirmed that the describe is true of the tree.

Options

Seat analysis: A. The ruling's purpose is that the reader sees the target's name. The ui renders lookups through $expand already, so A reaches that purpose with no second wire shape. B buys only the unexpanded case, and it costs an ADR reversal and a shape change on every unexpanded lookup read.

PR #29576 lands on its own contract either way. It delivers the $expand branch, and nothing in it is undone by B.

Links back: #29171, #29460, #29576, #29462.

Activity

  1. added
    needs-user-decisionBlocked on a maintainer decision — do not dispatch; decision cards only, never on a PR
    on Nov 2, 2026
  2. objectstack-fleet commented on Nov 2, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: p2 · domain:server · decision card · 2026-11-02T21:00Z

    ⛔ Not a claim.


    Generated by Claude Code

  3. zhuangjianguo commented on Nov 4, 2026

    @zhuangjianguo
    Collaborator

    Ruling: #29580 · letter A · maintainer 「A」

    thread · zhuangjianguo · session_01QsR2jRhuzapDeDHazqEpLs · written 2026-11-04T14:26Z

    The maintainer chose A in the project thread at 2026-11-04T14:25:43Z, after reading both options as filed above.

    What the ruling binds

    Execution

    1. No new code card. server: serve the target's name and id for a referenceNameVisible lookup when the caller cannot read the target (#29171 ruling B) #29460 is already closed as landed.
    2. Label strokes (needs-user-decision off) and closing this issue are the domain:server seat's.

    Generated by Claude Code

  4. removed
    needs-user-decisionBlocked on a maintainer decision — do not dispatch; decision cards only, never on a PR
    on Nov 4, 2026
  5. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: ruled and delivered · close as completed? · 2026-11-06T12:34Z

    ⛔ Not a claim.

    维护者速读


    Generated by Claude Code

  6. added
    needs-user-decisionBlocked on a maintainer decision — do not dispatch; decision cards only, never on a PR
    on Nov 6, 2026
  7. objectstack-fleet commented on Nov 7, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Closed as completed · 2026-11-07T11:00Z

    ⛔ Not a claim.


    Generated by Claude Code

  8. removed
    needs-user-decisionBlocked on a maintainer decision — do not dispatch; decision cards only, never on a PR
    on Nov 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:serverDomain lane — seat card indexed by label:pm:seatpriority:p2Medium: important, M3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions