oh-my-muse/docs/mvp/1.0.0-交付计划.md
lili 5acb2503b5 feat(studio): 补齐深面入口
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 08:26:47 -07:00

158 lines
18 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Muse 1.0.0 交付计划与现状对账
> 版本v1.02026-06-26 首版)
> 目标读者:人类决策者(基准/优先级/发布决策)+ 执行 agent按 Epic 细分执行)
> 边界:本文是 **1.0.0 交付的单一事实源**——汇总 8 域"设计→实现→验证"对账、定义 1.0.0 范围与执行计划。它**不重复定义产品/架构**(那是 design-docs SSOT只承载"做到哪、还差什么、按什么顺序补、什么算真做完"。
> 由来2026-06-26 用 codex 多实例 + claude 深盘对 8 域做的交付盘点(原始对账存盘点产物,关键结论已固化于本文与各模块 `.agent`)。
---
## 1. 总体结论与基准
**Muse 不是"开发混乱",也不是"实现与设计各跑各的"。** 设计 SSOT 成熟33 分册)、后端骨架扎实、有真 PG/RAGFlow IT。真问题是**实现滞后于设计 + 验证假绿掩盖了大量"装了不能用"的断层**,导致完成度被系统性高估、反复踩坑。
- "实现与设计脱节"有实锤但属**局部**(横切 Schema、双轨 block、API 契约 header主体是**实现追赶设计**。
- "开发太长导致混乱"不成立;真相是**状态漂移**——进度散在总账/memory/临时文档/git log/各模块 `.agent`,缺统一对账。本文即补上这个对账。
**整体完成度(按"可闭环交付"严判):约 55-65%。** 后端读侧/骨架强,前端薄、写侧/消费侧/验证侧弱。
**交付基准(人类已定):线 A —— 1.0.0 最小可用子集。** 先把一条核心创作闭环做到真可上线pay/report/bpm/mp 等后置。
---
## 2. 八域完成度对账矩阵
| 域 | 完成度* | 最强(已真闭环) | 最痛(阻断点) | 盘点方 |
|---|---|---|---|---|
| market | ~86% | 前台主干真IT+e2e双证、KB物化D0-fork、agent 物化、KB 召回触达RC 后补市场治理/撤权申诉独立入口 | 生产者 UI/副本回收/下架撤权细补偿后置 | claude深盘 |
| content | ~88% | 写作/自动保存/AI采纳真PG+MSW-off e2eE1 已补采纳归档、改后合并入口、IndexedDB 草稿键、旧知识草稿失效、工作台入口、版本历史只读 diff、导出范围/凭证下载 UIRC 后完整导入向导已补 New-API LLM 全书解析、docx/epub 抽取、real-PG V34+ 与浏览器 MSW-off 全链证据;导出下载已补真实 FileService 浏览器 e2e | EditorPage 仍 demo 壳;版本恢复/高级回滚后置 | codex |
| knowledge | ~78% | KB物化、enable/disable真PGE3 已补 Studio 检索/绑定/上传与 Source 消费真 e2e | 图谱/发布深面仍薄;召回触达已物化 KB 归 E4 | codex |
| ai | ~80% | 生成/SSE/采纳/拒绝/Agent 生命周期/槽位 bind-unbind 真 e2eRC 后补 Quality eval 本地执行器 | 真实评估集管理/LLM judge、grant/runtime 深层隔离后置 | codex |
| admin | ~75% | 市场治理真IT、system 管理员治理与 AI 配置写链路已接 | Admin Playwright 未跑;部分 AI 命令仍 preview-only | claude深盘 |
| member | ~70% | account 读侧真IT、AI 用量/配额写侧闭环、RC 后补安全事件处理动作入口 | pay 禁用;真实改密/2FA/session service、偏好通知后置 | claude深盘 |
| meta | ~82% | planning 垂直切片、字段值校验、新增 schema 草稿与生命周期真 PG | usage contributor 全真实建模与可视化 schema 编辑器后置 | codex |
| 横切 | ~40% | infra文件真字节往返 | 统一Schema漂移、report/bpm/mp禁用、传播worker未落 | codex |
*完成度为相对判断(供排序与定基准),非精确度量。
---
## 3. 五类系统性病灶(根因——收敛抓手)
问题虽多,收敛为 5 类根因,逐类清比逐 bug 打高效:
1. **"能配置/能展示"≠"可闭环"**(最普遍)。三类断层:①前端壳+后端缺(权限治理三件套)②前端壳+后端齐的 **wiring gap**AI配置9按钮占位、reject仅清本地③后端齐+前端零的**孤儿端点**content治理、三类信息面板
2. **验证假绿系统化**(最危险,反复踩坑之源):
- 🔴 整个 P1r IT 套件**不在 CI 跑**CI=`mvn package` 无 failsafe、本分支从未真跑靠 2026-06 人工批准记录背书。
- 多个 `P1r*RealApiGateTest` 是**"状态台账门禁"非真跑**member/meta/admin
- live IT 默认 opt-in **跳过**ai/knowledge/market KB fork
- 大量 **mock-green** 单测冒充验证。
- → "51 真 IT"含金量需**大幅打折**。
3. **读写不对称**:读/展示完整、写/消费/扣减空——用量无写源、配额 Guard 孤儿、部分 Source 传播 worker 未落E4 已补 market KB 召回消费者)。
4. **设计漂移(真脱节,局部)**:横切统一 Source/Auth/Audit/Outbox Schema 未落地用分域替代表、content 双轨 block 结构化字段成孤儿、API 契约 header 语义与实现相反。
5. **模块禁用**report/bpm/mp/pay 在 pom 注释禁用(部分设计后置、部分待启用)。
---
## 4. 1.0.0 范围(线 A
**核心闭环(必须真可上线)**:注册登录 → 建作品 → 写作/自动保存 → AI 生成 → 采纳(归档)→ 知识库(建/绑/检索)→ 市场(发现/安装/用)。
**1.0.0 做**:见第 5 节 E0E7。
**1.0.0 不做(后置线 B**pay/自助支付(用 admin 人工开通会员、report 报表大屏、bpm 工作流、mp 公众号、真实安全账号能力(改密/2FA/session service 会话吊销;安全事件处理动作已在 RC 后补)、管理员侧下架/撤权细补偿、版本恢复/高级回滚(只读 diff 已在 RC 后补)、统一横切 Schema 重构、Source 全自治传播、可视化 schema 编辑器、偏好与通知页。
---
## 5. 执行计划Epic 分解 + 依赖 + 反假绿验证标准)
> 顺序原则:**E0 消假绿地基先行**(否则后续修复都无 CI 守护E1E3 核心创作闭环优先E4 依赖 E2agent 物化需 ai 运行时门E5E7 支撑。
> 每个 Epic 的"✔ done"是**反假绿验证标准**——必须真测试(真 PG/真 e2e通过、非 mock-green、非台账门禁。
### E0 · 消假绿地基(先行,全局守护)
- T0.1 ✅ 默认 CI 接到仓库根 `.github/workflows/maven.yml`,只跑纯本地 Maven/JUnit 层;真实 PG/live IT 不伪装进 `mvn package` 绿证。
- T0.2 ✅ `P1r*RealApiGateTest` 明确归类为 coverage 台账门禁,非业务真跑,不计入 1.0.0 真 done。
- T0.3 ✅ live opt-in IT 归类为 `external-live`,未显式 `MUSE_P1R_EXTERNAL_ACCEPTANCE=true` 时只能标 `SKIPPED`
- T0.4 ✅ 新增 `muse-cloud/scripts/run-p1r-verification.sh`,提供 `local` / `real-pg` / `external-live` 一键分层复跑real-PG 层强制 `_test` 库和密码仅 env。
- ✔ doneE1-E7 后续完成判据统一引用 [1.0.0-真验证清单](1.0.0-真验证清单.md)。默认 CI 守住纯本地门禁real-PG/external-live 作为发布前和 Epic 收口的显式复跑门。
### E1 · content 创作闭环补齐
- T1.1 ✅ Accept Suggestion 归档AI owner 写 accepted decisionP1r IT 扩到校验 suggestion status 与 decision archive2026-06-27 real-PG 切片 6/0F/0E/0S
- T1.2 ✅ 修改后合并前端入口已补finalContent 编辑提交);旧知识草稿失效已由 Knowledge owner API 接管Content 正文变更后将关联 pending draft 标为 `conflicted/needs_recheck`2026-06-27 单测 47/0F/0Ereal-PG `P1rContentMergeSuggestionIT` 5/0F/0E/0S
- T1.3 ✅ 工作台壳已补知识/导入/导出/记录入口:知识跳转作品知识页,导入可初始化本地正文,导出支持范围/格式选择、任务查询与下载凭证消费记录跳转账户中心2026-06-27 前端本地门 11/0F/0EMSW-off Playwright accept-suggestion 2/0F/0E2026-06-28 真后端 `export-download.spec.ts` 1/0F/0E
- T1.4 ✅ IndexedDB `workId+blockId+revision` 草稿键对账已补;版本历史最小 API/UI 已补:保存/采纳写入 `muse_content_block_revision_snapshot`,只读 `GET /blocks/{blockId}/revisions` 展示 Canonical revision 快照RC 后追加前端只读版本 diff 对比2026-06-27 real-PG `P1rContentCoreCompletedApprovalIT` 13/0F/0E/0SStudio 目标 Vitest `BlockRevisionPanel.test.tsx` 2/0F/0E
- ✔ done写作→AI→采纳候选离开 Active→工作台各入口可用2026-06-27 MSW-off Playwright 真后端旅程 `accept-suggestion.spec.ts` 2/0F/0E正路真 New-API 生成 suggestionId=79采纳后 Block revision 160→161候选归档 `accepted`
### E2 · ai 智能体生命周期与闭环
- T2.1 ✅ Agent CRUD 补齐:用户自建 Agent 支持 update/archiveupdate 创建新 active versionarchive 同步归档 active 槽位绑定2026-06-27 后端单测+MSW-off Playwright 真后端)。
- T2.2 ✅ Agent 版本读/切换/归档Studio 版本面板接真实后端,支持 list/activate/archive 非当前版本DB 核验 `current_version_id` 与版本 `status`2026-06-27 `agent-create.spec.ts` 1/0F/0E
- T2.3 ✅ Slot 解绑Studio 槽位面板接 `unbind`,真后端把 revision 2→3、status→`archived`、响应 `sourceStatus=unbound`2026-06-27 `agent-slot-bind.spec.ts` 1/0F/0E
- T2.4 ✅ 候选拒绝接后端Studio reject 调 `POST /suggestions/{id}/reject`AI owner 写 `rejected` + decision archive2026-06-27 `accept-suggestion.spec.ts` 新增 reject 真生成候选 suggestionId=81
- T2.5 ✅ 范围收口:候选处置闭环已用真生成采纳/拒绝 e2e 覆盖;独立“候选列表页”不属于线 A 必要路径RC 后已补质量评测本地确定性执行器,能把 evaluation queued job 推进到 completed/failed 并写 sample result/聚合摘要;真实评估集管理与 LLM judge 后置。
- ✔ doneagent 全生命周期可管;采纳/拒绝候选处置闭环真 e2e质量评测已具备最小执行闭环深度 judge 不计入线 A done。
### E3 · knowledge studio 与检索
- T3.1 ✅ Studio 检索触发 + 绑定/上传主流程 e2e`KnowledgeRetrievalPanel` 接真实检索端点绑定读回、market KB handoff、资料上传均由 MSW-off Playwright 真后端覆盖。
- T3.2 ✅ `no_dataset` 用户可见错误与治理入口(非静默省略):无 dataset 时 UI 展示可治理文案并指向“我创建的”上传/等待物化路径。
- T3.3 ✅ Source 传播真实跨模块消费验收AI 生成 e2e 反查 `muse_ai_generation.source_summary.contextAssembly`,确认检索 chunk、KB id、授权快照进入 AI 生成上下文。
- ✔ done2026-06-27Studio 知识闭环真 e2e 通过;检索可被用户触发、缺 dataset 有可见反馈,且 AI 生成链路真实消费知识 Source。
### E4 · market agent 物化 + 召回触达
- T4.0 ✅ 决策收口agent 物化落在 handoff 目标 owner 兑现点market 不直写 AI/Knowledge 本地事实,目标域按 token+assetId 解析来源并物化本地实体。
- T4.1 ✅ agent 物化market agent handoff 不再信 URL/body 里的 `sourceAgentId/sourceAgentVersion`AI 后端按 market asset `source_id` 解析发布者 agent并物化为安装者本地 user agent槽位绑定指向本地副本运行时 `requireVisibleAgent` 自然过门。
- T4.2 ✅ 召回触达已物化 KB合规底线market 召回发布来源状态事件knowledge AFTER_COMMIT 消费,将 installed_ref KB 的 projection 翻为 `recalled/blocked`;检索来源状态门返回 omitted source不再送入 RAGFlow。
- T4.3 ✅ 三类可信信息面板前端接入:市场详情页展示来源引用、当前授权、治理状态,消费后端 `typeSpecificInfo/userActions/governanceStatus`
- ✔ done2026-06-27 fresh 证据见 [1.0.0-真验证清单](1.0.0-真验证清单.md) E4后端目标测试 50/0F/0E契约/覆盖门 12/0F/0EStudio Vitest 11/0F/0E`tsc -b` 通过lint 0 errors仅既有 MSW warningMSW-off Playwright 真后端 E4 切片 6/0F/0E。边界副本资源回收仍后置本轮未重跑 Studio 全量 56。
### E5 · member 写侧闭环
- T5.1 ✅ 用量写路径接线AI 生成成功后经 Account owner 写 `muse_member_usage_record`,失败终态释放预占配额。
- T5.2 ✅ 配额扣减闭环 + `AccountQuotaGuard` 接入生成链路 + entitlement/usage/account IT fresh 复跑。
- T5.3 ✅ `NewApiAccountFacade` Real 实现New-API 管理口显式 live 验证通过,默认未 opt-in 时 honest skipped。
- T5.4 ✅ 配额请求/归因 job consumerqueued→processing→completed/failed有短事务 claim/terminal、外部调用 tx 外执行、失败 fail-closed。
- ✔ done2026-06-27用量真有数、配额真扣、New-API 绑定/配额管理口生产可用、quota request 与 attribution job 可推进到终态fresh 证据见 [1.0.0-真验证清单](1.0.0-真验证清单.md) E5。
### E6 · admin 权限治理 + AI 配置接线
- T6.1 ✅ system 管理员用户状态/角色治理后端防护 + Muse 管理端接线:`/system/user/update-status``/system/permission/assign-user-role` 带当前操作者上下文,后端拒绝自禁用和自改角色。
- T6.2 ✅ 权限组与页面权限沿用 Yudao system 角色/菜单/数据范围模型Muse 账号页新增“管理员权限”Tab 治理 system 管理员,不伪造 account 业务账号未定义写契约。
- T6.3 ✅ AI 配置/质量门控前端接线Prompt 激活、质量评估启动、质量策略版本创建调用真实 admin API最近评估只展示真实提交返回不再展示硬编码假评分。
- T6.4 ✅ market restore 分支真 PG IT申诉恢复路径覆盖 preview consumed、资产重新 listed、restore governance action、命令/事件幂等。
- ✔ done2026-06-27Muse 管理端可治理 system 管理员状态/角色后端有自操作防护AI 配置页关键写命令真接后端、去假数据market restore 分支有真实 PG 证据。fresh 证据见 [1.0.0-真验证清单](1.0.0-真验证清单.md) E6。边界account 业务账号封禁/权限组写契约仍不存在本轮不伪造Agent/Tool Grant 等未接后端的 AI 命令仍保持 preview-only。
### E7 · meta 字段校验 + schema
- T7.1 ✅ 后端动态字段值校验落在 Content 可信边界,经 Meta active projection 执行 required/type/enum/min/max/minLength/maxLength/pattern/regex/deprecated/unknown field 校验,并返回 schema/projection stale 布尔、当前版本和写入路由建议。
- T7.2 ✅ admin 新建 schema 草稿入口打通schemaKey 不存在时后端创建默认 content/work/work 根对象,状态 draft随后保存 v1 草稿;不扩张 OpenAPI 契约伪造多 targetType 入口。
- T7.3 ✅ meta admin API 真 PG IT`P1rMetaAdminSchemaLifecycleCompletedApprovalIT` 走真实 `/admin-api/muse/governance/meta-schemas/**`,覆盖新 schema 草稿→校验→预览→发布→激活→v2 发布→回滚,并断言 command/audit/validation/preview/version 状态落库、schema 根 `status=active` 与 active 指针同步;`P1rContentMetaProjectionClusterCompletedApprovalIT` 走真实 `/app-api/muse/works/{workId}/dynamic-fields/validate` 验证 active projection 规则。
- ✔ done2026-06-27动态字段预校验真实读取 Meta 投影并 fail-closedadmin 可从空 schemaKey 新建草稿并完成治理状态机fresh 证据见 [1.0.0-真验证清单](1.0.0-真验证清单.md) E7。边界Meta impact preview 在生产仍要求 5 维度 usage contributor all-real本轮 admin lifecycle IT 用 5 个 `VERIFIED_ZERO` 测试 contributor 满足装配门,不代表外部 owner 用量建模已完成;未跑 Admin Playwright e2e。
### E8 · 发布候选冻结与总验
- T8.1 ✅ 后端三层发布前总验:`local``real-pg``external-live` fresh 复跑通过GraphRAG attribution 仍是独立 opt-in skip不计入 1.0.0 线 A 通过项。
- T8.2 ✅ CI/package 兜底:根 Maven package 等价门已复跑通过61 个 reactor 模块全 SUCCESS同轮先暴露 `MuseApiContractSupport` 少登记 8 个 OpenAPI 操作233/241导致契约门红补齐后定向 `MuseApiContractSupportTest` 4/0F/0E/0S`mvn -B package --file pom.xml` 通过。
- T8.3 ✅ 前端总验Studio `tsc -b --force` 通过ESLint 0 errors仅既有 MSW warningVitest 27 files / 119 tests passedMSW-off Playwright 全量 61 tests = 60 passed / 1 skipped / 0 failedAdmin `@vben/web-antd typecheck` 通过Vitest 50 files / 347 tests passed。
- T8.4 ✅ 发布说明与已知边界:已形成 [1.0.0-RC发布说明.md](1.0.0-RC发布说明.md),列出线 A 已闭环、线 B 后置、GraphRAG/Studio D0-fork skip、Admin Playwright 未跑、复跑命令与回滚策略。
- ✔ done所有发布候选门禁有 fresh 证据,失败项已修或明确降级出线 A不得用旧人工批准、台账门禁、mock-only 或 skipped 代替 RC 绿证。
---
## 6. 验证准则(反假绿——什么算"真 done"
1. **真测试优先**done 以真 PG IT / 真后端 e2e 为准,不接受 mock-green、台账门禁、默认跳过的 live。
2. **分层守护**E0 后,默认 CI 守纯本地层;关键链路的 P1r IT 必须能通过 `run-p1r-verification.sh` 在 real-PG / external-live 层一键复跑并拦截回归。
3. **闭环验证**:验"用户可达的完整链路"前端动作→后端→DB→反查不止单点单测。
4. **独立复核**agent 报"已修/通过"必附运行证据;主 agent 独立复跑关键结论,不盲信子 agent。
5. **凭据红线**:测试/日志/产物不得泄露 password/secret/token/sk-IT 用 `_test` 库,绝不指向 muse_slice_live。
---
## 7. 收尾动作(执行前/中同步)
- **临时文档收敛**:临时-01~05 是过程文档SSE 方案、KB 物化过程、agent 物化 plan 等),关键结论已并入本文/各模块 `.agent`/memory按 AGENTS.md 归档或删除,不再作为活跃跟踪源。临时-05 的 agent 物化方案并入 E4仍正确、D1 待拍板)。
- **进度总账对齐**`docs/mvp/进度总账.md` 与本文去重——本文为 1.0.0 待做计划的单一事实源,总账保留为历史进度账并加指针指向本文。
- **执行跟踪**:按 E0E7 建可独立验证的子任务,逐个"目标→最小改动→真验证→回写"。
---
*本文随执行推进更新:每个 Epic/子任务完成后回写其真验证状态,保持"设计→实现→验证"对账不漂移。*