158 lines
18 KiB
Markdown
158 lines
18 KiB
Markdown
# Muse 1.0.0 交付计划与现状对账
|
||
|
||
> 版本:v1.0(2026-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 e2e;E1 已补采纳归档、改后合并入口、IndexedDB 草稿键、旧知识草稿失效、工作台入口、版本历史只读 diff、导出范围/凭证下载 UI;RC 后完整导入向导已补 New-API LLM 全书解析、docx/epub 抽取、real-PG V34+ 与浏览器 MSW-off 全链证据;导出下载已补真实 FileService 浏览器 e2e | EditorPage 仍 demo 壳;版本恢复/高级回滚后置 | codex |
|
||
| knowledge | ~78% | KB物化、enable/disable真PG;E3 已补 Studio 检索/绑定/上传与 Source 消费真 e2e | 图谱/发布深面仍薄;召回触达已物化 KB 归 E4 | codex |
|
||
| ai | ~80% | 生成/SSE/采纳/拒绝/Agent 生命周期/槽位 bind-unbind 真 e2e,RC 后补 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 节 E0–E7。
|
||
**1.0.0 不做(后置线 B)**:pay/自助支付(用 admin 人工开通会员)、report 报表大屏、bpm 工作流、mp 公众号、真实安全账号能力(改密/2FA/session service 会话吊销;安全事件处理动作已在 RC 后补)、管理员侧下架/撤权细补偿、版本恢复/高级回滚(只读 diff 已在 RC 后补)、统一横切 Schema 重构、Source 全自治传播、可视化 schema 编辑器、偏好与通知页。
|
||
|
||
---
|
||
|
||
## 5. 执行计划(Epic 分解 + 依赖 + 反假绿验证标准)
|
||
|
||
> 顺序原则:**E0 消假绿地基先行**(否则后续修复都无 CI 守护);E1–E3 核心创作闭环优先;E4 依赖 E2(agent 物化需 ai 运行时门);E5–E7 支撑。
|
||
> 每个 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。
|
||
- ✔ done:E1-E7 后续完成判据统一引用 [1.0.0-真验证清单](1.0.0-真验证清单.md)。默认 CI 守住纯本地门禁;real-PG/external-live 作为发布前和 Epic 收口的显式复跑门。
|
||
|
||
### E1 · content 创作闭环补齐
|
||
- T1.1 ✅ Accept Suggestion 归档:AI owner 写 accepted decision,P1r IT 扩到校验 suggestion status 与 decision archive(2026-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/0E,real-PG `P1rContentMergeSuggestionIT` 5/0F/0E/0S)。
|
||
- T1.3 ✅ 工作台壳已补知识/导入/导出/记录入口:知识跳转作品知识页,导入可初始化本地正文,导出支持范围/格式选择、任务查询与下载凭证消费,记录跳转账户中心(2026-06-27 前端本地门 11/0F/0E;MSW-off Playwright accept-suggestion 2/0F/0E;2026-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/0S;Studio 目标 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/archive,update 创建新 active version;archive 同步归档 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 archive(2026-06-27 `accept-suggestion.spec.ts` 新增 reject 真生成候选 suggestionId=81)。
|
||
- T2.5 ✅ 范围收口:候选处置闭环已用真生成采纳/拒绝 e2e 覆盖;独立“候选列表页”不属于线 A 必要路径;RC 后已补质量评测本地确定性执行器,能把 evaluation queued job 推进到 completed/failed 并写 sample result/聚合摘要;真实评估集管理与 LLM judge 后置。
|
||
- ✔ done:agent 全生命周期可管;采纳/拒绝候选处置闭环真 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 生成上下文。
|
||
- ✔ done:2026-06-27,Studio 知识闭环真 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`。
|
||
- ✔ done:2026-06-27 fresh 证据见 [1.0.0-真验证清单](1.0.0-真验证清单.md) E4;后端目标测试 50/0F/0E,契约/覆盖门 12/0F/0E,Studio Vitest 11/0F/0E,`tsc -b` 通过,lint 0 errors(仅既有 MSW warning),MSW-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 consumer:queued→processing→completed/failed,有短事务 claim/terminal、外部调用 tx 外执行、失败 fail-closed。
|
||
- ✔ done:2026-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、命令/事件幂等。
|
||
- ✔ done:2026-06-27,Muse 管理端可治理 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 规则。
|
||
- ✔ done:2026-06-27,动态字段预校验真实读取 Meta 投影并 fail-closed;admin 可从空 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 warning),Vitest 27 files / 119 tests passed,MSW-off Playwright 全量 61 tests = 60 passed / 1 skipped / 0 failed;Admin `@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 待做计划的单一事实源,总账保留为历史进度账并加指针指向本文。
|
||
- **执行跟踪**:按 E0–E7 建可独立验证的子任务,逐个"目标→最小改动→真验证→回写"。
|
||
|
||
---
|
||
|
||
*本文随执行推进更新:每个 Epic/子任务完成后回写其真验证状态,保持"设计→实现→验证"对账不漂移。*
|