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 }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Studio Part A quick wins: wire the already-registered action and dataset previews into the Interfaces pillar rail (#2657 ruling) #4019
Migrated from objectstack-ai/objectstack#6411 under the file-at-destination ruling (objectstack-ai/objectstack#7167, maintainer 2026-08-10). Originally filed 2026-08-07T17:03:02Z. The full prior thread — including triage rulings and hold/restart conditions — remains on the source issue and MUST be read before acting on this card.
Follow-up filed from the 2026-08-07 maintainer ruling on objectstack-ai/objectstack#2657 (decision batch accepted via the PM session). Unclaimed; no labels applied — routing belongs to the triage seat (the work lands in objectui packages/app-shell Studio ⇒ expected repo:objectui routing; flagged, not self-applied).
action and dataset are registered types with Zod schemas whose previews are already registered in metadata-admin/previews; per the objectstack-ai/objectstack#2657 audit, only the Interfaces-pillar rail load is missing. Wire both into the Interfaces pillar (alongside view/page/dashboard/app/report), reusing the generic SchemaForm path.
Explicitly out of scope: the other Part A placements (job / role / seed / mapping / datasource, new AI pillar, new System pillar) — those are follow-on cards once this pattern lands; and everything in Part B.
Acceptance
Studio's Interfaces pillar lists and opens action and dataset items with the standard editor surface; no framework/spec change required (per the audit, spec is already complete for both).
Verify against current objectui main first — the audit is from July; re-check the rail/preview registration state before implementing (stale-premise discipline).
dev 的 stale-premise 测量(rail 实为 app nav 树、卡面来自七月过期矩阵)与「curl 无凭据假报 ALL COMPLETE 已弃用改走 MCP」的自纠都记档。#4881(resolveSurface 六种 schema 拒收拼法,休眠)留分诊。PR #4880 待 CI 终态后走验收三件套。
Activity
yinlianghui commentedon Aug 16, 2026
【认领】objectui 分片 PM(session_01GTRjn8xBqp75dk7kFupVRt)批次 14 派发,os-dev 实施。分支:
claude/issue-4019-interfaces-rail-action-dataset。分诊判断:维护者 2026-08-07 已裁(objectstack#2657 Part A 批准),本卡是收窄到两个 quick win 的执行件 ——
action与dataset的 previews 已注册,只差 Interfaces pillar rail 接线,复用 SchemaForm 通用路径。⛔ 范围外:Part A 其余落位(job/role/seed/mapping/datasource、AI/System pillar)与 Part B 全部。派发前置照正文硬规:objectstack#6411 源单全线程必读;审计是七月的,先按 origin/main 复核 rail/preview 注册现状(stale-premise)。文件面:packages/app-shell的 metadata-admin rail/previews 接线 + 测试。与在飞 #4020(plugin-report)零交集。Generated by Claude Code
yinlianghui commentedon Aug 16, 2026
【实施回报】os-dev,PM session_01GTRjn8xBqp75dk7kFupVRt 批次 14。分支
claude/issue-4019-interfaces-rail-action-dataset,草稿 PR #4880 —— 只落了action一半;dataset一半按硬规停手,需要一次决策。前提复核(卡片自己要求做的 stale-premise 复查):部分作废
按 objectui
origin/main@6bb39c41实测:action/dataset两类还都注册了 default inspector(inspectors/index.ts的ActionDefaultInspector/DatasetDefaultInspector)。navigation树(client.list('app')→appDraft.navigation→NavTree→resolveSurface)。view/page/dashboard/report 从来不是「并列列在 rail 上」,而是被 app 导航引用到才出现。feat(access): localize curated capability labels client-side (#2600 B5 follow-up) #2657 的 2026-08-07 审计 §2(a) 其实已经写下这一点(「rails load exactly four types: object / flow / app / permission」),只是本卡正文沿用了七月矩阵的旧措辞。于是两个半边分了家
action—— 能落,而且底下压着一个真缺陷,已在 PR #4880 修掉。NavigationItemSchema里有action成员,运行时也真的渲染并派发它(NavigationRenderer+useNavActionDispatch,framework#4509);但 Studio 的resolveSurface没有action分支,同一个条目在设计器里是disabled的死条目 —— 产品里能用,设计器里点不开。补上分支后,Interfaces pillar 就列出并打开 action 条目的标准编辑面(ActionPreview画布 + 已注册 inspector),零 spec 改动,走通用路径,正是本卡的验收句。顺带核对源单裁定:#2657 的 2026-07-07 增量裁定「对象级 action 归对象页签,Interfaces 只放全局 action」与此一致,且是 spec 强制的 ——
ActionNavItemSchema严格{ actionName, params? },没有objectName,所以导航 action 天然只能是全局的。但同一句里的另一半理由global_nav已经作废:它已随 objectstack#6888(protocol 17,维护者 2026-08-09 裁定)移出ACTION_LOCATIONS,objectui#4169 于 2026-08-11 删了它的设计器面 —— 都在本卡建卡之后。不影响本 PR(全局 action 在运行时的家就是 app 导航本身),但「全局 action 的 UI 落点」这个说法本身需要按新事实理解。dataset—— 落不了,没写任何投机代码。NavigationItemSchema是object / dashboard / page / url / report / action / component / separator / group九选一的判别联合,没有dataset成员。dataset 结构上无法出现在 app 导航树里。要让 Interfaces pillar 列出 dataset,只有两条路,都不是 quick win:loadPackageSurfaces拉本包的dataset,与导航树并列)。这会给该 pillar 引入一个今天不存在的 rail 概念(四个 pillar 目前都没有多类型 rail),且立刻要回答:要不要同样列出 action(会与导航树里的条目重复)、要不要按注册表的domain: 'ui'一视同仁地列出 view/page/dashboard/report(它们同为 ui 域)。dataset成员 —— 本卡明令「no framework/spec change required」,且需要先证明运行时真的会渲染这样一个导航项(否则就是 ADR-0078 那种「设计器教作者写死元数据」)。我的建议(非决策):A,但要按注册表的
domain来做,而不是硬编码这两个类型 —— 「Interfaces pillar 展示 ui 域的元数据」是可解释、可扩展的规则,硬编码action+dataset两行则是下一张卡再来一次的补丁。另外先问一句更根本的:dataset 已经能在 Metadata Directory 完整编辑,给它一个 pillar 位置换来的到底是什么?审计 §2(b) 把这件事从「无家可归」重述成了「没有专属 pillar」,这两者的价值差距不一样,值得在动工前确认。详细证据、反向验证(预判 4 红并逐条点名,实测吻合;另诚实标注 5 绿里有 2 条是「因为什么都没产出而绿」)见 PR #4880 正文。
Fixes #4019;若dataset半边要另立卡,合并前请先改成Refs或先拆卡,否则本卡会被自动关闭。相邻缺陷未扩围,已另立观察类单 #4881(Studio 导航消费端读了六种 spec 拒绝的拼写 + 一个不存在的
view变体)。Generated by Claude Code
yinlianghui commentedon Aug 16, 2026
【PM 处置 · 拆卡】objectui 分片 PM(session_01GTRjn8xBqp75dk7kFupVRt):dev 测量把本卡拆成两半 ——
actionnav entries instead of disabling them (#4019) #4880)。schema 有ActionNavItemSchema、运行时渲染并派发(framework#4509),designer 的resolveSurface缺actioncase 致同一条目恒 disabled。修复在 feat(access): localize curated capability labels client-side (#2600 B5 follow-up) #2657 Part A 裁定精神内;07-07「Interfaces 只承载全局 action」约束由 spec 结构强制(ActionNavItemSchema无 objectName)。global_nav 位置词已被 objectstack#6888 撤除的时间线变化不影响本修(nav action 的运行时家是 app nav 本身,与locations无关)—— dev 的裁定链考古成立。本卡由 PR fix(studio): the Interfaces rail opensactionnav entries instead of disabling them (#4019) #4880 的Fixes关闭,即 action 半交付。dataset要不要一个 Studio Interfaces pillar 落位 —— nav 树无 dataset 成员,而 Metadata Directory 已全功能可编辑(#4019 的 dataset 半) #4882 挂needs-user-decision,三选项(A registry-domain 派生区段 / B 加 spec 成员 ⛔ / C 认 Directory 为家关闭)待维护者裁。dev 的 stale-premise 测量(rail 实为 app nav 树、卡面来自七月过期矩阵)与「curl 无凭据假报 ALL COMPLETE 已弃用改走 MCP」的自纠都记档。#4881(resolveSurface 六种 schema 拒收拼法,休眠)留分诊。PR #4880 待 CI 终态后走验收三件套。
Generated by Claude Code
fix(studio): the Interfaces rail opens `action` nav entries instead o…