Compare commits
15
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
46506aec34 | ||
|
|
9062445db8 | ||
|
|
6619835a65 | ||
|
|
fdca353097 | ||
|
|
2d35cd49c2 | ||
|
|
3e0cdae1bf | ||
|
|
c256558ca8 | ||
|
|
8e9587ca1d | ||
|
|
7bd4e17827 | ||
|
|
10b442169c | ||
|
|
b096191a84 | ||
|
|
a7ff466d9a | ||
|
|
1f3bd54cfb | ||
|
|
3cf263962b | ||
|
|
b8df6f3c2a |
@@ -9,7 +9,7 @@ product_contract_source: ce-plan-bootstrap
|
||||
|
||||
# RDM 两树一网集成、完善与追溯审计展示方案
|
||||
|
||||
修订:r1(2026-10-11 并入用户裁定);确认状态:用户评审通过(2026-10-11,需求拆解至实施计划五阶段一并,含 KTD4 双层管理员裁定);推进状态:U1–U5 全部实施并合入(RDM PR #195/#197/#201/#213;Dev PR #368,2026-10-11);管理区「项目追溯与审计」入口经通用声明机制补齐(扩展面 2.9.0 Registry.AddAdminZone;Backend #165、Frontend #63/#64、RDM #240、Dev #414,2026-10-12;rdm.audit 分区随 rdm 插件声明,区内能力仍由 rdm.inspect.* fail-closed);管理页插件清单另合并编译插件条目(Dev #404,2026-10-12)。U6(团队存储)独立后续;运行验收属部署环境。
|
||||
修订:r1(2026-10-11 并入用户裁定);确认状态:用户评审通过(2026-10-11,需求拆解至实施计划五阶段一并,含 KTD4 双层管理员裁定);推进状态:U1–U4 已合入。U5 的 #213 只交付了导出工件生命周期,水位重放、报告三段、草稿门和页面入口仍在进行(RDM #301、Frontend #73、Dev #488,2026-10-12,未合入)。管理区「项目追溯与审计」入口经通用声明机制补齐(扩展面 2.9.0 Registry.AddAdminZone;Backend #165、Frontend #63/#64、RDM #240、Dev #414,2026-10-12;rdm.audit 分区随 rdm 插件声明,区内能力仍由 rdm.inspect.* fail-closed);管理页插件清单另合并编译插件条目(Dev #404,2026-10-12)。U6(团队存储)独立后续;运行验收属部署环境。
|
||||
需求负责人:weichen;方案编制:Codex;实施负责人:待实施立项时指定。
|
||||
来源:2026-10-11 用户要求检查两树一网现状,并设计简单直观的项目追溯、审计展示;同轮明确选择“完善 RDM,并补齐必要的基座能力”。
|
||||
目标仓:Agent-System-RDM;下文 `RDM:` 路径相对于该仓,`Dev:` 路径相对于 Agent-System-Dev;所有建议接口名均为候选契约。
|
||||
@@ -331,7 +331,8 @@ U1 同批接通旧客户端的项目选择和命令封装,并解析可信会
|
||||
验证:导出中途有新写入不改变已固定内容;历史来源软删除仍可按授权追溯;未归属/缺失事件可见;跨项目下载、过期下载、权限撤销均拒绝。
|
||||
完成条件:同一版本在 UI 与报告中结论一致,并有正式 GATE/REPLAY 证据。
|
||||
|
||||
进展(2026-10-11,RDM PR #213 merge 1dce69d):U5 已实施合入——`export_artifact.go` 导出工件生命周期(`rdm_export_artifacts` 表+磁盘存储+sha256 完整性+24h 过期);`rdm.inspect.export.{create,status,download}` 三命令(审计面授权、截止水位固定、跨项目绑定拒绝、下载重鉴权);导出文件名携带 `wm<seq>` 水印标记。U1–U5 五个实施单元全部完成,进入部署验收阶段。
|
||||
进展(2026-10-11,RDM PR #213 merge 1dce69d):#213 只交付了导出工件生命周期——`rdm_export_artifacts`、三条 `rdm.inspect.export.*` 命令、截止水位被记录、文件名带 `wm<seq>`。导出内容当时仍读实时世界,报告没有三段,页面没有导出入口。
|
||||
进展(2026-10-12,未合入):RDM #301 补水位重放、三段、草稿门和遮蔽;Frontend #73 与 Dev #488 补概览导出区。这些 PR 的 CI 结论以各自 HEAD 的作业为准,本文不把本地测试写成 GATE。
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -9,10 +9,11 @@ product_contract_source: ce-plan-bootstrap
|
||||
|
||||
# 服务重启与全量数据恢复方案 r3
|
||||
|
||||
确认状态:原 r2 批准记录保留(Dev PROJECT.md 记录 2026-10-12 五阶段批准);**r3 本轮增补待人工评审**。本轮仅调查、修订方案及本地文档核查,不代签历史批准,不授权业务实施、账户变更、迁移、故障注入、部署、推送或合入。
|
||||
确认状态:原 r2 批准记录保留。**r3 新增(R11/R12、KTD13–KTD15、U8)于 2026-10-12 已批准**,当时授权连续推进到 PR 可合入;该历史批准不代替当前交付准入。合入按现行规范由智能体执行。
|
||||
U8 进展(2026-10-12,未合入):Backend #183 与 Dev #482;旧记录在 `ef66bfb` 上记有 vet-and-test success(历史 SELF 引用,非本轮 GATE)。Dev 侧在允许 `app → instanceguard` 与 `instanceguard → store` 两条架构边后的提交是 `4464255`,该 HEAD 的 CI 以作业结论为准,不在本文升为 GATE。
|
||||
r3.1=同日增补 D1/D2/D3(部署根治;编号避开本案 U1–U8)。映射:D1 补 U1 身份消费缺口,D2 补 U6 部署回退,D3 补 U7 真实组合门禁。确认状态:用户 2026-10-12 授权按实施计划连续推进到 PR 可合入;D1–D3 仍供人工评审,不因 U8 批准而代签。
|
||||
修订记录:r1=2026-10-12 初稿并完成六角色文档自审(见同名审阅记录第一轮);r2=2026-10-12 吸收外部源码复核(U1/U3/U4/第9节四处修订,见审阅记录第二轮),需求范围与量化指标未变。
|
||||
r3=同日根据 dev 8788 账户故障续查刷新源码/运行事实,保留 R1–R10、KTD1–KTD12、U1–U7;补充 R11/R12、KTD13–KTD15、U8 单实例保护及近期验证合同。原故障档和时间指标保持候选值,未宣称实测达标。
|
||||
r3.1=同日增补 D1/D2/D3(部署根治;编号避开本案 U1–U8)。映射:D1 补 U1 身份消费缺口,D2 补 U6 部署回退,D3 补 U7 真实组合门禁。确认状态:用户 2026-10-12 授权按实施计划连续推进到 PR 可合入;本节新增条款仍供人工评审,不代签 r3 其余未批内容。
|
||||
r3=同日根据 dev 8788 账户故障续查刷新源码/运行事实,保留 R1–R10、KTD1–KTD12、U1–U7;补充 R11/R12、KTD13–KTD15、U8 单实例保护及近期验证合同。原故障档和时间指标保持候选值,未宣称实测达标。上述 r3 新增已于 2026-10-12 批准。
|
||||
需求来源:2026-10-12(Asia/Shanghai)用户要求“系统应该在停止并再次启动(通过 svc 或异常终止)后,应当能够恢复所有服务和数据,给我一个完善方案”。负责人:weichen;编制:Codex;实施与运维负责人在启动对应增量时指定。
|
||||
主记录:本文;任务卡:Dev `.task/feature-service-restart-recovery-plan.md`。本文的源码路径以 Dev 根目录为基准。
|
||||
|
||||
@@ -331,13 +332,13 @@ T8-6:参数来自应用实际连接;SQLite FULL/PG 同步设置按批准合
|
||||
|
||||
实施批准时需要固定:目标实例/服务组及独占管理权、实际数据归属清单、故障档与RPO/RTO、正常停机预算、既有在途任务分工。本文已给默认建议;没有这些确认不在共享运行环境做故障/迁移/监管切换。后台是否自动重做模型回合可按任务政策配置,但未知副作用不得靠默认重试放行。
|
||||
|
||||
下一任务建议为 U8 与账户方案 U7/U5 的首批设计/实施评审:先保护 dev 原数据,补足账户一致性与登录语义;随后 U3 停机/就绪、U4/U5 任务恢复、U6/U7 文件与灾难演练。新增 U8 未批准前不实施。数据清单、故障档预算、正式组合验证仍为放行条件;PG 迁移、监管切换、备份恢复、部署和故障实验分别授权。
|
||||
r3 编制期的历史下一任务建议(不是当前批准状态)为 U8 与账户方案 U7/U5 的首批设计/实施评审:先保护 dev 原数据,补足账户一致性与登录语义;随后 U3 停机/就绪、U4/U5 任务恢复、U6/U7 文件与灾难演练。新增 U8 未批准前不实施。数据清单、故障档预算、正式组合验证仍为放行条件;PG 迁移、监管切换、备份恢复、部署和故障实验分别授权。
|
||||
|
||||
## 10. 全系统完成条件
|
||||
|
||||
只有在所有启用的必需服务/插件被纳入清单、R1–R12均有当前组合与运行对象的重放证据、第8节故障矩阵通过、未知副作用有可处理隔离状态、组合备份实际恢复成功、人工验收及代码Review通过并完成合入/部署后,才可声明“系统停止或异常终止后能够恢复所有服务和数据”。
|
||||
|
||||
本轮交付状态止于**待审核方案**;不以记录、源码能力、桩测试、健康接口或本地文档检查代替上述完成条件。
|
||||
编制期历史交付状态止于**待审核方案**;当前批准与进展见页首及第 11 节。批准不等于全系统恢复已验收,不以记录、源码能力、桩测试、健康接口或本地文档检查代替上述完成条件。
|
||||
|
||||
## 11. D1/D2/D3 部署根治补充(r3.1)
|
||||
|
||||
|
||||
@@ -9,9 +9,10 @@ product_contract_source: ce-plan-bootstrap
|
||||
|
||||
# svc 统一部署与一次性登录 Key 方案 r3
|
||||
|
||||
确认状态:**r1 原批准保留;r2 增补已随 #87 合入(其评审状态以正文与审阅记录为准,不因合入视为已批准);r3 登录恢复实施记录待人工评审**。r1 的批准记录为 2026-10-12 用户「批准,继续推进」(五阶段及 U1/U4 规格,允许对应实施和 PR)。本轮用户要求仔细调研、详细方案并「继续」,覆盖方案修订及本地文档准备,不扩展为业务实施、账户变更、迁移、部署、故障注入、推送或合入授权。
|
||||
确认状态:**r1 原批准保留;r2 新增(R13–R15、KTD11–KTD14、U7)的 2026-10-12 批准记录保留;r3 登录恢复实施记录待人工评审**。r2 的批准来自原状态任务 Documents #89(来源提交 `b8df6f3c2a3180b06c61d2303bbfea9a3914f186`),不由 #87 的合入推定。2026-10-14 用户已明确授权智能体接管 Dev #489/#488/#486,继续验证、试行、合入及清理;本轮全部合入由智能体执行,不扩展到部署、共享数据库或其他未纳入任务。
|
||||
U7 进展(历史记录,2026-10-12,未合入):Backend #185 与 Dev #486 的旧候选曾记录 CI success,来源为旧任务记录,不能放行本轮候选。原 U7/U8 候选都占用迁移 28;本轮须同步后按当前主干已用版本顺延,保留主干已有迁移与账户保护。账户 U5 的登录恢复接线见 r3 与 §11;账户 U8 消费审计按其独立范围推进,不由 U7 批准代签。
|
||||
修订记录:r1=2026-10-12 草案经源码复核后定稿(四项取舍采纳;补齐 §6 合同;对齐恢复方案 KTD 与已合入的 recovery U1 实例身份);同日获批并进入推送与 U1/U4 实施。
|
||||
r2=同日复核 dev 登录故障、当前 U1/U4 源码和帮助缺口;保留 R1–R12、KTD1–KTD10、U1–U6 的含义与编号,补充 R13–R15、KTD11–KTD14、U7/U8,并细化 U5。新增内容未批准;不以原批准记录代签新增范围。
|
||||
r2=同日复核 dev 登录故障、当前 U1/U4 源码和帮助缺口;保留 R1–R12、KTD1–KTD10、U1–U6 的含义与编号,补充 R13–R15、KTD11–KTD14、U7/U8,并细化 U5。保留原 r2 批准记录,不以该批准代签其他新增范围。
|
||||
r3=2026-10-13 用户提交《登录流程方案》并指示「按此方案实施」——该指示即登录恢复范围的实施批准;当日实施合入(Backend #187、Frontend #76、Dev #504),合同定稿于 Dev `docs/svc-deploy/2026-10-13-login-recovery-contract.md`,实施记录见 §11。r3 为实施记录与三裁定回写,不改动 R/KTD/U 编号语义。
|
||||
需求来源:2026-10-12 用户提出将 `svc.sh` 增强为统一部署入口(二进制与源码、环境准备、无初始密码开户与账户恢复),并要求一次性 API Key 只能兑换「设置密码」受限会话。负责人:weichen;编制:Cursor Agent。
|
||||
主记录:本文;任务卡:Dev `.task/feature-svc-unified-deploy-login-key.md`。源码路径以 Dev 根目录为基准。
|
||||
@@ -233,13 +234,15 @@ flowchart LR
|
||||
|
||||
凭据规则:独立前缀;只存摘要;用途 `activate`|`recover`;状态未使用/已消费/已撤销/已过期;密码变更后旧恢复凭据不可再用。符合 [OWASP Forgot Password](https://cheatsheetseries.owasp.org/cheatsheets/Forgot_Password_Cheat_Sheet.html) 与 [Session Management](https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html);保留现有 CSRF 校验。
|
||||
|
||||
## 9. 风险与未授权范围
|
||||
## 9. r2 编制期历史记录:风险与当时未授权范围
|
||||
|
||||
- 实施、故障注入、真机部署、浏览器验收:**未授权 / NOT_RUN**。
|
||||
本节与第 10 节保留 r2 编制时点的原始边界,不表述本轮当前状态。当前批准、接管与交付范围见页首及 Dev #486;登录恢复实施记录见第 11 节。历史 NOT_RUN 保持原对象范围,部署及共享数据库操作仍须另行授权。
|
||||
|
||||
- 编制时点的实施、故障注入、真机部署、浏览器验收:**未授权 / NOT_RUN**。
|
||||
- 本轮交付终点:r2 本地草案、恢复配套修订、任务卡与索引、文档核查和审阅记录;以本地文档提交固定审阅对象并满足同步门禁。新增修订仍待批准,不推进 Dev gitlink、不推送/建 PR;启动/同步工具的任务元数据提交单独记录。
|
||||
- 与 recovery U1 重叠处只做增量,不重做已合入的 manifest 层。
|
||||
|
||||
## 10. 规划进展与下一步
|
||||
## 10. r2 编制期历史记录:规划进展与当时下一步
|
||||
|
||||
- r1 已批准;U1/U4 基础实现存在于当前固定源码,完整浏览器/故障/运行验收不可据此推断通过。r2 的新增需求和设计仍待人工评审。
|
||||
- 首选下一任务(待授权):恢复方案 U8 的 SQLite 服务隔离+本案 U7 账户一致性;先消除共享测试数据和不可归因密码变化,再落实 U5。U2/U3 保持后续。
|
||||
|
||||
@@ -179,3 +179,15 @@ R1–R20 到 RDM 原 UR/SR 的映射由 RDM `docs/proposals/2026-10-13-iam-i1-
|
||||
U1 只检查文档差异、链接、动作与 scope 一致性、R1–R20 追溯及原方案摘要保持;无行为变更,不运行业务测试。
|
||||
本地检查来源为 SELF;审核与正式验收须按任务规则同步对象、独立重放并核验 GATE/REPLAY 身份及 SHA。
|
||||
公开实现、业务测试、浏览器、真实模型、数据库迁移、服务运行、部署与正式验收均不能用本合同的保存结果代替。
|
||||
|
||||
## 8. I1 宿主改名投影的已批准修订(2026-10-13)
|
||||
|
||||
用户已批准[委任改名契约修订与修复计划 r1](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-RDM/src/commit/4ee4eb99a95460d6660f05a67181357b67e2e956/docs/proposals/2026-10-13-iam-i1-host-projection-amendment.md),批准对象原文摘要为 `3eee5714cce974ce13229b3e184bc3aa763a5e0819fdf7dcf088dafe68b1ed2a`。正文维护在 RDM 一处;批准状态与实际实现、测试、Review、CI 和合入分开记录。
|
||||
|
||||
合法项目 `project.settings` 可以委任改名;现有 `ProjectHost` 的管理修改保持 owner-only。RDM 仅对这一动作建立受信的单目标投影适配:先以实际认证 actor 判定当前项目设置权及状态,再核对域/宿主绑定/物理项目的完整身份,只用受信创建者的 scoped Host 执行该 hostID 的改名。不借创建者身份重新授权,不把投影句柄返回或传入其他业务动作;无需额外 `doc.read`,私人读取和 Native work 不扩权。
|
||||
|
||||
首次改名要求 ready;失败恢复必须对应同事务持久的改名意图、同一主体/项目/host/创建者/目标与版本,并再次检查实际 actor 的当前资格。未知 failed/create 不恢复,未就绪时读/work 仍拒绝。该元数据只属于 RDM 项目投影,不修改旧账号或项目身份,不实施生产迁移,也不冒称完整跨库 epoch。
|
||||
|
||||
命令与 HTTP lifecycle 都使用原请求 Host 审计实际操作者。Backend 审计的 `Actor=plugin:rdm` 继续表示插件来源;业务 actor 由受信 Host.Owner 和审计 evidence.actor 记录。命令保留既有 DTO,HTTP 保留 core.Project 及公开元数据的脱敏设置;不得带出物理 owner 的原始管理设置。
|
||||
|
||||
本修订不新增 Backend 公开符号或放宽其 owner-only 管理规则。正式通过须覆盖合法委任及无读取权管理、cap/停用/非成员、实际归属变化、失败/重启/未知恢复、两入口审计和真实 HTTP;未通过当前组合验证时不能声称 I1 完成。
|
||||
|
||||
@@ -0,0 +1,312 @@
|
||||
---
|
||||
title: DHF 模板接入 RDM 文档生成管线 - Plan
|
||||
type: feat
|
||||
date: 2026-10-14
|
||||
artifact_contract: ce-unified-plan/v1
|
||||
product_contract_source: legacy-requirements
|
||||
origin: 2026-10-11-rdm-template-dialog-generation.md
|
||||
execution: code
|
||||
---
|
||||
|
||||
# DHF 模板接入 RDM 文档生成管线 - Plan
|
||||
|
||||
## 批准与实施进展(2026-10-14 后续附注)
|
||||
|
||||
本节记录批准后的状态;下方 r0.1 主文保留批准前评审快照,原对象 SHA256 为 `f99e1424a9bb86f68ad6de91657102a36004c61fb0f36c8427e913d9e0cf9643`。主文中的“草案”“待批准”“本轮 NOT_RUN”指当时状态,不代表今日仍未获实施授权。
|
||||
|
||||
- owner 已批准 r0.1 的需求、方案和实施计划并授权 U1–U6 按阶段推进,另批准 E1-R1 隔离追加试验。U1 当前增量已走完阶段 6–10:阶段 6/7 获 owner 人工结论,独立 Review 闭合整改,最终 HEAD 的 GATE 与独立重放核验记录在案,三份交付 PR 均已合入。
|
||||
- RDM 已封装 44 个逻辑原件,owner 分别接受项目建议书、F01、F02、DI 四份确切四哈希包(内容与版式接受,正式发布授权仍未给出);全部 44 项仍 `needs-review`,正式发布数 0。E1/E1-R1 使 14 DOC 均有转换候选,但逐项 Word 保真 **NOT_PASSED**;其余 40 项待包级裁定。F01/F02 的正式类型/存量字典升级及 U2–U6 真实产品流程仍未完成。
|
||||
- U1 当前增量的终态以归档任务卡为准:Dev 仓 `.task/archive/feature-dhf-template-pipeline-plan.md`(随 Dev #542 归档合入)。合入记录:[Documents #102](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Documents/pulls/102) merge `9062445db808`、[RDM #365](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-RDM/pulls/365) merge `57d2214feb0a`、[Dev #540](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/540) merge `11aa76a3bc1c`,三个 main 树各自与受测 head 一致。U1 剩余 40 项包级裁定、14 DOC 保真对照、类型合同与 U2–U6 按本方案顺序继续;此前 WIP/待整改表述与旧 GATE 不再作为放行依据。
|
||||
|
||||
修订 r0.1;需求负责人 weichen;方案编制 Codex;各仓实施负责人待立项指定。
|
||||
本文件是 DHF 接入专项的评审草案,授权终点为源码/资产调查、方案和计划文档、记忆归档。
|
||||
需求取舍、设计、实施和测试计划仍须按 Dev `policy/delivery.md` 逐阶段评审;本文不授予业务实施、转换试验、迁移、发布或部署权限。
|
||||
文件路径以目标仓为准:`Dev:` 为 Agent-System-Dev,`RDM:` 为 Agent-System-RDM,`Frontend:` 为 Agent-System-Frontend;无前缀为 Documents 仓。
|
||||
|
||||
## Goal Capsule
|
||||
|
||||
用户能在 RDM 项目对话中,按提供的 DHF 标准模板编制文档,取得内容有依据、格式可核查、审签版本一致的 Word 文件。
|
||||
采用现有 RDM 模板、两树一网、持久提案和三权流程,补齐 Word 资产解析、固定绑定和模板填充导出。
|
||||
本批最终覆盖 Dev `.templates/DHF 文件模板/` 全部 44 份逻辑资产;试点成功只代表试点完成。
|
||||
首选下一步是评审范围及解析试验 E1;E1 的 DOC 保真结果是全量接入的前置条件。
|
||||
|
||||
---
|
||||
|
||||
## Product Contract
|
||||
|
||||
### Summary
|
||||
|
||||
将 44 份 Word 原件转为可审核发布的模板包,使其内容结构、填写规则和原始版式共同约束文档生成。
|
||||
先用真实 DHF 项目建议书完成一条用户闭环,再按文档族接入全部资产;设计输入规格书和验证确认报告同时作为结构与示例语义的压力样本。
|
||||
登录恢复为已收官基线;本专项不把部署增强或账户恢复重新列作遗留实现项。
|
||||
|
||||
### Problem Frame
|
||||
|
||||
RDM 当前注册量不能代表标准模板可用量。
|
||||
已有模板选择、章节实例化和导出器缺少共同的模板身份,新增 Word 文件后仍可能生成错误用途的正文,或者丢失原件的表格与排版。
|
||||
模板中的示例测试结果和签署意见还可能被误当作本项目已经发生的事实。
|
||||
|
||||
### Current State
|
||||
|
||||
本轮源码/资产观察为 SELF,业务测试、DOC 转换、真实模型、浏览器验收、CI 和部署均为 NOT_RUN。
|
||||
调查对象:Dev R0 `add097d06137c4912a4ed9279e98ca353e4e4cf1`;RDM `6fcb256205c2384abed35d3b6ab96ca7216e9297`;Documents 草案从本轮 SSH/API 同值的 main `7bd4e17827d4c7c88647bf3c9199c495b60cb107` 建立。
|
||||
RDM 正式产品的 Frontend gitlink 与实际检出均为 `eb2d6d32f9323094d568bc9d80b4e5ed4f0af25b`;该源码基线用于定位当前预览行为,不代表组合浏览器验收。
|
||||
Dev 固定 Documents 的 `a7ff466…` 与本轮 Documents main 不同;本轮只保存规划,不推进 gitlink,未来集成须处理两条历史及规范差异。
|
||||
源码/资产原始输出与完整 SHA 由 Dev 任务卡的 evidence 段记录;以下是静态分析,不是运行通过声明。
|
||||
|
||||
| 对象 | 当前事实 | 接入含义 |
|
||||
|---|---|---|
|
||||
| DHF 原件 | 44 份:30 DOCX、14 DOC,7 阶段;41 个不同 SHA256 | 同内容不同阶段仍保留独立逻辑用途 |
|
||||
| RDM 目录 | 69 个 docType,73 项 registry:4 定制 Markdown+69 骨架 | 骨架含“内容要求待补”,不算 69 份标准正文已迁入 |
|
||||
| Word 原件 | RDM 未跟踪 DOC/DOCX 原模板 | 需要可脱离 Dev 工作目录的正式资产包 |
|
||||
| 现有解析 | DOCX 主要读 document.xml,DOC 不支持 | 不能用文本抽取代替完整内容和版式解析 |
|
||||
| 模板选择 | Compose 按适用列表首项选 key;rd_proposal 首项为 weekly-report | 必须消除注册顺序决定正文用途 |
|
||||
| 结构实例化 | 独立 structure YAML 建文档/章节,无公开的按模板实例化命令 | 模板发布、文档创建与生成入口需要接成一条路径 |
|
||||
| 固定版本 | Doc/Section/Version 未存真实模板绑定;提交的 TemplateVersion 实为字典版本 | 当前快照无法证明 Word 模板身份不漂移 |
|
||||
| 审签与提案 | 有事务采纳、幂等、持久提案及整文三权 | 扩展既有机制,不重写审批和项目权限 |
|
||||
| DOCX 导出 | 新建最小 OOXML,不消费原件版式;未按指定整文审批轮次导出 | 需要原模板填充和批准快照再现 |
|
||||
| 用户入口 | 自然语言写文档 intent 用错 docType 且仅查询模板;正式 Web 使用 Frontend pin | 真实对话、工具 schema 与正式 React 产品均需验证 |
|
||||
|
||||
资产阶段分布:商务 1、策划 3、设计输入 15、设计输出 9、设计验证 8、设计转换 3、设计确认 5。
|
||||
四份输出/验证/转移/确认评审原件字节相同,但不能合并为一份逻辑模板。
|
||||
候选适配为 32 份映射既有类型、12 份新增或细分用途待评审;不等同于批准新增 12 个类型。
|
||||
|
||||
### Requirements
|
||||
|
||||
资产与内容约束:
|
||||
|
||||
| ID | 要求 | 可判定验收条件 | 来源 |
|
||||
|---|---|---|---|
|
||||
| R1 | 44 份原件逐份登记来源、用途、版本和状态 | 每个路径有完整 hash 和处置;重复内容保留逻辑用途;未验证项不可标可用 | 本轮范围;TT-T01/T04 |
|
||||
| R2 | 保留真实多级结构、表格、填写规则与关键版式 | 对照每份原件无关键静默丢失;DOC 的解析/转换差异有人工裁定 | TT-T01/T02;现有模板方案 R3/R11 |
|
||||
| R3 | 示例、说明、占位符与固定文本分别处理 | 无真实证据时不预填验证成功、样本量或签署;模板内产品示例不进入项目事实 | 原件填写说明;原方案 R6 |
|
||||
| R4 | 模板用途和项目适用性明确 | 选择显式正文模板;计划/报告、验证/确认用途不混用;不适用部分注明理由 | TT-T03;原方案 R1/R3 |
|
||||
|
||||
生成与受控交付:
|
||||
|
||||
| ID | 要求 | 可判定验收条件 | 来源 |
|
||||
|---|---|---|---|
|
||||
| R5 | 新实例及历史内容固定实际模板身份 | templateId/version 与原件、结构、渲染包的完整 hash 可复核;升级不改旧版本 | TT-T04;原方案 R3/R9 |
|
||||
| R6 | 用户能从项目对话创建或更新模板文档 | 真实认证总线到实例化、生成、提案、采纳;歧义先澄清;总结请求不触发写入 | 原方案 R2/R7/R13 |
|
||||
| R7 | 生成和下载遵守现有项目、资源和文档职责 | 仅指定编制人生成/采纳;检索与模型输入授权;恢复、撤权及下载再次核验 | 原方案 R4/R9/R11 |
|
||||
| R8 | 模板、正文、依据和审签使用同一冻结对象 | 旧卡片/并发/模板退役均不能覆盖新内容;正式导出读取指定批准快照 | 原方案 R5/R7/R8/R9/R11 |
|
||||
| R9 | 完成状态以实际 Word 与用户流程验收为准 | 每个发布模板至少一个正常样例及一个空缺/冲突样例;44 份全部有结果 | 原方案 R12;TT-V01–03 |
|
||||
|
||||
### Scope Boundaries
|
||||
|
||||
本专项承接在途 `feature/rdm-two-trees-latest-templates` 的 TT-T01–04,依赖其 TT-D01–04 的递归结构、结构提案和版本保护。
|
||||
该任务已形成阶段 2 评估;本轮读取的记录仍待人工评审,不把其文字升级为实施批准。
|
||||
两个任务只能有一处权威模板/内容块契约和一份 44 资产台账;实施立项前指定契约 owner,按共同 R0 分工,禁止各做一套树或升级机制。
|
||||
原两树一网任务其余需求继续由其主记录维护,本专项的聚焦不削减那 28 项完整范围。
|
||||
|
||||
### Deferred to Follow-Up Work
|
||||
|
||||
未提供新标准原件的其余 37 个既有类型保留兼容和明确状态;不以本批 44 份宣称覆盖全部 69 类型。
|
||||
历史报价 XLSX 不在本批 Word 接入范围;全局项目字典扩展、默认成员工作上下文、完整审计展示继续归原两树专项。
|
||||
`-open-existing` 修复和 U2/U3 部署增强保持独立新需求。
|
||||
旧项目批量改绑、运行库迁移和上线需独立方案与授权,本轮不启动。
|
||||
|
||||
### User Flow
|
||||
|
||||
用户在可信项目对话中提出“按 DHF 模板生成项目建议书”;系统确认目标文档、用途和已发布模板。
|
||||
已有同类文档时展示更新目标;缺职责时等待负责人分配,由指定编制人接续。
|
||||
模板不适用、资料不足或用途歧义时保留待处理状态,不能退回任意骨架继续生成。
|
||||
生成任务使用已固定且有权使用的项目依据,返回逐块内容、来源、差异和缺项;编制人采纳后才形成内部版本。
|
||||
审核和批准绑定整文快照;草稿与正式版可区分地预览/下载,正式 Word 从指定批准快照和固定模板包生成。
|
||||
|
||||
---
|
||||
|
||||
## Planning Contract
|
||||
|
||||
### Key Technical Decisions
|
||||
|
||||
KTD1. 将原件、结构合同、渲染包组成同一个不可变模板发布版本;登记阶段/用途、适用规则和来源谱系。
|
||||
原件永久保存;DOC 转换产物是派生件,记录转换器版本/配置及产物 hash。
|
||||
默认模板只能从人工确认的显式绑定取得;语义版本比较替代字符串最大值,骨架显示“待标准模板”,不得混成已发布 DHF。
|
||||
共享模板/默认绑定治理沿用[原模板方案 KTD1](2026-10-11-rdm-template-dialog-generation.md#ktd1-template-contract-and-authority)的获批仓库发布边界;本专项不开放运行时模板管理权限。
|
||||
|
||||
KTD2. Word 在资产准备阶段规范化为 DOCX,运行时不新增 LibreOffice 服务依赖。
|
||||
先复用在途 E1 的隔离试验,验证 DOC→DOCX 的可行性与损失;不得直接把 DOC 二进制当字符串或重命名扩展名。
|
||||
建议方法受官方格式与转换接口支持,但本批保真尚未验证:[MS-DOC 格式](https://learn.microsoft.com/en-us/openspecs/office_file_formats/ms-doc/ccd7b486-7881-484c-a137-51170af7cc22)、[LibreOffice 转换参数](https://help.libreoffice.org/latest/en-US/text/shared/guide/start_parameters.html)、[格式过滤器](https://help.libreoffice.org/latest/en-US/text/shared/guide/convertfilters.html)。
|
||||
E1 先检验用户需求、软件测试用例、采购技术说明三种 DOC 样本,再覆盖全部 14 份;失败项保留未验证,不能降低 R2。
|
||||
本轮 PATH 未找到 LibreOffice/soffice;固定工具版本、隔离环境和试验授权仍是前置条件。
|
||||
E1 使用独立转换器 profile、只读原件和隔离临时输出,禁用宏、外部内容加载和网络;转换进程不得访问用户凭证或运行库。
|
||||
|
||||
KTD3. 结构合同采用原两树专项的递归内容块,模板只定义其约束和 Word 槽位映射。
|
||||
块具有稳定 ID、层级、顺序、填写语义、字段/重复行/合并关系、依据需求、适用性和附件引用;显示标题不作为身份。
|
||||
解析综合样式继承、outlineLvl、自动编号、正文顺序和表格关系,人工确认其业务含义。
|
||||
蓝字、斜体、黑字只是分类线索;预填的 IQ/OQ/PQ 成功、样本量 22 和“同意”意见必须按 R3 处理。
|
||||
|
||||
KTD4. 扩展现有领域对象、事件 payload 和 replay,固定模板绑定及每次生成的内容/依据基线。
|
||||
增加 RDM 领域的按模板实例化与生成编排入口;既有 compose/propose/adopt 适配到同一约束,不建立第二个提案或审批库。
|
||||
实例化事务创建文档、内容块和模板绑定;确认/采纳使用预期版本、opId 幂等和事务内复验。
|
||||
生成任务保存输入清单与候选,失败可恢复;恢复重新验证权限及模板可用性,缺少依赖时返回明确待处理结果。
|
||||
|
||||
KTD5. DOCX 采用固定原模板包的槽位填充渲染,结构化内容是业务正文权威。
|
||||
保留原件的封面、页眉页脚、样式、编号、图片和非填充部件,确定性填充已标记的段落/单元格/重复行。
|
||||
发布检查识别会自动读取外部内容的关系;派生渲染包禁止保留外链图片加载,普通引用链接保持可审查的文本/超链接语义。
|
||||
本批《原材料进货检验规范》的图片同时有内嵌 rId11 和外链 rId12;派生包保留内嵌图片,移除 rId12 关系及对应 r:link,原件不变,处置进入差异台账。
|
||||
只有外链而无可保全本地内容时阻止发布,不能静默删图或自动下载补齐。
|
||||
原模板包不得直接把示例结论保留为实例结果;签署区域只映射真实审签元数据,不生成手写签名。
|
||||
提交快照冻结真实模板 binding、内容块/章节版本、依据和渲染器版本;导出明确选择草稿或某一批准快照,不能读取各章当前最新版拼装。
|
||||
批准 Word 首次生成后,字节、完整 hash、固定输入与精确批准快照持久关联,随批准历史保留;现有短期导出工件的 24 小时寿命不能作为该文件的保留策略。
|
||||
采用 RDM 自有的受控导出产物仓储,复用现有文件/hash 完整性机制,下载权限使用 `doc_export_visibility.go` 的受控正文授权,区分短期导出和批准历史文件;下载链接可短期失效,批准文件不能因此删除。
|
||||
批准后排队生成并保存该交付物,生成失败不回滚已批准的文档状态,文件状态保持待生成或失败;固定输入的幂等重试保存完整文件及关联后才可声明文件就绪。
|
||||
同一快照再次取得文件返回原批准字节;首次生成或获准重建只能使用可执行的固定渲染版本,相关模板包/槽位映射缺失、原件 hash 不符或旧渲染路径不可执行时明确阻塞,禁止自动改用新版渲染器。
|
||||
软件升级和例行清理必须保全批准文件及关联;结构化内容仍是业务权威,存档 Word 是对应快照的固定交付物。
|
||||
现有仅含字典版本的历史快照不补造模板身份;继续按旧导出路径提供并标明历史格式,不能宣称新 DHF 保真。
|
||||
|
||||
KTD6. RDM 持有领域模板与生成/导出逻辑,Frontend 持有正式用户界面。
|
||||
对话、工具及工作区消费同一服务端对象和状态;修正错误 intent 参数,并公开合法的模板绑定和提案 schema。
|
||||
正式产品必须检验 Frontend 发布版本和 RDM pins 的组合;仅修改 RDM `web/app.js` 不算正式产品交付。
|
||||
按 Dev DESIGN 复用三栏、卡片与唯一文件预览,界面消费令牌和已有原语;文档纸面保留原件自己的字体和颜色。
|
||||
预览明确区分页式视图、版式降级的内容视图和无法读取;页式渲染失败时显示“版式预览不可用,当前仅展示内容”,保留同一 Word 文件的下载入口供核对,不把内容视图当作格式验收。
|
||||
仅当已批准路径无法由公开扩展点实现时,向基座提交四要素扩展申请;禁止改 RDM pins 或导入 Backend internal。
|
||||
|
||||
### High-Level Technical Design
|
||||
|
||||
以下图示规定权威和流向;具体类型名、函数及路径由实施时确定。
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
O[44份只读原件] --> N[DOC规范化与差异核对]
|
||||
N --> T[固定模板包: 原件/结构/槽位]
|
||||
T --> I[可信项目与按模板实例化]
|
||||
K[授权知识与原文版本] --> G[逐块生成和校验]
|
||||
I --> G
|
||||
G --> P[持久提案和差异]
|
||||
P --> A[编制人采纳: 事务/CAS]
|
||||
A --> S[整文提交/审核/批准快照]
|
||||
T --> E[固定模板填充导出]
|
||||
S --> E
|
||||
E --> F[同一文件预览和下载]
|
||||
```
|
||||
|
||||
```mermaid
|
||||
stateDiagram-v2
|
||||
[*] --> Imported
|
||||
Imported --> NeedsReview: 结构/语义/版式待确认
|
||||
NeedsReview --> Published: 资产评审通过
|
||||
NeedsReview --> Blocked: 关键丢失或用途不明
|
||||
Blocked --> NeedsReview: 有依据的修正
|
||||
Published --> Retired: 受控退役
|
||||
```
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
actor A as 编制人
|
||||
participant C as 对话/工具
|
||||
participant R as RDM领域服务
|
||||
participant D as 事务与事件库
|
||||
participant E as Word导出
|
||||
A->>C: 指定项目/目标/模板
|
||||
C->>R: 可信主体与明确绑定
|
||||
R->>D: 实例化及生成输入快照
|
||||
R-->>A: 候选、差异、缺项与来源
|
||||
A->>R: 采纳固定提案
|
||||
R->>D: 权限/版本复验,原子提交
|
||||
Note over R,D: 三权审签后冻结整文及真实模板
|
||||
A->>R: 导出指定批准快照
|
||||
R->>E: 固定内容与模板包
|
||||
E-->>A: 经授权的文件预览/下载
|
||||
```
|
||||
|
||||
### Dependencies and Open Questions
|
||||
|
||||
实施启动阻塞项:本轮范围与取舍评审、在途两树任务契约 owner、44 份逐项阶段/type/用途映射、E1 授权与 DOC 保真结果、原件内容分类及导出槽位合同。
|
||||
特别是 F02《验证确认报告》虽位于设计验证目录,正文是过程 IQ/OQ/PQ 确认,须由业务负责人裁定用途,不按目录自动映射。
|
||||
导出关键版式以 R2 为底线;允许的字体替代和跨 Office 分页差异在 E1/样例评审中逐项确认,不承诺像素一致。
|
||||
源模板中的企业信息、示例产品名和标识需人工分类为企业固定项或项目替换项;无人确认时保持待发布。
|
||||
具体 helper 名称、序列化细节和测试夹具目录由实施者确定;不得用这些细节延后上述业务裁定。
|
||||
|
||||
---
|
||||
|
||||
## Implementation Units
|
||||
|
||||
以下 U-ID 只属于本专项;均为待批准工作,不代表 E1 或任何业务实施已启动。
|
||||
|
||||
### U1. Asset Contract and Conversion Proof
|
||||
|
||||
覆盖 R1–R4;先与 TT-T/TT-D 的 owner 固定共享契约与台账。
|
||||
Files:RDM `internal/rdmapp/templates/`、`templates.go`、`templates_embed.go`;新增 `docs/records/dhf/` 台账及 `template_asset_contract_test.go`(拟定);Dev 原件保持只读。
|
||||
产物为 44 份完整谱系、用途/适用性映射、内容分类、保真差异台账和已评审结构/槽位规范。
|
||||
先用项目建议书 DOCX 完成内容模型;设计输入规格书及 F02 报告校验多级结构与示例语义,复用 E1 覆盖全部 DOC。
|
||||
验证场景:损坏/加密/不支持对象拒绝发布;重复 hash 不吞用途;混合标题/编号正确;黑字假结论不能成为项目结果;每个 DOC 关键差异有判定;外链图片处置后内嵌图完整且导出无自动外部内容读取。
|
||||
出口:44 份处置明确,全部 14 DOC 方法可核验;未通过资产保持阻塞,不能进入全量发布。
|
||||
|
||||
### U2. Published Template Binding and Instantiation
|
||||
|
||||
依赖 U1 共享契约;覆盖 R1/R4/R5/R8。
|
||||
Files:RDM `templates.go`、`structure.go`、`internal/domain/doctree.go`、`payloads.go`、`replay.go`、`plugins/rdm/plugin.go`;新增 `dhf_template_instance_test.go`(拟定)。
|
||||
增加发布模板包与明确默认用途,原子创建文档/块/真实模板 binding;内容块复用 TT-D,不按标题去重代替身份。
|
||||
验证场景:v2/v10 选择、周报与建议书同 docType、缺包/hash 错误、退役、重复创建、跨项目、更名同名章、失败回滚及重启重放;模板升级不会覆盖旧实例。
|
||||
出口:无 Dev 源码目录的构建制品可实例化试点模板;新对象与历史对象有明确兼容路径。
|
||||
|
||||
### U3. Evidence-Based Generation and Confirmed Adoption
|
||||
|
||||
依赖 U2;覆盖 R3/R6–R8。
|
||||
Files:RDM `compose.go`、`draft.go`、`draftproposal.go`、`plugins/rdm/plugin.go`;扩展 `compose_test.go`、`draftproposal_test.go`、`plugins/rdm/intents_test.go`。
|
||||
修正 intent 和总线 schema;按块要求组织有权依据,结构化生成并校验,复用持久提案/事务采纳;同时落实 Compose 的指定编制人门禁。
|
||||
验证场景:真实自然语言请求从正确模板到提案;无资料、示例黑字、适用条件冲突均诚实留缺;未分配职责、非编制人和私人未发布资料拒绝;并发采纳、重复点击、取消、断连/恢复及撤权结果可查且不重复生效。
|
||||
出口:项目建议书有固定来源的完整候选和内部版本;无证据的测试/验证字段仍空缺或注明未执行。
|
||||
|
||||
### U4. Approved Snapshot and Word Fidelity
|
||||
|
||||
依赖 U2/U3;覆盖 R2/R3/R5/R8/R9。
|
||||
Files:RDM `docsubmission.go`、`docx.go`、`doc_export_visibility.go`、`export_artifact.go`、领域快照 payload/replay;扩展 `docx_test.go`、`plugins/rdm/doc_submission_test.go`;新增 `dhf_docx_fidelity_test.go`(拟定)。
|
||||
冻结真实模板及渲染版本,补整文快照选择;实现原 OOXML 槽位填充、重复行和附件映射及批准 Word 持久关联,旧导出语义独立兼容。
|
||||
验证场景:审核中改正文被拒、提交后模板更新/退役、批准后当前章变化、历史批准轮次重导出、槽位重复/缺失、长表格跨页、合并关系、编号、图片、页眉页脚、中文字体、非法 XML;无真实签署不填意见;下载撤权立即拒绝。
|
||||
跨版本验收:旧版批准/导出→超过短期工件 TTL→升级并更换渲染实现→取得同一轮次 Word,字节 hash 与原批准文件一致;下载仍按当前权限判断。原批准文件损坏或丢失且固定渲染版本不可执行时明确阻塞,不生成外观相近的新文件冒充历史产物。
|
||||
故障验收:生成失败不改变审批结论;写文件与关联记录部分失败不发布就绪文件,重启后可查并幂等恢复;文件下载采用正文职责权限,普通审计权不扩大文件读取范围。
|
||||
出口:三用户完成试点审签,Word 内容/依据与批准快照相同,关键版式对照通过;ZIP 非空或可打开仅为辅助检查。
|
||||
|
||||
### U5. Formal Product Path and Offline Package
|
||||
|
||||
依赖 U3/U4;覆盖 R6/R7/R9。
|
||||
Files:RDM `scripts/build-product.sh`、`scripts/pack-release.sh`、`templates_embed.go`、`templates_embed_test.go`;Frontend `src/previewsetup.ts`、真实对话卡片/文件预览/API 与相关浏览器用例(其余路径实施前按当前发布版定位)。
|
||||
统一包内模板路径、读取路径和 hash 校验;对话与辅助工作区复用同一任务/提案/快照,交付正式 Frontend 版本后由 RDM 正常消费。
|
||||
验证场景:真实 auth-on 两项目三用户,关闭右栏完成编制,刷新/重启/撤权/旧卡片;脱离源码运行同一制品,资产缺失/摘要错误拒绝;原模板字体/颜色在预览保留;页式渲染失败明确降级,完全无法读取显示错误及下载入口;证明浏览器使用精确 Frontend SHA。
|
||||
出口:项目建议书在正式产品完成全流程,固定组合 CI 与独立重放齐备;静态工作台或桩测试不能替代。
|
||||
|
||||
### U6. Complete All DHF Families
|
||||
|
||||
依赖 U1–U5 试点通过;覆盖 R1–R9。
|
||||
Files:RDM 模板包、registry、映射台账及每文档族的内容/Word 回归样例,复用 U1 的唯一资产台账。
|
||||
顺序为策划/输入→输出→验证/确认→商务/转换及剩余评审;DOC 规范化与 DOCX 内容整理可在同一契约下并行,发布仍逐批评审。
|
||||
每份模板至少运行一个有材料的完整样例和一个缺证据/冲突样例;报告类只使用实际提供的验证记录,不能生成执行记录。
|
||||
出口:44 份逐资产结果齐全,声明可用者通过真实生成/采纳/审签/导出;未解决项显式保留,本目标不能标全量完成。
|
||||
|
||||
---
|
||||
|
||||
## Verification Contract
|
||||
|
||||
验证在后续批准的阶段执行;本轮只能做原件/源码阅读和文档一致性检查。
|
||||
实施期先补关键链路的行为测试,再扩展原有实现;正式验收遵循 Dev evidence、精确组件 SHA、CI GATE 与独立 REPLAY 门禁。
|
||||
|
||||
| 证据层 | 对象与方法 | 硬判据 |
|
||||
|---|---|---|
|
||||
| 资产 | 44 份路径、原件/派生/结构/渲染 hash、DOC 差异和业务分类 | 44/44 可追溯;原件不变;关键结构/语义/格式无静默丢失 |
|
||||
| 领域 | RDM 模板/实例/提案/审签/事件重放测试 | 固定绑定、CAS/幂等、失败全回滚、历史再现,负向越权为零 |
|
||||
| 真实总线 | 意图→schema→认证主体→实例化/生成/采纳/导出 | 用合法 docType/templateRef;工具暴露参数和处理器一致 |
|
||||
| 模型行为 | 固定真实素材、原件和任务,人工审核正文与引用 | 不编造事实、样本量、执行记录、结论或签署;缺项明确 |
|
||||
| Word | OOXML 核对+真实 Office/LibreOffice 打开+人工原件对照+升级后历史文件重取 | 内容/表格/合并/编号/图片/页眉页脚/关键样式与固定快照一致;批准历史文件不受短期 TTL 清理 |
|
||||
| 正式浏览器 | 真实 auth-on 三用户两项目、对话/卡片/预览/下载、重启/撤权 | 完整用户流程,文件可读可下载,职责/私域隔离有效 |
|
||||
| 安装制品 | 固定 RDM/Frontend/Backend pins 与模板包,源码外运行 | 无 cwd 依赖;读/打包路径同值;错包拒绝,不回退到骨架 |
|
||||
|
||||
RDM 的现有 `make test`、product build、模板/提案/审签测试用于回归;Frontend 使用相关浏览器测试;Dev 有 gitlink 改动时执行组合 `make test` 和 `make build`。
|
||||
正式以各 PR 当前 HEAD 的必需 CI 为准;原件盘点 SELF、模型自评和历史绿色 CI不能代替当前验收。
|
||||
生成耗时、费用和人工修订量先建立试点基线,再确认目标;本轮不编造工期或质量评分。
|
||||
|
||||
## Definition of Done
|
||||
|
||||
规划交付:范围、源码基线、44 资产特点、技术决策、依赖、工作包、验证和阻塞项可审查;未批准及未执行阶段明确。
|
||||
试点交付:真实 DHF 项目建议书在正式产品,经三用户完成生成/采纳/审签/按快照 Word 导出,精确组合证据齐备。
|
||||
全量交付:U6 达到 44 份逐资产验收,原两树任务的共同契约和台账同步;试点或 registry 数量不能替代。
|
||||
上线交付:另行确认实例、制品和迁移范围,按批准窗口部署并运行验收;本方案完成不等于上线。
|
||||
|
||||
## Appendix
|
||||
|
||||
主要源码:RDM `internal/rdmapp/templates.go`、`templates_gen.go`、`templates_embed.go`、`structure.go`、`parse.go`、`compose.go`、`draftproposal.go`、`docsubmission.go`、`docx.go`、`plugins/rdm/plugin.go`、`scripts/build-product.sh`。
|
||||
本轮资产证据索引:[44 份原件的路径/hash/结构特征及源文件摘要](../records/2026-10-14-dhf-assets.json);完整命令输出以 Dev 任务卡 evidence 为准。
|
||||
上游来源:[原模板生成方案](2026-10-11-rdm-template-dialog-generation.md)、[最终目标方案](2026-10-11-rdm-final-target-completion.md)、[两树一网方案](2026-10-11-rdm-two-trees-trace-audit-integration.md)及在途 `feature/rdm-two-trees-latest-templates` 阶段 1/2 记录;旧“四模板”盘点只作历史。
|
||||
登录收官来源:Dev `docs/svc-deploy/2026-10-13-login-recovery-contract.md` 的最后一项为“完成”,PR #516 已合入;owner 于 2026-10-13 自行在浏览器确认通过,密码不经 Agent。本轮不重做该验收。
|
||||
@@ -192,7 +192,9 @@ RDM 总案把库分期作为支撑与依赖,不覆盖库分期的原始范围
|
||||
|
||||
- [RDM 两树一网集成、完善与追溯审计展示方案 r1](2026-10-11-rdm-two-trees-trace-audit-integration.md):对应 P3/MS3,源码已有部分实现;优先补项目绑定、创建者/管理员读取隔离与历史完整性,再接统一展示。用户确认范围为 RDM 与必要基座能力;r1 已获用户评审通过(2026-10-11,五阶段一并,含 KTD4 双层管理员裁定)。U1–U5 全部实施合入(RDM PR #195/#197/#201/#213;Dev PR #368,2026-10-11;超管槽待基座能力接线,见 RDM 仓 U1 基座扩展申请)。U6 团队存储独立后续;运行验收属部署环境。
|
||||
|
||||
- [RDM 模板与两树一网对话文档生成方案 r1.1](2026-10-11-rdm-template-dialog-generation.md):69 类旧资产、4 个当前注册模板的盘点及生成闭环设计;待评审,实施/迁移/模型试验/运行验收 NOT_RUN。与两树一网集成方案共用项目授权、原子事件与历史能力。 首批项目建议书/竞品分析、随后扩展全部文档已确认(2026-10-11),其余方案与实施仍待评审。
|
||||
- [DHF 模板接入 RDM 文档生成管线 r0.1](2026-10-14-dhf-template-generation-plan.md):用户于 2026-10-14 批准本方案并启动实施。RDM 的首批资产合同与 44 份原件目录已在独立任务分支保存;14 份 DOC 均有自动转换候选,E1 内容与版式保真仍待人工评审,正式模板发布数为 0。真实《项目建议书》的结构/槽位评审候选已形成;U1 整体、U2–U6 用户流程、正式验收与部署尚未完成。与在途两树任务沿用同一 TT-T/TT-D 契约;每阶段仍按既有人工评审门禁推进。
|
||||
|
||||
- [RDM 模板与两树一网对话文档生成方案 r1.1](2026-10-11-rdm-template-dialog-generation.md):69 类旧资产、2026-10-11 四个注册模板的历史盘点及生成闭环设计;待评审,实施/迁移/模型试验/运行验收 NOT_RUN。与两树一网集成方案共用项目授权、原子事件与历史能力。 首批项目建议书/竞品分析、随后扩展全部文档已确认(2026-10-11),其余方案与实施仍待评审;2026-10-14 资产和源码刷新见 DHF 专项。
|
||||
|
||||
- [RDM 最终目标核对与完整交付方案 r1](2026-10-11-rdm-final-target-completion.md):本轮用户确认系统级唯一项目、管理员上限内覆盖、私域与三权读取边界;覆盖 34 UR/68 SR/10 F、全部69类模板及现有XLSX,当前源复核 RDM d8d7e743。总体方案待评审,实施/迁移/运行验收 NOT_RUN;模板方案为子方案。
|
||||
|
||||
|
||||
@@ -0,0 +1,589 @@
|
||||
{
|
||||
"source": "SELF",
|
||||
"dev_sha": "add097d06137c4912a4ed9279e98ca353e4e4cf1",
|
||||
"rdm_sha": "6fcb256205c2384abed35d3b6ab96ca7216e9297",
|
||||
"rdm_frontend_sha": "eb2d6d32f9323094d568bc9d80b4e5ed4f0af25b",
|
||||
"rdm_frontend_preview_sha256": "0f53735a5b58d4c7c545ceb56ce02d0305af47f379f16d92295323a68dd5f13d",
|
||||
"summary": {
|
||||
"count": 44,
|
||||
"formats": {
|
||||
"docx": 30,
|
||||
"doc": 14
|
||||
},
|
||||
"unique_content": 41,
|
||||
"phases": {
|
||||
"0. 商务阶段": 1,
|
||||
"1. 策划阶段": 3,
|
||||
"2. 设计输入阶段": 15,
|
||||
"3. 设计输出阶段": 9,
|
||||
"4. 设计验证阶段": 8,
|
||||
"5. 设计转换阶段": 3,
|
||||
"6. 设计确认阶段": 5
|
||||
}
|
||||
},
|
||||
"assets": [
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/0. 商务阶段/0.1初始要求申请表.docx",
|
||||
"format": "docx",
|
||||
"bytes": 17137,
|
||||
"sha256": "eb9d287014911a18c5589a0b9e7b7f63ad535178cf7cf29a3a269dcf46118391",
|
||||
"tables": 2,
|
||||
"gridSpan": 0,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/1. 策划阶段/1.1、731QCP29-F01 项目建议书 02.docx",
|
||||
"format": "docx",
|
||||
"bytes": 25114,
|
||||
"sha256": "3f54f060d9c528e3fd4e7b7c606f352fbabe9488a25ad95a7341fa7901518b29",
|
||||
"tables": 2,
|
||||
"gridSpan": 4,
|
||||
"vMerge": 10,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/1. 策划阶段/1.2、731QCP29-F02 设计开发计划任务书 02.docx",
|
||||
"format": "docx",
|
||||
"bytes": 36248,
|
||||
"sha256": "d152b0b4d2bb1aa30c60aaec19e331a05a552d7d119f5a6f4cc4177f163159fb",
|
||||
"tables": 7,
|
||||
"gridSpan": 6,
|
||||
"vMerge": 106,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/1. 策划阶段/1.3、731QCP29-F07 设计开发(策划)评审记录 02.docx",
|
||||
"format": "docx",
|
||||
"bytes": 26043,
|
||||
"sha256": "d6f3cca9c3c1f7ed1ea60322c5435f8410d6cf7ca2096b04a367fc8255ee1330",
|
||||
"tables": 5,
|
||||
"gridSpan": 35,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.10.1、731QCP29-F13 配置管理计划 02.docx",
|
||||
"format": "docx",
|
||||
"bytes": 58902,
|
||||
"sha256": "94e8e7fc868d76c62199fdeb30ea0aab7db3c58a36ef94aef15d629f4930b11a",
|
||||
"tables": 5,
|
||||
"gridSpan": 4,
|
||||
"vMerge": 10,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.10.2、软件维护计划模板.docx",
|
||||
"format": "docx",
|
||||
"bytes": 166962,
|
||||
"sha256": "76fc4d4fddecc04e533aceb930aab9b82f4956c6bf5fb3d04f19150003c7932e",
|
||||
"tables": 2,
|
||||
"gridSpan": 4,
|
||||
"vMerge": 10,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/footer2.xml",
|
||||
"word/footer3.xml",
|
||||
"word/footer4.xml",
|
||||
"word/footer5.xml",
|
||||
"word/footer6.xml",
|
||||
"word/header1.xml",
|
||||
"word/header2.xml",
|
||||
"word/header3.xml",
|
||||
"word/header4.xml",
|
||||
"word/header5.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.11.1、731QCP29-F16设计输入规格书模版.docx",
|
||||
"format": "docx",
|
||||
"bytes": 68678,
|
||||
"sha256": "3fef2ed7d0aa5e0ac8c01b92571b0ce9dbe3a8191a06d7a79d799fb62fe5e613",
|
||||
"tables": 17,
|
||||
"gridSpan": 4,
|
||||
"vMerge": 10,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.12、731QCP29-F05 设计开发输入清单 02.docx",
|
||||
"format": "docx",
|
||||
"bytes": 20681,
|
||||
"sha256": "de990de6bf13e4c692a9664719f508cf2d34765b14ddd77fbb58879c99dee6da",
|
||||
"tables": 2,
|
||||
"gridSpan": 4,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.13、RDDHF0213-xxxx产品系统设计方案.doc",
|
||||
"format": "doc",
|
||||
"bytes": 419499,
|
||||
"sha256": "8168ea37c7ca5f32f5d57527d0c8ff5c2d583998167e30ed713937c95e9e82d4",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.14、731QCP29-F07 设计输入评审记录.docx",
|
||||
"format": "docx",
|
||||
"bytes": 28675,
|
||||
"sha256": "a3677cb06a3946769e501f906669f57c4cd21769109ad5e27697d76320fa8686",
|
||||
"tables": 5,
|
||||
"gridSpan": 35,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.1、731QCP29-F14 用户需求模板.doc",
|
||||
"format": "doc",
|
||||
"bytes": 115712,
|
||||
"sha256": "2f9c6795f81188797018ef7e2ba4c7e693db0f3fabaa2eb5a9478fb2e2b1a6ac",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.2、RDDHF0202-xxxx 医疗器械法规和标准清单.docx",
|
||||
"format": "docx",
|
||||
"bytes": 29384,
|
||||
"sha256": "2b36daeedc8c54a7975ece49102d279584bb80a5ff262912db2941edf009feec",
|
||||
"tables": 3,
|
||||
"gridSpan": 5,
|
||||
"vMerge": 10,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.3、RDDHF0203-xxxx 同类产品不良事件信息.docx",
|
||||
"format": "docx",
|
||||
"bytes": 29958,
|
||||
"sha256": "f7cd69b08c1ec1bea04ec8a30aaa54f6d8bed90a6e9544c3b9264341ac299edc",
|
||||
"tables": 3,
|
||||
"gridSpan": 4,
|
||||
"vMerge": 10,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml",
|
||||
"word/header2.xml",
|
||||
"word/header3.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.4、731QCP29-F15 系统需求规格书模板.doc",
|
||||
"format": "doc",
|
||||
"bytes": 119296,
|
||||
"sha256": "b58d1b900c951f8c20b5f301cb75e072a91c98ab3d71b172128b51dc84c8bff3",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.5、731QCP29-F07 需求评审记录表.docx",
|
||||
"format": "docx",
|
||||
"bytes": 27823,
|
||||
"sha256": "102ed2b6418b51b383de97a735b8a183d025af9da139152d92715e44ba860b1b",
|
||||
"tables": 6,
|
||||
"gridSpan": 42,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.6、731QCP29-F03 风险管理计划 02.docx",
|
||||
"format": "docx",
|
||||
"bytes": 31626,
|
||||
"sha256": "0c1484d6b29595077c9b60e08a69c73d008216744e7df59f83c0e7054f1e51c9",
|
||||
"tables": 7,
|
||||
"gridSpan": 8,
|
||||
"vMerge": 13,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.7.3、731QCP29-F04 风险管理报告 02.docx",
|
||||
"format": "docx",
|
||||
"bytes": 29910,
|
||||
"sha256": "d4f18eb817dae8b655715c6832b591299d0e5c7c1196e777cf9e48e79b4f3544",
|
||||
"tables": 6,
|
||||
"gridSpan": 8,
|
||||
"vMerge": 13,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.8、731QCP29-Fxx 软件开发计划-模板.doc",
|
||||
"format": "doc",
|
||||
"bytes": 300544,
|
||||
"sha256": "2dee0e085113adc4868546b2469eab89c076b6c8613417b3897e975a2adb4e29",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/2. 设计输入阶段/2.9、软件需求规格书模板.docx",
|
||||
"format": "docx",
|
||||
"bytes": 48903,
|
||||
"sha256": "aa12be2b8158439c91b77df5a90fd2d71aa658186e37332c54a6766b572b4a30",
|
||||
"tables": 10,
|
||||
"gridSpan": 4,
|
||||
"vMerge": 10,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/3. 设计输出阶段/3.12、原材料进货检验规范-模版.docx",
|
||||
"format": "docx",
|
||||
"bytes": 995696,
|
||||
"sha256": "34608b520ebff384cdb613818271a04d3e7fc9a71da693cdd51550ab0b38bf0c",
|
||||
"tables": 18,
|
||||
"gridSpan": 124,
|
||||
"vMerge": 10,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/footer2.xml",
|
||||
"word/header1.xml",
|
||||
"word/header2.xml"
|
||||
],
|
||||
"linked_images": [
|
||||
{
|
||||
"part": "word/document.xml",
|
||||
"link": "rId12",
|
||||
"embed": "rId11"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/3. 设计输出阶段/3.15、产品技术要求.doc",
|
||||
"format": "doc",
|
||||
"bytes": 16896,
|
||||
"sha256": "b787295c6c66089cb0895a1f9ebd77058091bb85355910f84d014613470b2512",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/3. 设计输出阶段/3.17、731QCP29-F06 设计开发输出清单 02.docx",
|
||||
"format": "docx",
|
||||
"bytes": 22792,
|
||||
"sha256": "f53a2f271bf2782ab12cba1f26a141d5560e7e7aa905a0a74b46b10bbf43e84b",
|
||||
"tables": 1,
|
||||
"gridSpan": 4,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/header1.xml",
|
||||
"word/footer1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/3. 设计输出阶段/3.18、731QCP29-F07 设计输出评审记录.docx",
|
||||
"format": "docx",
|
||||
"bytes": 28214,
|
||||
"sha256": "e37ab2828e647ffee84068d8c4ce6520c70b3a3849d37d946cb7bd52bd28efe9",
|
||||
"tables": 5,
|
||||
"gridSpan": 35,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/header1.xml",
|
||||
"word/footer1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/3. 设计输出阶段/3.6.2、软件详细设计模板.docx",
|
||||
"format": "docx",
|
||||
"bytes": 51735,
|
||||
"sha256": "e1089b1de6d2c06e5468adfa7f28b9cfaa13b3382f299e9e0af204543d221c20",
|
||||
"tables": 30,
|
||||
"gridSpan": 0,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/3. 设计输出阶段/3.8、RDDHF0213-xxx采购技术说明-结构&硬件.doc",
|
||||
"format": "doc",
|
||||
"bytes": 7791188,
|
||||
"sha256": "77fd422be6f37632052d47a05490312a8e36098eceb6d529653f59dde8fe51ef",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/3. 设计输出阶段/3.9.1、731QCP29-Fxx 工艺流程图模板.doc",
|
||||
"format": "doc",
|
||||
"bytes": 199173,
|
||||
"sha256": "1d702e1cdbdca52fe7957b01d13f15f77d447d78498a78e332d4646e27ee014c",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/3. 设计输出阶段/3.9.2、RDSOP00xx-00xx xxx作业指导书.docx",
|
||||
"format": "docx",
|
||||
"bytes": 6312572,
|
||||
"sha256": "e2d5e596ee1fa24ddd4166f41575167ed054451beb6fdbd1d1bccd15a709ef48",
|
||||
"tables": 7,
|
||||
"gridSpan": 1,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/footer2.xml",
|
||||
"word/footer3.xml",
|
||||
"word/header1.xml",
|
||||
"word/header2.xml",
|
||||
"word/header3.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/3. 设计输出阶段/731QCP33-F01 软件可追溯性分析报告 02.docx",
|
||||
"format": "docx",
|
||||
"bytes": 24006,
|
||||
"sha256": "23d6402dc8511a1ed7815082cc00822f9d62e3b74509bd75302987bfdf538f8a",
|
||||
"tables": 3,
|
||||
"gridSpan": 4,
|
||||
"vMerge": 10,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/4. 设计验证阶段/24.产品有效期验证.doc",
|
||||
"format": "doc",
|
||||
"bytes": 144292,
|
||||
"sha256": "425e993090eb84c5a88fbc6fe2d664d788d4879a7e173bd8a235b6aa0589311d",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/4. 设计验证阶段/41.软件单元测试用例-模板.doc",
|
||||
"format": "doc",
|
||||
"bytes": 57249,
|
||||
"sha256": "02f41e0770380332105851d620fbcfc470dbef93d2e7fa55c4b1dad441a7fcc0",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/4. 设计验证阶段/42.软件集成测试用例-模板.doc",
|
||||
"format": "doc",
|
||||
"bytes": 60369,
|
||||
"sha256": "1a373f9bec235d6771fceec15341c858412737298fad696dd68cb9bf262a5dec",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/4. 设计验证阶段/43.软件系统测试用例-模板.doc",
|
||||
"format": "doc",
|
||||
"bytes": 60915,
|
||||
"sha256": "22b211453d734668bd8b6a5948a5612ec93bde41838ee0fe0535551124566062",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/4. 设计验证阶段/49. 软件配置管理报告-模板.doc",
|
||||
"format": "doc",
|
||||
"bytes": 63121,
|
||||
"sha256": "243993a6ab53b475139afbeef04c9be0d593956bb2ae4e90f77c22b2e38b0063",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/4. 设计验证阶段/731QCP29-F07 设计验证评审记录.docx",
|
||||
"format": "docx",
|
||||
"bytes": 28214,
|
||||
"sha256": "e37ab2828e647ffee84068d8c4ce6520c70b3a3849d37d946cb7bd52bd28efe9",
|
||||
"tables": 5,
|
||||
"gridSpan": 35,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/header1.xml",
|
||||
"word/footer1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/4. 设计验证阶段/731QCP29-F08 设计开发验证记录 02.docx",
|
||||
"format": "docx",
|
||||
"bytes": 24111,
|
||||
"sha256": "c5b84546e647259f25b9445358ff93ecf61e047075d83a87b1f0f928df32f69a",
|
||||
"tables": 1,
|
||||
"gridSpan": 14,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/header1.xml",
|
||||
"word/footer1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/4. 设计验证阶段/756QCP26-F02 验证确认报告 V03-.docx",
|
||||
"format": "docx",
|
||||
"bytes": 42712,
|
||||
"sha256": "f5bbe7816e79a62e7bbbf297014be98a63b9ec306999a09723bef1a78d60b3fd",
|
||||
"tables": 12,
|
||||
"gridSpan": 2,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/footer2.xml",
|
||||
"word/header1.xml",
|
||||
"word/header2.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/5. 设计转换阶段/731QCP29-F04 风险管理报告 02.docx",
|
||||
"format": "docx",
|
||||
"bytes": 31234,
|
||||
"sha256": "8a17e5b4cff1d4a7d51a8ee5d4cc6b5e4da9c91f3a501cbe91bc3409d3f7b0b9",
|
||||
"tables": 6,
|
||||
"gridSpan": 8,
|
||||
"vMerge": 13,
|
||||
"headers_footers": [
|
||||
"word/header1.xml",
|
||||
"word/footer1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/5. 设计转换阶段/731QCP29-F07 设计转移评审记录.docx",
|
||||
"format": "docx",
|
||||
"bytes": 28214,
|
||||
"sha256": "e37ab2828e647ffee84068d8c4ce6520c70b3a3849d37d946cb7bd52bd28efe9",
|
||||
"tables": 5,
|
||||
"gridSpan": 35,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/header1.xml",
|
||||
"word/footer1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/5. 设计转换阶段/731QCP29-F09+试产总结报告+03-20250730.docx",
|
||||
"format": "docx",
|
||||
"bytes": 31901,
|
||||
"sha256": "7600083fa8675a95f2365267801cb3d712bcb0d0534b49371bf12c2abda9a66b",
|
||||
"tables": 4,
|
||||
"gridSpan": 23,
|
||||
"vMerge": 30,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/header1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/6. 设计确认阶段/53. 使用错误评估报告-模板zlx.doc",
|
||||
"format": "doc",
|
||||
"bytes": 136224,
|
||||
"sha256": "75cafe0c4c26edb2d9430f3c9839c5217106acdb5f205f12dcf3d728a67f5ed8",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/6. 设计确认阶段/731QCP29-F07 设计确认评审记录.docx",
|
||||
"format": "docx",
|
||||
"bytes": 28214,
|
||||
"sha256": "e37ab2828e647ffee84068d8c4ce6520c70b3a3849d37d946cb7bd52bd28efe9",
|
||||
"tables": 5,
|
||||
"gridSpan": 35,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/header1.xml",
|
||||
"word/footer1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/6. 设计确认阶段/731QCP29-F11 设计开发确认记录 02.docx",
|
||||
"format": "docx",
|
||||
"bytes": 23026,
|
||||
"sha256": "d01ff3c568416c81d7729fe35c4fe0820513dcbf74e2e33c3a6bf7db1453d609",
|
||||
"tables": 1,
|
||||
"gridSpan": 9,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/header1.xml",
|
||||
"word/footer1.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/6. 设计确认阶段/756QCP20-F01 计算机软件确认报告 02.doc",
|
||||
"format": "doc",
|
||||
"bytes": 114176,
|
||||
"sha256": "45e57b363abf14a19e6ef26af23f33b42095e68c1516f1af13f7b73f1f21050d",
|
||||
"header_hex": "d0cf11e0a1b11ae1"
|
||||
},
|
||||
{
|
||||
"source": ".templates/DHF 文件模板/6. 设计确认阶段/756QCP26-F01 验证确认方案 V03-.docx",
|
||||
"format": "docx",
|
||||
"bytes": 44029,
|
||||
"sha256": "525b2c40d74e09318188216b1cbc3d62ca410cdb55008fa7996ed9bdbc36e3f0",
|
||||
"tables": 14,
|
||||
"gridSpan": 33,
|
||||
"vMerge": 0,
|
||||
"headers_footers": [
|
||||
"word/footer1.xml",
|
||||
"word/footer2.xml",
|
||||
"word/header1.xml",
|
||||
"word/header2.xml"
|
||||
],
|
||||
"linked_images": []
|
||||
}
|
||||
],
|
||||
"rdm_source_sha256": {
|
||||
"internal/rdmapp/templates.go": "3defc58f0e20dc15d8cee9d846da0d998ca3caf659af2cca2603b6d8f1741419",
|
||||
"internal/rdmapp/templates_gen.go": "8d4a68a31b69ab1834e66acc583211614d8177d23e1844bd4aa61c98ff57547c",
|
||||
"internal/rdmapp/templates_embed.go": "26c940d94639b283fec2add2f2312931321d0bc0cd5e6ebb95c3c3b1c4f188c1",
|
||||
"internal/rdmapp/compose.go": "b2da219785cbf44ee53d1408e56628f44619c8dd93fb4415f2daa9013b591349",
|
||||
"internal/rdmapp/structure.go": "116a25bf5e76f940f54ba67b87b855c5953b944a4ca4f088953766a35563fa86",
|
||||
"internal/rdmapp/parse.go": "9db5e576496b60f54b6be1c6601df14b776075edefd1f712bc78d22d86bb4dc3",
|
||||
"internal/rdmapp/draftproposal.go": "85c638e9ac5b8c9c81974af6eb33b8e86053d3997ab718169a64cd987d1376a6",
|
||||
"internal/rdmapp/docsubmission.go": "e8070350ad794b46d226cba3acb9ff78bfed58113f766cf845d194bb6f3d686f",
|
||||
"internal/rdmapp/docx.go": "7ed609f658cc31ad216464fcea5dbdaa4e25cb56b3de205bc464e9848964db3d",
|
||||
"internal/rdmapp/export_artifact.go": "07a1a4fe537674e1413e38425a36af3c02e29c9e041f6478f96c45769328b2ce",
|
||||
"internal/rdmapp/doc_export_visibility.go": "e4fd051ffb643ae3f002b797ee4175b8b3b2a698012c411021492cab372e7580",
|
||||
"plugins/rdm/plugin.go": "25382894886fef7e9015d254fc416766d9cd7ce355671c088d2c34b0870a2eb8",
|
||||
"scripts/build-product.sh": "70041237df111f064257a8ba95e463de1db6c734d71a77f0f20efa3fa812de97",
|
||||
"scripts/pack-release.sh": "ebeb2b6728fb964aa9983c07e022b52e11be7d2efb76c5bbb6941ce13547d360"
|
||||
},
|
||||
"business_test": "NOT_RUN",
|
||||
"doc_conversion": "NOT_RUN"
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
# 合入调度首轮受控试行(2026-10-14)
|
||||
|
||||
状态:三个真实任务已由智能体依次合入;本报告记录 **manual** 模式的实际观察。是否扩大试行、调整预算或建设自动领取,仍待用户评审。依据为[已批准的实施计划](../proposals/2026-10-13-merge-queue-implementation-plan.md) U5–U6、[Dev 项目规则](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/src/branch/main/policy/merge-queue.md)和[唯一调度记录 #518](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/issues/518)。本报告不代表发布、部署或运行服务验收。
|
||||
|
||||
## 范围与证据口径
|
||||
|
||||
用户授权由当前智能体接管已有的 Dev #489、#488、#486,确认三者没有其他活动写者;所有实际 PR 合入由智能体执行。Dev `refs/heads/main` 的仓库 ID=29,协调者和窗口在 #518 登记。原任务 R0 各自不同,未伪称共同启动 SHA。组件先按自身目标交付,再固定 Dev 父仓组合;等待的 Dev 源分支没有随前一个正常合入反复同步、推最终候选或跑最终 CI。
|
||||
|
||||
证据分层:本机 `make evidence`、API 读取及隔离夹具输出是 **SELF**;`/root/merge_queue_review` 或 `/root/docs_delivery_review` 对固定对象的独立重放另记 **REPLAY**;Gitea Actions 的实际运行链接、作业身份和精确 SHA 才作为 **GATE**。原始 SELF 收据保存在各任务卡、#518 所指 `/tmp/mq-*` 路径及本轮私人状态目录;本文件只列对象、结论和索引,不转写命令输出。未执行的负例继续标 `NOT_RUN`。
|
||||
|
||||
平台前置使用用户亲手设置的私有夹具仓库 repoID38 `main` 保护规则。用户修正字段后,Root 只读回读六字段;隔离实测缺检查、失败检查、陈旧绿色候选、匿名请求及已认证绿色候选直推拒绝,合法固定候选由智能体合入。原始 SELF 收据和独立 REPLAY 索引在 #518。该夹具证明所测入口的拒绝/合法路径,不证明 Dev 所有角色、全部写者的机器隔离或旧执行者 fencing。Dev 三项业务检查仍须逐候选运行。
|
||||
|
||||
## 三个真实条目
|
||||
|
||||
| 顺序 | 原任务 R0 | 先行组件 | Dev 最终 base → head | 独立 Review 与当前 HEAD GATE | 实际合入 main |
|
||||
|---|---|---|---|---|---|
|
||||
| [#489](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/489) | `cd61bbb112eea6a210a64e84f2cef00b0d64bfc1` | [Documents #89](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Documents/pulls/89) → `7bd4e17827d4c7c88647bf3c9199c495b60cb107` | `add097d06137c4912a4ed9279e98ca353e4e4cf1` → `5e6bf4aa0546d68fb3f872158f22b2791c301a60` | `/root/docs_delivery_review` PASS;[run 3038](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/actions/runs/3038) 三作业成功 | `f00165e8d71e4dc8ba0ceb7dc50c1a8a3deb6d60` |
|
||||
| [#488](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/488) | `99048dda1f48bccb3d5d798050d7beeea2907177` | [Frontend #73](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Frontend/pulls/73) → `5313cfad4e633d0909ed40dcdfa28a11bc1902c0`;[RDM #301](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-RDM/pulls/301) → `ef5100a020abdd8ba8712c3d15c04c28bcac6e84` | `f00165e8d71e4dc8ba0ceb7dc50c1a8a3deb6d60` → `a70de2c54a74e175ad12c8d52ac29d0bafce9491` | `/root/merge_queue_review` PASS、隔离浏览器 7/7;[run 3050](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/actions/runs/3050) 三作业成功 | `d852c159b6b3387a2f418a42ab6d3696ac873d01` |
|
||||
| [#486](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/486) | `4d362537d0e8755a03b1757b5bad92779a064b33` | [Backend #185](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Backend/pulls/185) → `8e80e2618eb7471dd12d5f172ff3cd23622b7d2f` | `d852c159b6b3387a2f418a42ab6d3696ac873d01` → `d805cc1697ae7f49d371a56a6a55191f00897b8c` | `/root/merge_queue_review` PASS;[run 3067](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/actions/runs/3067) 三作业成功 | `05b997b84db26c517604c48d12676f0eb2b86e18` |
|
||||
|
||||
三个 Dev 合入都用固定 `head_commit_id`、`force_merge=false`,合入后从远端重新读取 PR/main 并核对完整 tree 与已审候选一致;组件 gitlink 没有回退。#489 首个合入响应后的本地指针统计出错,Root 先从 PR/main 重新对账再释放窗口,未重发合入请求。#488 的独立浏览器验收使用临时二进制/私有环境,未操作 live 服务。#486 的 U7 安全审阅先发现 B1–B7,Backend 在推最终源 HEAD 前修复并以隔离 PostgreSQL 真实交叠、跨进程、SIGTERM/SIGKILL 重放;Dev 最终组合继续通过本地 `make test`、隔离 PostgreSQL/Redis `make test-backend-pg` 和 `make build` 的 SELF 检查,GATE 另见表内 run 3067。
|
||||
|
||||
## 同步、CI、等待与恢复
|
||||
|
||||
每条 Dev 任务对其本轮最新目标仅发生一次真实纳入;固定后同基线 `task-sync` 核验不生成提交。#489 为纠正旧启动状态,在正式窗口前完成源码/组件整改与目标纳入;这与理想的“领取窗口后才第一次纳入”不同,不能抹去。#488、#486 都在领取最终窗口后才执行 `changed=1`,随后成功的固定 HEAD 检查为 `changed=0`。#486 一次无变更检查被嵌套 Git 的短暂 `index.lock` 拒绝,未删锁;持锁操作结束后原对象复核通过。原始失败和成功收据都在 #518。
|
||||
|
||||
| Dev PR | 目标纳入次数 | 固定后成功的无变更核验 | 本轮最终 PR CI | 作业运行时长(test / test-pg / svc-realcombo) | runner 等待 |
|
||||
|---|---:|---:|---|---|---|
|
||||
| #489 | 1(启动整改期) | 至少 3 次,均未改 HEAD | [3038](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/actions/runs/3038):1 次、3/3 成功 | 5:10 / 7:22 / 1:46 | 每作业 3 秒 |
|
||||
| #488 | 1(最终窗口) | 2 次,均未改 HEAD | [3050](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/actions/runs/3050):1 次、3/3 成功 | 5:12 / 8:42 / 1:54 | 每作业 3 秒 |
|
||||
| #486 | 1(最终窗口) | 1 次成功;另 1 次锁拒绝未推进 | [3067](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/actions/runs/3067):1 次、3/3 成功 | 5:01 / 7:19 / 1:54 | 每作业 3 秒 |
|
||||
|
||||
三次最终 PR CI 共 3 个 run、9 个必需作业,**因本轮正常排队任务移动 main 而废弃的最终 run 为 0**;没有拿旧绿色检查放行新 HEAD。合入后 main push CI 单列:[run 3040](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/actions/runs/3040) 对 #489 合入树、[run 3053](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/actions/runs/3053) 对 #488 合入树、[run 3068](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/actions/runs/3068) 对 #486 合入树,各自另有 3/3 作业成功;共 3 个 push run、9 个作业,不能省略这部分实际 CI 成本。3068 在 04:43:55Z 完成,精确对象为 `05b997b84db26c517604c48d12676f0eb2b86e18`。组件仓的 GATE/N/A 与 RDM #301 任务卡闭合 [PR #364](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-RDM/pulls/364) 的 CI 不计入上述 Dev 目标 run。
|
||||
|
||||
自 2026-10-12 起查询到三个 PR 另有 13 次**试行前开发** Actions run(#489 2、#488 7、#486 4;6 成功、7 失败),其对象与本轮最终候选不同;原始只读清单 `/tmp/mq-trial-ci-history-20261014.json`。这些运行既不能当本轮最终准入,也不能归因于本轮 main 移动。runner 作业等待时间以各 GATE job 的 `created_at`→`started_at` 计算;人的准备/依赖等待没有统一的入队就绪时间戳,本轮不填造净等待时长。仅可复核首次最终同步到合入的可观测下界:#489 19:49、#488 24:20、#486 18:46;它们含测试、Review 和平台等待,不等同完整窗口耗时。三条目均未重新领取最终目标窗口;启动整改、#488 的 E2E 夹具失败、#486 的一次锁拒绝分别保留,不计成 CI 废弃或窗口接管成功。
|
||||
|
||||
## 验收与下一步边界
|
||||
|
||||
| 验收 | 本轮结论 | 依据及限制 |
|
||||
|---|---|---|
|
||||
| MQ1 | 部分满足 | 三任务顺序合入且后继未提前最终同步;最终 CI 0 次因正常排队合入废弃。#489 的目标纳入发生在启动整改期,严格“领取后首同步”未由该例满足。 |
|
||||
| MQ2 | manual 已登记;原子互斥 `NOT_RUN` | 单协调者与目标窗口记录有效;重复领取的执行端拒绝及旧代次 fencing 未实现/未测。 |
|
||||
| MQ3 | 本轮通过 | 三个固定对象有同基线无变更核验;#486 短暂锁失败被拒绝且重验不改 HEAD。 |
|
||||
| MQ4 | 本轮通过 | 三个最终 HEAD 各跑实际新 CI;隔离夹具的陈旧绿色候选被拒。没有把组件/旧分支检查当父仓 GATE。 |
|
||||
| MQ5 | 部分满足 | #486 活动锁阻断并自行恢复,#489/#488 源码和夹具问题在固定前整改;人工超时释放及无依赖任务并行负例 `NOT_RUN`。 |
|
||||
| MQ6 | 部分满足 | 组件先合入,后继父仓保留其他能力;紧急插队导致候选失效的真实路径 `NOT_RUN`。 |
|
||||
| MQ7 | 部分满足 | #489 合入后本地异常先对账,未重复 POST;未知请求结果与旧执行者失联接管 `NOT_RUN`。 |
|
||||
| MQ8 | manual 范围通过 | 私有夹具正负例、Dev 精确 GATE 和合法智能体合入均有对象证据;全部角色/自动 fencing `NOT_RUN`。 |
|
||||
| MQ9 | 待文档 PR Review | 权威规范、Dev 采纳、调度记录、实际 PR/运行互相链接;本报告的最终交叉检查需随文档 PR 完成。 |
|
||||
|
||||
建议维持单协调者的 **manual** 模式,按目标串行领取,把组件准备与父仓最终 CI 分开。首次试行证明“等待分支不因正常合入反复重跑最终 CI”在这三项中成立;没有可比历史基线,**不报告节省百分比**。自动模式须另行建设并验证原子持久领取、执行端旧代次拒绝、角色覆盖和异常接管,不能从本轮人工遵约推导已具备。扩大试行与预算调整留待用户阶段评审决定;本报告不替代该决定。
|
||||
Reference in New Issue
Block a user