Repository navigation
Description
director#1 · os-bill · session_01Utp6CaRN6wdrRyLKJSCMYH
Filing gate: ADR-0146 merged into main as cdbf08d1 (PR #28045, 2026-10-30T13:55Z), which lifts epic #28130's ⛔ "no child card before the merge"; the maintainer's word for the epic is 「同意,立专题卡」 (13:22Z). ⛔ Not a claim — this card waits in its lane's queue.
Part of #28130 (phase 2, child 2a) · governs: ADR-0146 D2 · lane: domain:ui · size: M.
Business reason. A customer who installs HotCRM (a code package, read-only in Studio) and wants one column added to the Accounts list view today has two doors: Studio shows the view greyed, and Setup → Metadata's item page is the only place the overlay can be written — a second designer with a second save model (row 13 of #27356 put a link there, PR #27927, only when an overlay already exists). ADR-0146 D2 rules one editor per item: the overlay is edited where the item is designed, in Studio, on the read-only package itself.
Measured (main cdbf08d1).
ui/packages/app-shell/src/views/studio-design/**: the Interfaces pillar renders a read-only package's items without an editor;useStudioDesignGate(objectui#12615) opens the browse entry for read-only packages since PR feat(console): an admin can open a read-only package's app in Studio to look at it #28076.- Overlay-able types in
DEFAULT_METADATA_TYPE_REGISTRY: view, dashboard, report, translation, email_template (ADR-0005 tier). - Setup's
views/metadata-admin/ResourceEditPage.tsxalready writes the overlay row and offers Reset throughclient.reset→DELETE /meta/:type/:name, with the honest tri-statelayered.resettable(objectui#4886) deciding whether the verb is Reset or Delete. - The row-13 link (PR fix(studio): the read-only header offers an overlay only for a type that takes one #27927) sends the Studio reader to that Setup page.
Wanted.
- On a read-only package, the Interfaces pillar's view / dashboard / report items open in their designer editable; the draft writes the overlay row (same door Setup uses today), publish applies it; no new server door.
- The item shows a "customized in this environment" chip read from the layered envelope (served fact, nothing computed client-side), in the rail and in the designer header.
- Reset to package default on the item menu, through the existing
DELETE /meta/:type/:name, with the verb taken fromlayered.resettableexactly as Setup's page does; confirm first; a pending draft of the item is discarded before the reset. - Retire the row-13 "edit the overlay in Setup" link once 1–3 render; translation and email_template follow in a later card (ADR-0146 open question 3 — a simplified form editor — is the maintainer's to answer first).
- Tests: the pillar renders editable on a read-only package for the three types; chip present only when the served envelope says overlaid; Reset verb follows the tri-state; a writable package is unchanged.
Not here. The paired <base>.customize package (2d/2e); flows (2b); any change to the overlay tier (ADR-0005).
Dedupe. #27356 row 13 (landed as the link this card retires); #27927; objectui#4886 (the tri-state). No open area:studio card offers in-place overlay editing.
Links back: ADR-0146 D2 and §9-lift paragraph, ADR-0126 §9 first bullet, #28130, #27356.
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 30, 2026
domain:ui#3 · os-tesla · session_01L9qibz8HEj53Wx2uphTo2o
Claim: PM loop round 1 · 2026-10-30T14:33Z
Session:
session_01L9qibz8HEj53Wx2uphTo2o(seat; implementation by card thread sessionsession_01L9qibxjkNqmByTW1TteTnF,mode:thread)Account:
os-tesla(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/project-thread-3c7skj(the card thread's designated push branch, the recorded platform exception toclaude/issue-<n>-<slug>)Worktree:
objectstack-issue-28147Domain:
domain:uiSeat:
domain:ui#3File surface:
ui/packages/app-shell/src/views/studio-design/StudioDesignSurface.tsx(region:InterfacesPillar,StudioReadOnlyLink, the chip spots in the item header and rail),ui/packages/app-shell/src/hooks/useStudioDesignGate.ts, a new helper underviews/studio-design/, the Studio i18n keys, their tests,.changeset/28147-*.md(stop on breach; explain in the report)Container & model:
M,mode:thread,model: default(dispatch-gates --tier: no path-derived mandate),effort: highClause-②: no
Metadata-protocol: none
Responsibility: n/a — not a defect card
Thread-read: none
Premise: holds
Serial constraints cleared: sibling #28148 (same seat) shares
StudioDesignSurface.tsxby declared region (InterfacesPillar vs AutomationsPillar); no other live claim names these files (in flight: #28068 #28053 seat 1, #27524 seat 2, #28077 #28078 #28079 #28084 seat 4)Routing: cut into the
domain:uiqueue by the director seat (epic #28130 comment 6524722681) after ADR-0146 merged (cdbf08d1); the maintainer's epic word 「同意,立专题卡」. Order:/mnt/project-files/ui-seat-3/r2026-10-30/dispatch-28147.mdunderFRAME.md.objectstack-fleet commentedon Oct 30, 2026
domain:ui#3 · os-tesla · session_01L9qibz8HEj53Wx2uphTo2o
Paused · 2026-10-30T14:56Z — the maintainer, in the
os-teslaproject chat, verbatim: 「2a、2b 开发暂停 #28147 和 #28148 上」 (2026-10-30T14:56:18Z).claude/project-thread-3c7skj@cd0ae0d156(unreviewed WIP). Resume from that sha when the maintainer lifts the pause; ⛔ no push, PR or relay write on this card until then.pm:queue).<base>.customizepackage, the metadata catalog moves into Studio #28130objectstack-fleet commentedon Oct 30, 2026
epic:#28130#1 · hotlong · session_040dfd80c4c9411b895c698e785a6848
Recorded 2026-10-30T15:20Z (desktop session
040dfd80-c4c9-411b-895c-698e785a6848).Label added:
pm:epic(besidepm:dispatched; assignee unchanged; read back); linked as a sub-issue of #28130.Instruction — the maintainer, in a direct desktop session, verbatim: 「相关的issue 你都应该标记 epic,避免被车队认领」.
Development on this card is paused by the maintainer, who notified the lane agent directly — verbatim: 「#28147 和 #28148 开发暂停我已经通知了」 and 「我直接通知车道agent了」. The direction ruled in the same session — 「方向定为包级覆盖:代码和 Studio 用同一机制,定制都进 .custom。」 — supersedes this card's ADR-0146 shape; it is re-scoped or replaced in the epic's re-plan.
The label write and the sub-issue link above were made with the maintainer's own account (
hotlong) from the desktop session before this seat switched to the fleet write tools; this record is the provenance the transition owes.objectstack-fleet commentedon Oct 30, 2026
epic:#28130#1 · hotlong · session_040dfd80c4c9411b895c698e785a6848
Closed 2026-10-30T18:39Z as not planned — replaced, not abandoned.
<base>.custompackage through a declared override, and Studio customization waits for that override core. This card's shape (an in-place overlay of a read-only package's view, ADR-0146 child 2a) is superseded; the work returns as child N-17 of the new epic [Epic] Package-level override: every customization of an installed package lives in its paired <base>.custom package, one declared override shared by code and Studio (supersedes #28130) #28236, cut after the ADR rewrite docs(adr): rewrite ADR-0146 for package-level override — customizations live in <base>.custom through a declared override (folds #28145) #28237 and the override core land.claude/project-thread-3c7skj@cd0ae0d156. The claim byos-teslaends with this close; nothing is owed on this card.