You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Studio: edit a read-only package's views, dashboards and reports in place — overlay draft, "customized in this environment" chip, Reset to package default (ADR-0146 D2; #28130 child 2a) #28147
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.
Setup's views/metadata-admin/ResourceEditPage.tsx already writes the overlay row and offers Reset through client.reset → DELETE /meta/:type/:name, with the honest tri-state layered.resettable (objectui#4886) deciding whether the verb is Reset or Delete.
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 from layered.resettable exactly 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.
Claim: PM loop round 1 · 2026-10-30T14:33Z
Session: session_01L9qibz8HEj53Wx2uphTo2o (seat; implementation by card thread session session_01L9qibxjkNqmByTW1TteTnF, mode:thread)
Account: os-tesla (the seat's linked user as GET /user answers it; the card's assignee)
Branch: claude/project-thread-3c7skj (the card thread's designated push branch, the recorded platform exception to claude/issue-<n>-<slug>)
Worktree: objectstack-issue-28147
Domain: domain:ui
Seat: domain:ui#3
File 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 under views/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: high
Clause-②: 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.tsx by 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:ui queue 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.md under FRAME.md.
Paused · 2026-10-30T14:56Z — the maintainer, in the os-tesla project chat, verbatim: 「2a、2b 开发暂停 #28147 和 #28148 上」 (2026-10-30T14:56:18Z).
Development on this card stops here. The claim 6525302237 and the assignee stand; nothing is released, and no PR is open.
Work so far: 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.
Waiting on: the maintainer's word to resume (or to release the card back to pm:queue).
Recorded 2026-10-30T15:20Z (desktop session 040dfd80-c4c9-411b-895c-698e785a6848).
Label added: pm:epic (beside pm: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.
Work so far, kept as reference for N-17 (unreviewed, never merged): claude/project-thread-3c7skj@cd0ae0d156. The claim by os-tesla ends with this close; nothing is owed on this card.
Instruction — the maintainer, in a direct desktop session, verbatim: 「方向定为包级覆盖:代码和 Studio 用同一机制,定制都进 .custom。」 · 「我建议先等包级覆盖开发完,再考虑这个界面的修改」 · 「现在用fable规划新的epic 任务清单。原来的你可以考虑直接关闭」 · 「其他同意」 (the old-card disposition, 2026-10-30).
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.