docs: AGENTS.md 只保留代理规则,项目信息迁入 README 与 docs/

把 AGENTS.md(545 行)中的项目知识按性质拆开,只留下对代理的要求:

- AGENTS.md(176 行)只写规则:读文档指引、提交许可、等待规则、TDD、
  测试规则(模块边界/三段结构/功能覆盖优先)、注释规范、目标运行环境、
  PowerShell 规则、文档维护规则;
- 项目信息新建 docs/ 专题:architecture、node-protocol、workflows、
  configuration、operations、testing、decisions;
- README 改为项目索引(定位、快速开始、文档导航、目录、工作流、结论摘要);
- 修正旧文档错误:README 的"详细约定见 AGENTS.md"与"100% 行覆盖率"
  (pytest 已移除该门槛);环境变量表补齐 WOV_AUTO_VAD 等 3 项。

新增 scripts/check_doc_links.py 校验相对链接与锚点,当前 14 个文档全部可达。
This commit is contained in:
2026-09-13 15:40:31 +08:00
parent 669858c1d1
commit 966f3e6b4b
12 changed files with 1017 additions and 478 deletions
+2 -2
View File
@@ -40,9 +40,9 @@
- 根因:普通任务删除接口未区分 `source=batch`,直接递归删除 `Path(input_uri).parent`;自动清理器也使用输入路径推导删除目录。
- 处理约定:普通删除接口拒绝批量 run(422),提示通过批量任务入口删除;上传任务只清理 `<storage>/uploads/<run_id>``<storage>/runs/<run_id>`。批量任务已有专用删除入口,保留源视频和视频旁成品。
- 测试要求:使用 `testdata/` 真实视频与字幕副本、临时数据库及私有存储;覆盖批量任务拒绝删除、正常上传清理、历史外部输入路径保护和自动清理路径保护。
- 测试要求:使用各模块 `data/` 下的真实视频与字幕副本、临时数据库及私有存储;覆盖批量任务拒绝删除、正常上传清理、历史外部输入路径保护和自动清理路径保护。
- 实现:[普通删除接口](../src/wov_app/routers/apps.py) 在删除前拒绝批量 run[自动清理器](../src/wov_app/maintenance.py) 和普通接口均按私有目录布局定位清理范围。
- 回归测试:[test_run_deletion_safety.py](../tests/test_run_deletion_safety.py),覆盖五种状态的批量 run、外部输入路径与旁挂字幕保护、其他任务目录保护
- 回归测试:`tests/app/test_batch/`(批量删除与旁挂字幕保护)、`tests/app/test_maintenance/`(自动清理路径保护)、`tests/app/test_routers/test_apps_api.py`(删除接口拒绝批量 run)。测试代码已按模块化重构,原平铺文件 `tests/test_run_deletion_safety.py` 已删除,用例覆盖范围不变(详见 [testing.md](./testing.md#重构历史已完成)
- TDD 红:`uv run pytest tests/test_run_deletion_safety.py -q --tb=short`7 failed;批量 run 被错误删除,两个外部路径用例复现媒体文件丢失。
- TDD 绿及相关回归:`uv run pytest tests/test_run_deletion_safety.py tests/test_apps_api.py tests/test_batch.py tests/test_maintenance.py -q`73 passed7.73 秒;仅有既存 Starlette/httpx 弃用警告。
- 状态:修复及验证完成,纳入 `fix/review-improvements` 分支;未部署。运行中的旧进程需加载新代码后才能获得保护。