diff --git a/docs/mvp/1.0.0-产品功能缺口待办清单.md b/docs/mvp/1.0.0-产品功能缺口待办清单.md index 6b133b22..eac88813 100644 --- a/docs/mvp/1.0.0-产品功能缺口待办清单.md +++ b/docs/mvp/1.0.0-产品功能缺口待办清单.md @@ -1,6 +1,6 @@ # Muse 1.0.0 产品功能缺口待办清单 -> 日期:2026-06-28 +> 日期:2026-06-28(2026-07-01 代码级复核订正:新增 P0-11/P0-12、P1-15/16/17 缺口;第 4 节补 meta impact / FileService / Dify / admin 订正。证据均为生产代码 file:line,非台账。) > 口径:本文只记录“完整产品设计相比当前实现/验证仍缺什么”。1.0.0 线 A 是否可发仍以 [1.0.0-交付计划](1.0.0-交付计划.md)、[1.0.0-RC发布说明](1.0.0-RC发布说明.md)、[1.0.0-真验证清单](1.0.0-真验证清单.md) 为准。 ## 0. 结论 @@ -29,6 +29,8 @@ Muse 1.0.0 线 A 最小可用闭环已经具备:写作、AI 真生成、候选 | P0-08 | member/preferences | 偏好与通知页 | 当前无完整 app 写契约,不能伪造前端。 | 有偏好/通知 OpenAPI、后端持久化、Studio UI、通知发送或降级策略;权限和租户隔离通过真测试。 | | P0-09 | meta | impact preview 生产级 all-real usage contributor | Meta schema 生命周期和字段校验已通;生产影响预览仍要求多 owner usage contributor all-real,本轮测试仅用 `VERIFIED_ZERO` 满足装配门。 | content/knowledge/ai/market/member 等真实贡献影响数据;publish/activate/rollback/deprecate 前能展示受影响对象与阻断原因;假 0 不允许通过。 | | P0-10 | admin/e2e | Admin Playwright 真后端 e2e | Admin 当前有 typecheck、Vitest、后端真 PG 证据;RC 明确未跑 Admin Playwright。 | 管理端至少覆盖 system 权限治理、AI 配置写命令、market 治理、meta schema 生命周期的 MSW-off Playwright。 | +| P0-11 | content/planning | 剧情规划候选生成(用户面) | `ContentPlanningCandidateFacade.java:114` 仅 `@ConditionalOnMissingBean` 的 `UnavailableContentPlanningCandidateFacade` 空桩(注释“AI owner 尚未接入”)、无 Real 孪生;用户请求规划候选 create/list/get/discard 恒 blocked(studio 有入口却点不动)。 | AI owner 接入真实规划候选生成,写入走 Content 可信边界、规划台可创建/采纳候选;缺 AI 时 fail-closed 且前端诚实降级,不留死入口。 | +| P0-12 | content/style | AI 文风检查(用户面) | `ContentStyleCheckFacade.java:61` 同为 sole-Unavailable 桩,`StyleCheckLookupResult.unavailable()` 恒返回不可用;用户触发文风检查无结果。 | AI owner 接入真实文风检查并返回可追踪结果;缺 AI 时可见降级提示,不伪造通过。 | ## 2. P1:功能已可用,但深度/闭环/证明不足 @@ -47,7 +49,10 @@ Muse 1.0.0 线 A 最小可用闭环已经具备:写作、AI 真生成、候选 | P1-11 | events/studio | 统一 SSE 客户端接业务组件 | AI SSE 独立链路已修;通用 `connectEventStream` 未被业务组件广泛消费。 | 至少一个非 AI 业务组件使用统一事件流展示任务进度/通知;断线重连和去重有测试。 | | P1-12 | platform/gateway | gateway 运行期转发验证 | 配置层已收口,单体仍直服;Nacos/服务发现真实转发未首跑。 | gateway、muse-server、Nacos 同时部署,`/app-api` 与 `/admin-api` 经网关真实转发通过 smoke 和 e2e。 | | P1-13 | content/import | 完整导入向导 real-PG 与 MSW-off e2e 证据 | ✅ 已补。`P1rContentImportWizardCompletedApprovalIT` 已在专属 `_test` 库 clean+migrate 到 V34+,覆盖 docx 确定性解析与 New-API live LLM 两条后端真链路;Studio targeted Vitest/typecheck 已过;`import-wizard.spec.ts` 已用真实浏览器、真实 48080、共享 PG、New-API 跑通上传文件→章节确认→Knowledge Draft。 | 已达成:Playwright 1/0F/0E,并直连 PG 反查 parse job completed、2 条 confirmed Shadow、2 条 pending Draft、Canonical entity 计数不变。 | -| P1-14 | market/publisher | 发布素材与申诉附件链路 | 当前发布和申诉主链可用,但前端提交里 `evidenceMaterials`、`attachmentIds` 仍偏空数组/轻量字段。 | 发布资产和申诉补充均可上传/选择附件,后端保存附件引用并在审核/治理详情中可追踪;非法附件、越权附件 fail-closed。 | +| P1-14 | market/publisher | 发布素材与申诉附件链路 | 当前发布和申诉主链可用,但前端提交里 `evidenceMaterials`、`attachmentIds` 仍偏空数组/轻量字段(`muse-studio/src/features/market/hooks/useMarketPublish.ts:141,228` 写死 `[]`)。 | 发布资产和申诉补充均可上传/选择附件,后端保存附件引用并在审核/治理详情中可追踪;非法附件、越权附件 fail-closed。 | +| P1-15 | ai/source | 外部来源实时回查 owner facade | `AbstractUnavailableSourceOwnerFacade.java:15` 下 knowledge/meta/market/account 4 个 owner 恒返回 `owner_missing`/`blocked`,仅 content-work 真接(`ContentMuseWorkOwnerFacade` @Primary);Source 主传播走事件,实时回查为补充路径。 | 4 个来源 owner 提供真实回查(存在性/状态/授权),AI 采纳 source acceptance 在事件缺失时可实时兜底;honest skip 仅限未配置外部源。 | +| P1-16 | member/attribution | New-API 用量归因对账 provider | `UnavailableAccountAttributionSourceFacade.java:15` 是 `AccountAttributionSourceFacade` 唯一实现(恒抛异常)且被注入却无调用者(死代码);本地 usage_record 真实,但无从 New-API 拉用量对账。 | 归因 provider 真接 New-API 用量、支持对账/回填;清理死代码注入或补真实调用链;失败 fail-closed 且可重试。 | +| P1-17 | admin/ai | 质量策略回滚写命令 | `muse-admin/src/views/muse/ai/index.vue:419` 质量策略回滚点确认仅弹“尚未接入正式写命令”、不落库,是 admin AI 配置面唯一未接写命令的高危分支。 | 回滚接真实 admin 写命令,前置风险预览 + 审计;与其它 AI 配置写命令同源。 | ## 3. P2:完整商业化/平台化能力,明确后置线 B @@ -74,6 +79,10 @@ Muse 1.0.0 线 A 最小可用闭环已经具备:写作、AI 真生成、候选 | Market KB 召回触达 | 已触达 installed_ref 并阻断检索来源;缺的是副本资源回收和细补偿。 | | Member 用量/配额/New-API 管理口 | AI 生成用量写源、配额扣减、quota request worker、New-API 管理口 Real facade 已有证据;缺的是偏好通知和真实账号安全能力。 | | Account 市场投影 | 单体内 market provider 已真实提供 purchase/license/publish-records 投影,不应再按旧静态误判列为 facade 缺口。 | +| meta 影响预览 facade(2026-07-01 订正) | `UnavailableMetaImpactFacade` 已退役,`RealMetaImpactFacade`(@Primary)真聚合 5 维、all-real fail-closed,publish/activate/rollback/deprecate 真消费。**但** 5 维仅 planning 真 DB 计数,其余 4 维恒 `VERIFIED_ZERO`(P0-09 仍在)。旧“项目功能与进度总览”标 🔴 Unavailable 已过时。 | +| 导出 FileService(2026-07-01 订正) | `RealAccountFileServiceFacade`/`RealContentFileFacade`(@Primary)真接 infra `FileApi`(上传/取字节),Unavailable 仅 `@ConditionalOnMissingBean` 兜底;旧标 Unavailable 已过时。 | +| Dify 运行时 Adapter(2026-07-01 新接) | `RealDifyMuseAiRuntimeClient` 真发外部 HTTP(timeout/重试/错误映射/凭证脱敏),经 `RoutingMuseAiRuntimeClient` 装配落地;约束:仅服务不要求 source 溯源的 agent(设计取舍),**非** Studio 自建工作流节点编辑器(工作流深编辑仍见 P1-02)。 | +| muse-admin 前端整体(2026-07-01 复核) | 生产代码全域无假数据/mock,读写真连 Vben `requestClient`;唯一未接写命令的桩为质量策略回滚(见 P1-17),审计导出主动未做。旧“member 受限桩”指 studio 用户侧能力,非 admin 治理页。 | ## 5. 使用规则