Skip to content

docs(adr): ADR-0034 unify runtime metadata persistence#1507

Closed
os-zhuang wants to merge 2 commits into
mainfrom
claude/adr-unified-metadata-persistence
Closed

docs(adr): ADR-0034 unify runtime metadata persistence#1507
os-zhuang wants to merge 2 commits into
mainfrom
claude/adr-unified-metadata-persistence

Conversation

@os-zhuang
Copy link
Copy Markdown
Contributor

@os-zhuang os-zhuang commented Jun 6, 2026

背景

回答"为什么运行时编辑保存到 sys_view/sys_report/sys_dashboard 三张专用表、而非统一元数据系统",并给出经多轮讨论收敛的推荐架构。

核实到的现状(已写进 ADR)

今天没有任何运行时编辑器做 per-user 个性化——全是共享编辑:

  • 视图编辑:已 isAdmin 门控,写共享 sys_view
  • 报表/仪表盘编辑:无门控(任何用户保存即改所有人的),写共享 sys_report/sys_dashboard
  • 页面:仅渲染,studio 编辑

即:这些"编辑"按钮本质是管理员对共享定义的快速编辑入口,不是个性化功能。

决策(v1-first)

  • 存储统一:view/report/dashboard 升为一等元数据类型,统一走 /meta,退役 sys_* 异形表。
  • v1(本期,基本前端、无需新后端):运行时编辑按钮 = 管理员快速编辑 → 写现有 /meta org/env 覆盖层(即时生效);给报表/仪表盘补 admin 门控;删 toSysViewPayload 等转换;sys_* 数据迁移到覆盖层(双读过渡)。
  • v2(后端配合、按需):仅视图user 覆盖层做 per-user 个性化;报表/仪表盘走"归属+可见性"(默认共享);页面仅共享。

两种"个人化"的关键区分(视图=覆盖增量 / 报表+仪表盘=归属可见性)、各制品目标模型对照(附主流平台先例)、分阶段向后兼容 rollout、备选方案、当前 sys_* 调用点清单。

性质

纯文档(Status: Proposed),零运行时/包改动。 供你和后端评审决策——接受后再按 rollout 落地。

https://claude.ai/code/session_01SZW3fVCCbijEibXtEH3ZGL

Propose retiring the bespoke sys_view/sys_report/sys_dashboard tables in
favour of a user (runtime personalization) scope under the existing metadata
overlay system, so design-time and runtime editing share one store, one shape
and one toolchain. Documents the rationale, the scoped-overlay design, a
phased back-compat rollout, and the current persistence call sites that PRs
#1496/#1504/#1505 left pointing at the sys_* tables.
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 6, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectui Ignored Ignored Jun 6, 2026 8:07am

Request Review

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Jun 6, 2026
Incorporate the verified code reality (no runtime editor does per-user
personalization today; view editing is already admin-gated; report/dashboard
editing is un-gated shared mutation) and the two-kinds-of-personal distinction
(overlay-delta for views vs ownership+visibility for reports/dashboards).

- v1 (mostly frontend, no new backend): runtime edit buttons become admin
  quick-edit that writes the shared definition via the existing /meta org/env
  overlay; retire sys_*; add the missing admin gate to report/dashboard
- v2 (backend, on demand): per-user personalization for views only, as an
  additive user overlay layer; reports/dashboards stay shared (ownership +
  visibility); pages shared-only
Copy link
Copy Markdown
Contributor Author

已被 #1513 取代并关闭。#1513 含本 ADR 的最终版(运行时复用 studio 的 per-item 草稿→发布→版本模型)+ 第一段 flag 化 seam 代码。


Generated by Claude Code

@os-zhuang os-zhuang closed this Jun 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants