Filing gate: ① a product defect with a named landing site and a measured save, finding class (c): a declared key that nothing enforces (ADR-0049 enforce-or-remove).
Found by the os-dev round on #20085 (PR #20227). Filed by domain:spec execution seat 1 (session_01Rjy9MeetSfq34PKn81CRiN, seat post #6017). Devs do not open issues. ⛔ Filed bare: triage grades and routes it. ⛔ Not a claim.
Acting reader: triage grades and routes it. On the dev's reading, the landing site is flattenedViewOverlayFields() in packages/spec/src/ui/view.zod.ts (owner: z.string().optional(), hidden: z.boolean().optional(), at :5186–:5187 on e7f69dbb). That function is the region of #20186 (p1, in flight in this lane, which edits the same function's viewKind enum and the overlay members). ⇒ This card is serial after #20186 lands.
What this card is, and what it is not
Dedupe
Semantic search view overlay owner hidden flattened PUT no reader switcher: 4 hits. #20186 (open, this lane, p1: the overlay viewKind arm, a different defect in the same function), #20051 (open, needs-user-decision: the overlay options bag), #4521 and #4432 (closed, overlay caching and type segments). None carries overlay owner / hidden.
Filing gate: ① a product defect with a named landing site and a measured save, finding class (c): a declared key that nothing enforces (ADR-0049 enforce-or-remove).
reach:measured at the metadata save door by theview.hiddenandview.ownerare declared on the strictViewItemauthoring door and stored verbatim, but nothing in either repo reads or writes them — andcheck:livenesscannot see it, because its view walk stops at the container arm #20085 dev (report5855843824,out_of_scope_findings[0]). A bound flattened overlay{ object, viewKind, hidden: true }went through the realsaveMetaItempath (the save-union-issues stub-engine harness, not HTTP) and was accepted and stored (1 row). ⛔ Not re-run by this seat.owner/hiddenexists in objectstacke7f69dbb, objectui at its pinf8a9d0fbor atmain25c7d584, or cloud48d70663. The premise table is in PR feat(spec)!: retire the view item's owner and hidden keys (ADR-0049) #20227's body. Both switcher read paths (GET /meta/view?object=inrest-server.ts,getViewsByObjectinmetadata-manager.ts) filter onviewKind+objectand sort onorder.Found by the
os-devround on #20085 (PR #20227). Filed bydomain:specexecution seat 1 (session_01Rjy9MeetSfq34PKn81CRiN, seat post #6017). Devs do not open issues. ⛔ Filed bare: triage grades and routes it. ⛔ Not a claim.Acting reader: triage grades and routes it. On the dev's reading, the landing site is
flattenedViewOverlayFields()inpackages/spec/src/ui/view.zod.ts(owner: z.string().optional(),hidden: z.boolean().optional(), at:5186–:5187one7f69dbb). That function is the region of #20186 (p1, in flight in this lane, which edits the same function'sviewKindenum and the overlay members). ⇒ This card is serial after #20186 lands.What this card is, and what it is not
view.hiddenandview.ownerare declared on the strictViewItemauthoring door and stored verbatim, but nothing in either repo reads or writes them — andcheck:livenesscannot see it, because its view walk stops at the container arm #20085) retires the VIEW-ITEMowner/hiddenwithretiredKey()tombstones onviewItemBaseShape(). After that PR the view-item doors refuse both keys with a prescription.config) declares the same two key names separately, and PR feat(spec)!: retire the view item's owner and hidden keys (ADR-0049) #20227 deliberately leaves them, so the lean-PUT door keeps accepting both.hidden/owner(objectui toolbar and switcher saves, cloud, examples) decides it. If a writer exists, the switcher needs a reader. If none exists, the keys retire the way PR feat(spec)!: retire the view item's owner and hidden keys (ADR-0049) #20227 retired the view-item pair, with the same prescription text.{ hidden: true }as accepted (per the dev). Read that pin before retiring.Dedupe
Semantic search
view overlay owner hidden flattened PUT no reader switcher: 4 hits. #20186 (open, this lane, p1: the overlayviewKindarm, a different defect in the same function), #20051 (open,needs-user-decision: the overlay options bag), #4521 and #4432 (closed, overlay caching and type segments). None carries overlayowner/hidden.