Files
makelore/.project-docs/30-worklog/tasks/20260915-knowledge-status-ml-3065956f.md
T

57 lines
5.5 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.
# Task: 优化知识文档处理进度和可用性展示
## Identity
- Task ID: 20260915-knowledge-status-ml-3065956f
- Mode: Feature
- Branch: codex/20260915-knowledge-status-ml-3065956f-knowledge-status
- Worktree: D:\Datas\OthersProjects\.codex-worktrees\makelore\20260915-knowledge-status-ml-3065956f
- Base commit: b0bf7a49eb5d8e7e8ee141ddb4b992fddf2e410c
- Owner: codex
- Status: Ready for Integration
## Scope
- MakeLore 知识文档自动处理、阶段状态、持续刷新、失败恢复、分页和知识库切换,相关 DOM/Electron 测试与 README。
## Intent And Constraints
- Concurrent / Planning Gates Passed;官方登记匹配本任务、分支、工作区和基线。已读取必需项目记忆与相关个人云智能体/平台 embedding 决策并评估 peer 作用域;旧模板保持未知,无影响本任务的具体语义冲突。
- 保持 Electron Main 传输边界、Yuxi 所有权和持久 Task;embedding 由平台承担,不计算用户用量或预算。不包含主分支合并、部署、生产迁移或工作区清理。
- 用户已授权独立审查及通过后提交,并补充授权替换无响应的原 Reviewer。原审查者已停止,knowledge_status_review_replacement 已完成最终两仓全新只读审查,Standards PASS / Spec PASS;未创建实现子智能体。
- 上传 API 仍负责登记文件,客户端使用既有稳定操作 ID 自动衔接 process;以持久状态和实际分块为准,不新增状态表或估算百分比。
## Outcome
- 上传、对话附件导入、替换后自动处理,显示等待处理、正在解析、建立索引、可用于回答。
- 空索引明确显示没有可用内容,提供扫描 PDF 提取文字说明;任务失败展示原因和重试,新内容可用前保留旧文档。
- 每 5 秒在前次读取完成后刷新已加载页面,刷新失败保留旧结果并说明,知识库切换隔离请求;卡片显示大小、可检索段数和替换关系。
- Main 上传/导入 allowlist 保留可用性、替换关系与处理 Task。处理请求超时后保持原意图,看到新持久 Task 后清除本地不确定提示;新 Task 失败后的重试使用新操作 ID,避免反复命中旧失败。
## Verification
- pnpm exec vitest run tests/unit/cloud-agents-main.test.ts tests/unit/cloud-knowledge-status.test.tsx tests/unit/cloud-knowledge-catalog.test.tsx:49 passed;覆盖真实 Main 上传/导入投影、各阶段、初始读取/空内容、稳定意图重试、异步确认后清除本地不确定状态/失败后新操作、任务失败、断网恢复、分页、库切换、导入和替换。
- pnpm typecheck、scoped ESLint、pnpm run build:vite 通过(Renderer/Main/Preload/utility)。
- pnpm exec playwright test tests/e2e/cloud-agents.spec.ts --workers=1:真实 Electron 1 passed (23.2s),Host API fixture。最终 build:vite 后验证状态推进、空内容、卡片无横向溢出与后续原有编辑/试用/缩放/发布流程通过;新增知识库的草稿先保存并重新试用,相应 revision oracle 显式递增。
- pnpm test -- --run:2081 passed / 1 failed / 2 skipped,237 files passed / 1 failed。唯一失败 tests/unit/pi-managed-worker-opener.test.ts:292 期待 makelore-runtime-v6.mjs;git show 基线确认同一断言,基线 electron/coding-runtime/pi/extensions/makelore-runtime.ts 已为版本 7,两域均无本任务改动。
- 全量第一阶段失败未进入压力测试,单独 pnpm exec vitest run tests/unit/coding-chat-pressure.test.tsx --maxWorkers=1:1 passed。
- Not run:真实登录/上传、生产 OSS/Milvus、安装包和部署。
- 独立审查发现并已修正:cleanup 重试的 pending/running Task 不得覆盖 indexed+available+真实分块事实;重试期间仍计为可用并保留段数,另示后续处理进度。修订的 DOM case 覆盖 failed→pending→running→success,全程可用计数/段数保持;Reviewer 已确认原阻断解除。
- 复验调用 pnpm build 时 Vite 编译完成后进入本任务不需要的 NSIS 打包,已停止该构建进程;未发布、未验证安装包,生成物不提交。
- 独立审查 Standards PASS / Spec PASS,无未解决阻断。审查者已逐文件审阅最终固定基线 diff,并确认本轮发现与修复、测试和未验证边界;最终 task-aware drift 与 diff --check 通过。审查记录任务:20260915-knowledge-status-ml-review-4e6a1d83。
## Follow-ups
- 配套 Yuxi 与 MakeLore 变更需一起合入/部署,再用实际文档验收;本任务尚未获合并或部署授权。
- Pi runtime 的 v6 旧测试断言交该域单独处理,本任务未修改。
- 用户已补充确认注销缺失登记 20260816-explore-account-lifecycle-4f8a,官方 release-missing --force 已返回 RELEASED_MISSING;此前批准的 44 条亦已完成。仅注销登记,未删除目录、分支或提交。
## Promotion Candidates
- Target: .project-docs/current-state.md 与个人云智能体知识资源相关当前说明。
- Proposal: 文档上传/导入/替换自动处理,文件列表读取最新持久 Task 与实际分块;有内容的已索引文件才可用于回答,失败有恢复入口。
- Evidence: 本任务实现、HTTP/PostgreSQL/worker 和 Main/DOM/Electron 回归;独立审查 Standards PASS / Spec PASS。
- Future impact: 操作说明需区分上传与可用;embedding 平台承担规则保持。
- Semantic conflicts: 先前手动索引说明按本次用户明确要求更新,无费用/权限/凭据边界变化。
- Human confirmation: 功能优化和审查后提交已授权;canonical promotion 在后续 integration 任务执行。