# 计划与待办 这里只放**正在推进**的计划和待办。做完的计划、验收和发布记录直接删除,版本变化只记在 CHANGELOG;需要追溯时查 git 历史(2026-10-02 清理前的全部过程文档在 `ceb66f8`)。 ## 文档放哪 | 内容 | 位置 | | --- | --- | | 需求基线 | [media_automation_requirements_architecture_v0.7.md](../../media_automation_requirements_architecture_v0.7.md) | | 架构决策 | [docs/adr/](../adr/) | | 设计规范(界面、领域) | [docs/design/](../design/) | | 怎么用、怎么运维 | [docs/runbook/](../runbook/)(开发环境见 [dev.md](../runbook/dev.md),部署见 [deploy.md](../runbook/deploy.md)) | | 与 MoviePilot 的业务对照(持续维护) | [docs/porting/moviepilot-v3-comparison.md](../porting/moviepilot-v3-comparison.md) 及同目录各移植文档 | | 版本变化 | 仓库根 [CHANGELOG.md](../../CHANGELOG.md),每个版本几行;发布前必须写好(`deno task release` 会检查) | | 经验教训 | [lessons.md](lessons.md) | | 证据、截图、构建日志 | `.local/`(不进 git) | ## 当前状态 - 版本 v0.3.14(`ceb66f8`),本机测试环境已部署。此前 v0.3.8~v0.3.13 由未提交工作区部署,源码已在 v0.3.14 统一提交。 - 开发与发布约定见仓库根 [CLAUDE.md](../../CLAUDE.md)。 ## 待办 按需要再挑,挑中后在这里写清:从哪触发、最终看到什么、哪些失败需要人工处理、用什么样本验收。 ### 工程 - 任务恢复的三处边界:升级前未结束任务的版本处置(发布前查在途任务版本,没有在途旧任务就不保留旧处理器);业务结果提交、run 关联、事件派发三个时点分别注入失败确认最终状态;引擎查询异常时只记录并跳过本轮,仅在明确查无 run 或终态时补投。 - 生产模块装配的处理器来源断言(防止漏注册的任务静默回显 todo),下次改任务注册时补。 - 测试装配去重:server 6 份 harness(约 1800 行)各自实现建 schema、迁移、假引擎、临时目录,抽公共部分到 `@umt/testkit`,各模块只留自己的装配;下次改到相关 harness 时做。 - 大文件拆分候选,改到相关功能时顺手拆,不单独重构:`packages/contracts/src/api.ts`(~2700 行)、`acquisition-organize/services/organize.ts`(~2600)、`browser/service.ts`(~2400)、`web/app/components/organize-wizard/organize-wizard.tsx`。 ### 业务 - 疑似竞争:同一 Slot 两个版本几乎同时评估时,`evaluateForSlot`(`acquisition.ts`)读在途计划与写计划 / 延后之间没有锁,可能都不被延后。现象:`test/e2e/continuous-series.test.ts`「另一版本延后」在全量跑时偶发等待超时(2026-10-02 并行化后 3 次全量中 1 次,单跑 4 次均过)。先复现确认,再考虑按 Slot 加行锁。 - 与 MP 对照里仍未定的项,见 [对照 §6.4/6.5](../porting/moviepilot-v3-comparison.md#64-用户反馈与后续讨论2026-10-02)。 - 需求里仍是"部分实现"的:R06 通用 HTTP 失败转浏览器、真实 Cloudflare 挑战验收;R21 缓存阈值里未纳管占用的专项验收;四站与真实下载、媒体服务器的完整验收。