From fe76a9d683489fc2c7f216e1f2d1f2952fb2ae96 Mon Sep 17 00:00:00 2001 From: weichen Date: Mon, 21 Sep 2026 10:17:16 +0000 Subject: [PATCH] docs(ops): close out upload parse ux task Co-authored-by: Cursor --- .../2026-09-21-upload-parse-ux-dedup.md | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/.doc/ops/short-term/2026-09-21-upload-parse-ux-dedup.md b/.doc/ops/short-term/2026-09-21-upload-parse-ux-dedup.md index 734982a3..a87008dc 100644 --- a/.doc/ops/short-term/2026-09-21-upload-parse-ux-dedup.md +++ b/.doc/ops/short-term/2026-09-21-upload-parse-ux-dedup.md @@ -1,6 +1,6 @@ --- title: "上传文档解析提示 / 去重 / CoW 收口" -status: in_progress +status: done created: 2026-09-21 updated: 2026-09-21 owner: Cursor @@ -15,9 +15,10 @@ write_scope: - .doc/ops/ - .doc/audit/ - .doc/test-reports/ -head_sha: <准入时冻结> -deployment: pending -cleanup: pending +head_sha: 7d1f58b6810a676763fcfc81debfd40edb7f9915 +merged_dev: 99905571454281f7d14223443a51da5235d0e655(代码候选)+ 74587ccf(文档证据) +deployment: passed +cleanup: done mutex: server+web+storage --- @@ -42,24 +43,25 @@ mutex: server+web+storage ## 步骤 -1. [ ] 后端:dedup/parse_error 暴露 + reparse 接口 + skipped 语义 -2. [ ] 前端:轮询 hook + 状态徽标 + 去重提示 + 重试按钮 -3. [ ] CoW 契约测试 + handler 测试 + 前端测试 -4. [ ] 文档:审计记录(CoW 现状)、验收报告 -5. [ ] 集成 dev + 部署 + 实测验收 +1. [x] 后端:dedup/parse_error 暴露 + reparse 接口 + skipped 语义 +2. [x] 前端:轮询 hook + 状态徽标 + 去重提示 + 重试按钮 +3. [x] CoW 契约测试 + handler 测试 + 前端测试 +4. [x] 文档:审计记录(CoW 现状)、验收报告 +5. [x] 集成 dev + 部署 + 实测验收 ## 验收标准 -- [ ] 上传重复文件响应含 deduplicated=true,前端提示复用 -- [ ] parse_state 轮询 pending→running→done 自动刷新,无需手动重加载 -- [ ] failed 展示错误原因,reparse 后恢复解析 -- [ ] CAS 同 sha 重复写入不产生新物理文件的契约测试通过 -- [ ] go vet / go test -short / web npm test / npm run build 全过 +- [x] 上传重复文件响应含 deduplicated=true,前端提示复用(E2E:ref_count=3 单 blob;列表非首条 dedup=true) +- [x] parse_state 轮询 pending→running→done 自动刷新,无需手动重加载(E2E:16s 到 done) +- [x] failed 展示错误原因,reparse 后恢复解析(done→409 守卫;failed 分支有 parse_error tooltip + 重试按钮;集成测试覆盖 404/503/409) +- [x] CAS 同 sha 重复写入不产生新物理文件的契约测试通过(TestCAS_ImmutabilityCoWContract) +- [x] go vet / go test -short / web tsc / npm test(507+33) / npm run build 全过 ## 相关链接 - 前序任务: [2026-09-21-mineru-doc-parsing.md](./2026-09-21-mineru-doc-parsing.md) - Test report: ../../test-reports/2026-09-21-upload-parse-ux-dedup-test-report.md +- E2E evidence: ../../test-reports/assets/2026-09-21-upload-parse-ux-dedup/e2e-live.txt ## 证据 / 备注