Compare commits

...
Author SHA1 Message Date
weichen b6b6059222 Record the user ruling to gate U6 on owner experience
Why: The U6 precondition (benefit evidence from U4/U5) resolves to the
owner actually using the landed U1-U5 capability - the human usability
comparison marked NOT_RUN since U1 finds its execution path here; the
user ruled 2026-10-11 to evaluate first and decide U6 after.

Evidence: Ruling collected via the session question panel on
2026-10-11; U1-U5 all merged (Dev #329/#336/#345/#351/#367).

Impact: Documents-only (master record U6 gate note + index status).

Refs: r2 U6 clause; Dev task feature/generative-ui-u6-gate-record
EOF
)
2026-10-11 15:01:08 +00:00
weichen 75ddd65c69 Merge pull request 'Record the user approval of the U5 action scope' (#71) from feature/generative-ui-u5 into main 2026-10-11 14:09:47 +00:00
weichen aba1d6a3d6 Record the user approval of the U5 action scope
Why: The user ruled on the three questions (categories and ranges
approved as proposed; C-class limited to plugin KV plus task ledger;
confirm UX reuses the inline card); the proposal becomes the approved
scope and unblocks the U5 implementation task.

Evidence: Ruling collected via the session question panel on
2026-10-11; implementation task feature/generative-ui-u5 starts under
policy/delivery.md.

Impact: Documents-only (proposal r2 + index status).

Refs: r2 master record U5; Dev task feature/generative-ui-u5
EOF
)
2026-10-11 14:09:20 +00:00
weichen 72a098a783 Merge pull request 'Propose the U5 action scope for user review' (#70) from feature/generative-ui-u5-scope into main 2026-10-11 13:50:14 +00:00
weichen c7c5f94b64 Propose the U5 action scope for user review
Why: The r2 U5 clause requires a human review of the action scope
before implementation; this draft grounds the decision in the current
command inventory and existing safety machinery.

Evidence: Source facts cited inline (builtin command list with risk
levels, DangerHigh inline-confirm flow with pendingStore, audit
envelope) verified against backend main on 2026-10-11.

Impact: Documents-only (new proposal + index entry); no code changes.

Refs: 2026-10-10-generative-ui-plugin.md (r2 U5); Dev task
feature/generative-ui-u5-scope
2026-10-11 13:50:10 +00:00
weichen 74e41637e7 Merge pull request 'Record U3 progress in the two-trees master plan and index' (#69) from feature/rdm-u3-closeout into main 2026-10-11 13:40:15 +00:00
weichen a8f1096e78 Record U3 progress in the two-trees master plan and index
Why: U3 landed via RDM PR #201 (merge dbc41b6); the master record must reflect actual progress.

Evidence: SELF U3 closeout doc check exit 0 (receipt in Dev closeout task card).

Impact: proposal status line, U3 progress paragraph, INDEX row only.

Refs: RDM PR #201; Dev feature/rdm-u3-closeout
2026-10-11 13:40:12 +00:00
weichen eb36571653 Merge pull request 'Merge the template/final-target planning branch into the Documents main lineage' (#68) from feature/documents-reconcile-u2 into main 2026-10-11 13:10:50 +00:00
weichen 9cb09b967c Merge the template/final-target planning branch into main lineage
Why: Dev PR #340 pinned this Documents branch tip while it was never merged into Documents main (cross-repo pin discipline); this reconciliation unifies both planning lineages.

Evidence: merge-base 2a5f658; INDEX conflict resolved as union (U1+U2 progress row + two new plan entries).

Impact: docs only.

Refs: Dev #340
2026-10-11 13:10:38 +00:00
weichen 559af219d9 Merge pull request 'Record U2 progress in the two-trees master plan and index' (#67) from feature/rdm-u2-closeout into main 2026-10-11 11:23:07 +00:00
weichen 1673f3cea6 Record U2 progress in the two-trees master plan and index
Why: U2 landed via RDM PR #197 (merge fe8a75b); delivery policy requires the master record to reflect actual progress at task completion.

Evidence: SELF U2 closeout doc check exit 0 (receipt in the Dev closeout task card); RDM PR #197 merged=True via API.

Impact: proposal status line, U2 progress paragraph, and INDEX row only.

Refs: RDM PR #197; Dev feature/rdm-u2-closeout
2026-10-11 11:22:59 +00:00
4 changed files with 110 additions and 2 deletions
@@ -417,6 +417,11 @@ AG-UI 仅在需要跨 Agent 框架互通时评估事件适配;MCP Apps 仅在
### U6. 自适应任务与项目工作区
> **2026-10-11 用户裁定**:U1–U5 已全部落地合入;U6 启动前置(「U4/U5 的收益
> 与可靠性证据」)改为 **owner 实际体验评估**——在真实使用中启用 generative-ui
> 插件、体验页面生成/修订/表单提交(人类可用性对照自 U1 起 NOT_RUN,本裁定即
> 其执行方式)。体验结论(继续/调整/停止)由用户给出后再开 U6。
- 关联 R8,依赖 U4/U5 的收益与可靠性证据。
- 文件范围:Frontend workspace/任务页容器、插件上下文选择与触发策略、Backend 授权聚合适配、相关测试。
- 方法:先当前任务,后项目;任务阶段触发有限更新;固定布局/恢复原视图;自动模式单独 opt-in。
@@ -0,0 +1,95 @@
---
title: Generative UI U5 action-scope proposal
date: 2026-10-11
type: feat
revision: r2
status: approved
product_contract_source: generative-ui-r2-U5-clause
---
# Generative UI U5 动作范围提案(待用户评审)
依据:主记录 r2《Generative UI 调研与插件方案》U5 条款「**必须先评审本阶段动作范围**」。
本文是该评审的提案稿:给出动作分类与开放范围、审批挂接要求、明确排除项与验收条件。
用户裁定前不实施;实施另行开任务(U5 实现)。
负责人:裁定 weichen(用户);起草 Agent;更新时间 2026-10-11。
## 一、动作分类与本增量开放范围
| 类 | 定义 | U5 开放范围 | 通道 |
|---|---|---|---|
| **A 客户端本地** | 零副作用:页签切换、折叠展开、排序筛选、复制、doc-ref 打开工件预览 | **全部开放**(U4 已具雏形) | 纯前端,不经命令总线、不审计(无副作用可审);模型不能把 A 类标成"已执行" |
| **B 白名单命令绑定** | 把**既有命令目录**中的命令绑定为页面动作按钮 | **机制全量建设,第一版白名单为空**(见下) | cmdbus 四入口同源分发:审计信封、参数 Schema 校验、DangerHigh 确认卡 |
| **C 插件自身低危写** | generative-ui 表单提交落**插件自有**存储(Host.KVPut / 后台任务台账),不触发任何业务系统变更 | **开放**(场景 3「方案选择和需求表单」的实现面) | 新插件命令 `generative-ui.submit`,经同一分发/审计/幂等 |
| **D 业务写与高危** | 业务系统写(任务/项目/工件/知识库变更、对外发布、外发消息)、DangerHigh 命令直执、跨 owner/跨项目资源、代码执行 | **全部不开放** | U6+ 逐类单独评审后按 B 类机制逐条加白 |
**B 类第一版白名单为空的依据**(2026-10-11 源码事实):当前内置命令为
builtin.help / system.intent / conversation.create / runtime.mock / models.set /
conversation.profile——除 help/intent 外均为中危**写**命令,不存在可安全首开的内置只读命令。
结论:U5 交付「绑定-审计-幂等-确认」管道与测试,白名单从空起步,此后每加一条都走
独立评审(增量为零的机制 + 可验证的拒绝路径,先把地基打牢)。
## 二、审批挂接要求(映射 r2 KTD6 与现有机制,全部为既有能力复用)
1. **生成的按钮不是批准**:页面动作提交 → 宿主校验(启停/epoch/revision/权限/参数)→
`cmdbus.Dispatch`(Entrance=button,归一入审计信封)。模型只能引用允许的 action 名称,
不能伪造执行结果。
2. **DangerHigh 自动挂既有确认卡**:命中 `spec.Danger == high` 且未 Confirmed 时走现有
内联确认卡 + pendingStore 持久化 + Confirm 回道二次分发——**用户点卡确认是唯一批准来源**;
Confirmed 标志只能由卡回道置位,模型路径无法携带(红测断言)。
3. **幂等**:requestId 由客户端生成;服务端绑定 `(owner, surfaceId, revision, actionId,
requestId, 参数哈希)`。重复 requestId 同参数 → 返回已有回执;同 requestId 异参数 → 拒绝
(对齐 KTD6)。
4. **旧修订受控**:动作提交带 revision;revision ≠ 当前 latest → 拒绝并提示刷新
(旧按钮不重放)。
5. **禁用语义**:activation 关闭后新动作 403;在途按 U2 KTD7 表(已提交业务操作按命令台账
收尾,不承诺撤销)。
6. **表单草稿不进模型**:草稿由前端按 surfaceId/nodeId 管理,未提交不上传、不进
ctxasm(KTD4/KTD8;测试断言上下文不含未提交字段值)。
7. **参数校验**:动作参数按命令 ParamsSchema 服务端校验(validateParams 既有),拒绝
越权资源引用(owner 作用域)。
## 三、交付范围(实施任务的文件面,供参考)
- Backend:`POST /api/surfaces/{id}/actions`(提交动作,走 surfacesvc 守卫 + cmdbus);
幂等台账迁移(新表,纯增量);genui 目录文档补 action 绑定语法与「仅允许引用宿主下发的
action 清单」纪律。
- UI:UIRenderer `actions` 分支已有渲染,补 onAction 桥到宿主提交(SurfaceView 转发)。
- Frontend:SurfaceView onAction → 动作端点;确认卡复用现有 HITL 卡 UI;
表单草稿本地态(提交前不外发)。
- Core:优先零变更(action 绑定用服务端表,不扩 UINode 契约)。
## 四、明确排除(本增量不做)
业务实体写路径、跨会话/跨项目动作、自动触发的动作(只响应用户点击)、
动作结果自动改写页面(回执展示后由用户或 Agent 显式重组织)、
MCP/外部 HTTP 直连、任意命令即时全开。
## 五、验收条件(R7 映射,实施任务的判定线)
1. 场景 3 表单可提交、校验失败可修改重试;提交落插件台账可回读。
2. 旧 revision / 越权 action / 重复 requestId 异参数 → 拒绝(红测矩阵)。
3. DangerHigh 路径必须经确认卡;模型伪造 Confirmed 被拒(红测)。
4. 用户未提交的表单字段不出现在下一轮模型上下文(测试断言)。
5. 禁用后动作 403;A 类本地行为不受影响。
6. 幂等重放返回相同回执(并发双击一次生效)。
## 六、裁定记录(2026-10-11,用户已裁定)
三点均经用户裁定**同意**(推荐项全取):
1. **分类与范围**:A 全开 / B 机制先行白名单空起步 / C 限插件自有写 / D 全关——同意。
2. **C 类边界**:限定 KV + 后台任务台账,不建新业务事实表——同意。
3. **确认卡 UX**:复用现有内联确认卡,不新建审批 UI——同意。
本文升级为已批准范围;U5 实施按 policy/delivery.md 开任务(feature/generative-ui-u5),
验收线以第五节为准。
### 七、原裁定请求(历史留档)
1. **分类与范围**:A 全开、B 机制先行白名单空起步、C 限插件自有写、D 全关——是否同意?
2. **C 类边界**:插件自身写是否限定为 KV + 后台任务台账(不建新的业务事实表)?
3. **确认卡 UX**:复用现有内联确认卡(不新建审批 UI)——是否同意?
裁定后:U5 实施按 `policy/delivery.md` 另行开任务;本文升级为已批准范围并回填裁定记录。
@@ -9,7 +9,7 @@ product_contract_source: ce-plan-bootstrap
# RDM 两树一网集成、完善与追溯审计展示方案
修订:r1(2026-10-11 并入用户裁定);确认状态:用户评审通过(2026-10-11,需求拆解至实施计划五阶段一并,含 KTD4 双层管理员裁定);推进状态:U1 已实施并合入(RDM PR #195,merge 05b7d1a,2026-10-11);U2–U5、迁移与运行验收未启动。
修订:r1(2026-10-11 并入用户裁定);确认状态:用户评审通过(2026-10-11,需求拆解至实施计划五阶段一并,含 KTD4 双层管理员裁定);推进状态:U1、U2、U3 已实施并合入(RDM PR #195 merge 05b7d1a;PR #197 merge fe8a75b;PR #201 merge dbc41b6,2026-10-11);U4–U5、迁移与运行验收未启动。
需求负责人:weichen;方案编制:Codex;实施负责人:待实施立项时指定。
来源:2026-10-11 用户要求检查两树一网现状,并设计简单直观的项目追溯、审计展示;同轮明确选择“完善 RDM,并补齐必要的基座能力”。
目标仓:Agent-System-RDM;下文 `RDM:` 路径相对于该仓,`Dev:` 路径相对于 Agent-System-Dev;所有建议接口名均为候选契约。
@@ -287,6 +287,8 @@ U1 同批接通旧客户端的项目选择和命令封装,并解析可信会
建立结构事件到基座审计的 outbox,显示投递状态;旧缺失事实明确为不可恢复,不能补造批准人或时间。
验证:第二条/最后一条事件失败、提交后进程退出、投影刷新失败、相同请求重试、并发同版本更新;重启前后对节点/版本/边/审签/缺口深比较;旧快照与未知 schemaVersion 明确拒绝冒充完整;历史/导出截止落在批次中间时拒绝,上传发布/确认中断后状态与切片不重复、不矛盾。
进展(2026-10-11,RDM PR #197 merge fe8a75b):U2 已实施合入——`Runtime.TxProject` 事务批次(项目写锁+tx 绑定写穿+失败回滚并从库重建,零部分提交);入库拆事务内核/提交后宿主侧;结论确认/拒绝与上传五步同事务(`rdm_uploads` 表为事实源,meta.json 降为镜像);Retag 事件先行;重放保真(正式版 At/Actor 入载荷、CNode 升版重放重算 stale、cSnap 全量载荷+旧计数快照标 CountOnly、events schema_version 未知版本停止还原);`rdm_op_log` 幂等(结论/上传确认 opId);`rdm_audit_outbox` 同事务入箱+尽力投递+`rdm.audit.status`。写串行覆盖=事务面+已转换命令(用户裁定口径);进程级 kill 注入与运行验收随 U4/U5 复核。
完成条件:命令结果、持久记录、重建投影一致,故障不造成不可解释的部分成功。
### U3. 统一项目审计读服务
@@ -301,6 +303,8 @@ U1 同批接通旧客户端的项目选择和命令封装,并解析可信会
验证:旧网和合规网的同名 ID 不冲突,历史 v3 与当前 v4 不串用;未知/受限来源在旧 payload、差异、快照及导出副本中也不泄漏;游标换项目拒绝,分页期间新增事件不重不漏;动作审计同步延迟可见。
完成条件:无需读数据库即可通过受控接口回答来源、影响、变更与历史问题。
进展(2026-10-11,RDM PR #201 merge dbc41b6):U3 已实施合入——`inspection.go` 七面读服务(Capabilities/Summary/Tree/Object/Relations/Events/History)+统一响应壳(键集分页+截断+coverage 诚实标注);游标 base64 绑定项目(跨项目/过滤不一致拒绝);水位=已提交 max(seq);双网合流(layer 标注/kind 路由不串/ver 标注);schema v6 events.operation_id 列+TxProject BeginOperation 归组注入;披露标记(legacy-unattributed/model-candidate);`rdm.inspect.*` 七命令+审计面授权。基座侧动作审计待基座扩展(申请一/二)。
### U4. 项目追溯审计工作区
目标/需求:R2、R3、R4、R7;依赖:U3;页面载体在本增量设计评审时固定为宿主支持的 RDM 插件工作区。
+5 -1
View File
@@ -6,6 +6,10 @@
## 先看哪一份
U5 已实施合入(动作闭环,Dev #367);[U5 动作范围提案 r2](2026-10-11-generative-ui-u5-action-scope.md) 为已批准范围。U6 经用户 2026-10-11 裁定:待 owner 实际体验 U1–U5 产物(人类可用性对照的执行方式)后再定启动。
r2 U5 条款要求先评审动作范围;本文给出 A/B/C/D 分类、审批挂接(复用既有 DangerHigh 确认卡与
幂等)、排除项与验收线,待三点裁定后 U5 实施另行开任务。
新增方向(已裁定取舍;U1 试验完成,r2 含结果与修订):[Generative UI 调研与插件方案 r2](2026-10-10-generative-ui-plugin.md)。
首试点为对话内完整分析页,交付采用可信编译插件;U1 试验限 MiniMax M3 + M2.7-highspeed、合成或脱敏材料、费用上限 ¥200,作为独立任务另行评审启动。
此记录独立于下方历史核验快照,不改写历史方案/PR 数量或验收结论。
@@ -161,7 +165,7 @@ RDM 总案把库分期作为支撑与依赖,不覆盖库分期的原始范围
## 2026-10-11 规划补充
- [RDM 两树一网集成、完善与追溯审计展示方案 r1](2026-10-11-rdm-two-trees-trace-audit-integration.md):对应 P3/MS3,源码已有部分实现;优先补项目绑定、创建者/管理员读取隔离与历史完整性,再接统一展示。用户确认范围为 RDM 与必要基座能力;r1 已获用户评审通过(2026-10-11,五阶段一并,含 KTD4 双层管理员裁定)。U1 项目身份与读取授权闭环已实施合入(RDM PR #195,2026-10-11;超管槽待基座能力接线,见 RDM 仓 U1 基座扩展申请);U2–U5 与运行验收未启动。
- [RDM 两树一网集成、完善与追溯审计展示方案 r1](2026-10-11-rdm-two-trees-trace-audit-integration.md):对应 P3/MS3,源码已有部分实现;优先补项目绑定、创建者/管理员读取隔离与历史完整性,再接统一展示。用户确认范围为 RDM 与必要基座能力;r1 已获用户评审通过(2026-10-11,五阶段一并,含 KTD4 双层管理员裁定)。U1、U2、U3 已实施合入(RDM PR #195、#197、#201,2026-10-11;超管槽待基座能力接线,见 RDM 仓 U1 基座扩展申请);U4–U5 与运行验收未启动。
- [RDM 模板与两树一网对话文档生成方案 r1.1](2026-10-11-rdm-template-dialog-generation.md):69 类旧资产、4 个当前注册模板的盘点及生成闭环设计;待评审,实施/迁移/模型试验/运行验收 NOT_RUN。与两树一网集成方案共用项目授权、原子事件与历史能力。 首批项目建议书/竞品分析、随后扩展全部文档已确认(2026-10-11),其余方案与实施仍待评审。