Files
UHD_Media_Tool/docs/plan
rootandClaude Opus 5.5 b61335eaf6 test: 测试按行为命名、server 测试统一到 test/、PG 测试分组并行
- server 的 src/modules/*/__tests__ 挪到 test/<模块>/;e2e 去掉 eN- 前缀,
  w5a2 / v2 / search2 / *-dh1 / *-md1 / *-md2、web 的 agui3 / search2、domain 的 id2 / id3 改为按行为命名
- vitest 分三组:unit、pg(真实 PG + 假引擎,文件并行,最多 6 个)、serial(真实引擎 / worker / e2e,串行);
  pg 组用例超时放宽到 60s(迁移类用例并行时排队等 schema 锁)。server 测试 615s → 约 350s
- CLAUDE.md 补测试约定;待办补 harness 去重与 continuous-series 偶发超时(疑似 Slot 评估竞争)
- ADR-004 补充:维持 Deno,记录实际只用到 --allow-run 白名单

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-02 16:54:04 +08:00
..

计划与待办

这里只放正在推进的计划和待办。做完的计划、验收和发布记录直接删除,版本变化只记在 CHANGELOG;需要追溯时查 git 历史(2026-10-02 清理前的全部过程文档在 ceb66f8)。

文档放哪

内容 位置
需求基线 media_automation_requirements_architecture_v0.7.md
架构决策 docs/adr/
设计规范(界面、领域) docs/design/
怎么用、怎么运维 docs/runbook/(开发环境见 dev.md,部署见 deploy.md)
与 MoviePilot 的业务对照(持续维护) docs/porting/moviepilot-v3-comparison.md 及同目录各移植文档
版本变化 仓库根 CHANGELOG.md,每个版本几行;发布前必须写好(deno task release 会检查)
经验教训 lessons.md
证据、截图、构建日志 .local/(不进 git)

当前状态

  • 版本 v0.3.14(ceb66f8),本机测试环境已部署。此前 v0.3.8~v0.3.13 由未提交工作区部署,源码已在 v0.3.14 统一提交。
  • 开发与发布约定见仓库根 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。

  • 需求里仍是"部分实现"的:R06 通用 HTTP 失败转浏览器、真实 Cloudflare 挑战验收;R21 缓存阈值里未纳管占用的专项验收;四站与真实下载、媒体服务器的完整验收。