docs(mvp): 总账收口 S7 全线+S6a+M3/S8 Dify app 阻断+剩余路线图
S7d 代码层 b583bd6d、S6a 2ac42a06 记账;标注真环境阻断:Dify 各 app 模型后端未配好(写作透传 /chat-messages 500),所有者须在 Dify 侧修复,M3/S8 live 才过;S6 走 Datasets 不受此阻断。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
b583bd6dc6
commit
6c68b26c6f
@ -48,7 +48,16 @@
|
||||
- **S7b**(commit fcd0623a):新增独立瞬态加密表 `muse_ai_generated_fulltext`(V36:AES 加密+TTL+决定即清),执行器写瞬态 Store(不在终态 purge,出向存活到决定),投影在 done 前发 chunk 引用行(payload 只含 contentRef、绝不带正文),SSE `chunkData` 回 Store 取正文填 content,采纳/放弃即 purge。完整正文永不进 chunk payload/候选长期列(四重亲验)。ai 模块 528 用例绿。
|
||||
- **S7c**(commit 43a08624):纯前端。采纳恒走 merge_after_edit+finalContent=用户审定完整正文(改没改都送),Canonical 由客户端回传写入,修掉「原样采纳写摘要」潜伏缺陷;流健壮性三分(happy/疑似截断提示重生成/流空标 degraded 警告)。**MSW-off e2e 真后端+真 New-API 端到端证实 Canonical content_text===客户端 finalContent**、revision 递增。tsc/vitest 121/build/lint/e2e 全绿。
|
||||
- 真 PG 一次真生成经护栏+chunk 携全文+决定后 purge+重连回取的整链冒烟,并入 M1 由主会话跑现有 harness(避免新造 P1r live IT 触发内容过滤器)。
|
||||
剩余:**S7d**(生成 provider 切 Dify,workspace 已就绪);S6a 端口重命名主树重做中(此前 worktree 隔离基线陈旧 320 commit 作废,教训入个人记忆)。
|
||||
- **S7d**(commit b583bd6d,代码层完成):`RoutingMuseAiRuntimeClient` 补 Dify 装配为占位 Unavailable 时的 fail-closed(dify 选中但未装配/凭据缺→返回 Dify 专属 `AI_DIFY_UNAVAILABLE` 拒绝,**绝不回退 New-API**,亲验 dify 分支三出口均不触碰 newApiClient);Dify non-stream-read 超时 90→180s 对齐(180≤180<SSE 死线 240);solo-compose.env.example 启用 Dify 块(凭据取自既有 S1 DIFY 块);New-API 保留。ai 模块 530 用例全绿;`P1rDifyChatLiveAcceptanceIT` 真连 100.64.0.8:18080 验 wiring/契约/失败映射通过。**在用 Agent 的 runtimeProvider 存于 `muse_ai_agent_version.config` 运行时 DB JSON 列(非静态种子)**,故真正切 Dify 属 live 数据操作、归 M3。
|
||||
|
||||
**⚠ M3/S8 live 阻断(真环境发现,所有者须处理)**:Dify「muse-写作透传」app(75f105e8)`/chat-messages` 返 HTTP 500、而 `/info` 返 200 → **该 app 在 Dify workspace 里的模型后端未配好(Dify 侧 app 配置,非 Muse 代码)**。Muse 代码表现正确(映射 `AI_DIFY_PROVIDER_5XX` 可重试+fail-closed、不伪成功、不回退 New-API)。**所有者须先在 Dify 控制台为 Muse 各 app(写作透传、极可能还有「全书解析」S8 用的 app)配好模型后端**,M3(S7 Dify 生成 happy-path)与 S8 live 才能过。知识 Datasets(S6 用)已由 S1 `P1rDifyDatasetsContractLiveIT` 契约验证、不依赖 chat 模型后端,故 **S6 不受此阻断**。
|
||||
|
||||
**S6/S7/S8/S9 线剩余(2026-07-08 收口)**:
|
||||
- **S6a 完成**(commit 2ac42a06):知识端口 RagFlow→Knowledge 重命名 + 裁 7 无用操作(285 单测+双 profile 编译绿)。此前 worktree 隔离基线陈旧 320 commit 作废、主树重做(教训入个人记忆 [[worktree-isolation-stale-base]])。
|
||||
- **S6b–e 待做**(不受 Dify chat-app 阻断,可全程真验):`DifyKnowledgeRuntimeClient` 5 操作 adapter → 检索改多 dataset 并行+按 score 合并 topK(Dify `retrieve` 单库、响应 `records[].segment.content/score`)→ DDL V35 加 `runtime_batch_id`+轮询主键 documentId→batch → 删 RAGFlow 实现/装配/live IT → 新 `P1rDifyKnowledgeRuntimeEndToEndLiveAcceptanceIT` + 检索质量 smoke。
|
||||
- **S8 待做**(live 段依赖 Dify「全书解析」app 模型后端修好):导入解析按 provider 选 parser + `DifyMuseAiImportLlmParser` + 摘 New-API 配置(本步是 New-API 退出完成门)。
|
||||
- **S9 待做**(前置 S6+S8):docker-compose.solo.yml + 无 Nacos 干净启动 + 全程真后端真库真 Dify 黄金旅程 + review v0.2 §9 七条判据留证。
|
||||
- **主会话欠的 live 冒烟**:M1(New-API 真生成经护栏+chunk 携全文+决定后 purge+重连回取整链,避免造新 P1r 克隆、走现有 harness);M3(Dify 生成 happy-path,待 app 模型修好)。
|
||||
|
||||
**E1 content 创作闭环切片(2026-06-27)**:已补 AI suggestion 采纳归档、前端“改后合并”入口、IndexedDB 草稿键对账、旧知识草稿失效、工作台知识/导入/导出/记录入口、Block 版本历史最小 API/UI。Content merge 写 Canonical 与来源归因后,必须由 AI owner 写 `accepted` 状态、accepted decision archive、AI command、business audit;AI owner 不可用时整笔 merge 回滚,避免 Canonical 已写但候选仍 pending。Content 正文变更后通过 Knowledge owner API 将关联 pending draft 标为 `conflicted/needs_recheck` 并写 Knowledge draft decision archive;通知失败不回滚 Canonical 主写,Knowledge confirm 端仍按来源状态 fail-closed。Studio `CandidatePanel` 支持编辑最终正文并按 `accept_as_is`/`modify_then_merge` 提交,IndexedDB 草稿键改为 `workId+blockId+revision` 防跨作品/版本污染。`saveBlock`/`mergeBlockSuggestion` 现在写 `muse_content_block_revision_snapshot`,工作台“历史”Tab 只读展示 Canonical revision 快照;导入可创建真实任务,导出支持范围/格式选择、任务查询与下载凭证消费,知识/记录入口跳转对应工作台。fresh 证据:后端局部单测 `ContentSourceServiceTest` 25/0F/0E、`ContentAppServiceTest` 19/0F/0E、`MuseKnowledgeDraftInvalidationServiceTest` 3/0F/0E、`AiSuggestionMergeProjectionFacadeTest` 7/0F/0E;契约/覆盖门 `ContractFirstGateTest` 4/0F/0E + `P1rApiCoverageReportTest` 8/0F/0E;real-PG `P1rContentCoreCompletedApprovalIT` 13/0F/0E/0S + `P1rContentMergeSuggestionIT` 5/0F/0E/0S + `P1rContentMergeGeneratedSuggestionIT` 1/0F/0E/0S;studio `tsc -b --force` 通过、lint 0 errors、Vitest 12/12,追加 `AIPanel.contract.test.tsx` + `sse.test.ts` 22/0F/0E;导出 UI 追加 `useWorks.test.tsx`+`ExportWorkModal.test.tsx` 11/0F/0E、目标 ESLint 0 errors。共享 PG 写入闸门批准后已补跑 MSW-off Playwright 真后端 `accept-suggestion.spec.ts` 2/0F/0E:正路真 New-API 生成 suggestionId=79、authz `rpe-local-*`、Block revision 160→161、AI owner accepted decision archive 非空;负路 stale revision 业务冲突。边界:`muse-studio/src/types/content.ts` 生成类型因 openapi-typescript 版本漂移未同步,hook 内暂维护 `BlockRevision` 最小类型;完整导入向导已在 RC 后补,见下方记录;真后端导出下载 e2e 已在 2026-06-28 补跑通过,FileApi 异常仍按后端合同 fail-closed。
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user