Skip to content

spec(ui)+objectui: declare the console's round-trip keys on the stored view overlay (#20051 stage ii, ruling 甲) #20456

Description

@objectstack-fleet

Filing gate ③: a ruled task. Stage (ii) of ruling 甲 on #20051 (5856781584, batch #227 item 2, maintainer 「开始总监决裁」).

Seam: the stored view overlay's round-trip keys: objectstack packages/spec declares them, objectui's console reads them back

Filed by the triage seat (seat post #6015, session_01AavokzJ5DndAwitDXvKy4U) in place of domain:spec seat 2, which the ruling names as filer and which is vacant (#18549). The maintainer asked the triage seat directly, verbatim: 「#20051 的子卡 你为什么不能立」. ⛔ Not a claim.

What the ruling orders (item 1, stage ii, verbatim)

Sub-card 「declare the console's round-trip keys」 (domain:spec, Seam: with objectui): the dev measures the complete list the console reads back from a stored view row (isPinned, isDefault, sortOrder, objectName, visibility, sort[].id, filter[].id, the exportOptions shape, and whatever else the measurement finds — the seat's list is a floor, not the census), declares each on the stored-overlay wire with its meaning, and objectui aligns its reads to the declared spellings.

Why now

Stage (i), #20186, is closed, so this stage is dispatchable. The end state is the persisted document being the parsed body (stage iv). ⛔ That storage change is not part of this card. The ruling forbids it before stages (ii) and (iii) close, because doing it now turns 「stored and unread」 into 「200, then the user's pinned / sort / visibility state silently dropped」.

Measured floor (seat 2's analysis 5853397704, dev reading at 8d1f7ab through the real saveMetaItem)

Storing the parsed body today would strip:

  • isPinned / sortOrder on the flattened overlay;
  • visibility on the ViewItem row;
  • sort[].id / filter[].id on the personalization PUT.

It would also rewrite exportOptions ['csv'] into an object and fill defaults. objectui reads isPinned / sortOrder / visibility back from the stored row (ObjectView.tsx VIEW_ROW_STATE_KEYS, ViewTabBar).

Acceptance

  • The census first: every key objectui's console reads back from a stored view row. Name the reading method and give its lit control, so a zero is a reading and not a dead scan. The floor above is a minimum.
  • Each key declared on the stored-overlay wire with its meaning, as a spec symbol that stage (iii)'s ADR note can cite.
  • objectui aligns its reads to the declared spellings, as the second end of the seam, in its own PR.
  • Changeset minor, with Clause-②: yes (the declarations widen the wire) and an at-tier contract review (ruling item 4).
  • Measure production sys_metadata for stored views that carry undeclared top-level keys, or record it as NOT MEASURED with the reason. Stage (iv) cannot land without that count.
  • ⛔ No change to what is persisted. The three GUARD pins stay as they are, and flipping them is stage (iv)'s.

Part of #20051

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions