merge: docs e2e evidence for upload-parse-ux
This commit is contained in:
@@ -94,9 +94,20 @@ go vet ./internal/server/ ./internal/storage/ ./internal/materialindex/ → 无
|
||||
|
||||
**判定:PASS(含已知基线噪声豁免)**
|
||||
|
||||
### 5.6 T6 dev 环境实测
|
||||
### 5.6 T6 dev 环境实测(真实后端 + PostgreSQL + MinerU Agent 轻量回退)
|
||||
|
||||
(部署与真实上传验收记录见下方「补充实测记录」小节,执行于候选合入 dev 并 rebuild 之后。)
|
||||
候选 `99905571` ff-only 合入 dev 后,主目录 `docker-compose.dev.yml` rebuild(镜像 `sha256:9b339e7f…`),`/health` schema=61、`database_ready=true`;新路由 `POST .../assets/{id}/reparse` 未认证返回 401(路由存在性证明)。
|
||||
|
||||
**输入**:admin 登录 → `POST /api/v1/projects/993975/assets` 上传全新唯一内容 PDF(612B,sha `af5e1b3b…`)。
|
||||
|
||||
**实际输出**(完整记录见 [e2e-live.txt](./assets/2026-09-21-upload-parse-ux-dedup/e2e-live.txt)):
|
||||
|
||||
1. 上传响应 `parse_state=pending`;列表轮询 4s 一次:`running`×4 → **`done`**(上传→done ≈16s,无人工刷新)。
|
||||
2. 相同内容再传两次:响应 `deduplicated=true`、`parse_state=done`(复用既有解析);列表中首条引用无标记、后两条均 `dedup=true`。
|
||||
3. DB 实况:`storage_blobs.ref_count=3`(物理仅 1 个 blob 被 3 条引用共享)、`asset_parses.state=done engine=mineru md_len=53 pages=1`。
|
||||
4. 对 `done` 资产调 reparse:`HTTP 409`(`parse is in progress or already complete`),不误耗 MinerU 配额。
|
||||
|
||||
**判定:PASS**。精度 Token 仍 A0211 过期,自动走 Agent 轻量回退(与前序任务一致,非本任务回归)。
|
||||
|
||||
## 六、 自动化测试套件汇总 (Test Suite Execution)
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
# dev 真实环境 E2E(项目 993975,MinerU Agent 轻量解析,精度 Token 仍 A0211 过期自动回退)
|
||||
# fresh PDF sha256=af5e1b3b6bc7d142906e0058be955a5447c9ad0a301364b77ec02a94ed93898f(内容唯一,触发全新解析)
|
||||
|
||||
## 1) 上传响应(t0)
|
||||
{"asset_id":52383,"filename":"fresh-parse-ux.pdf","sha256":"af5e1b3b6bc7...","mime_type":"application/pdf","size_bytes":612,"project_id":993975,"parse_state":"pending"}
|
||||
|
||||
## 2) 轮询 GET /assets 的 parse_state(4s 间隔,前端 useParseStatePolling 同逻辑)
|
||||
t=0s parse_state=running
|
||||
t=4s parse_state=running
|
||||
t=8s parse_state=running
|
||||
t=12s parse_state=running
|
||||
t=16s parse_state=done # 上传→done 约 16s,无需手动刷新
|
||||
|
||||
## 3) 相同内容再次上传 → 去重提示
|
||||
asset=52384 deduplicated=True parse_state=done
|
||||
asset=52385 deduplicated=True parse_state=done
|
||||
# 列表:首条 dedup=False,后续两条 dedup=True(物理仅一份)
|
||||
|
||||
## 4) DB 实况(shuimu-context-pg-dev 内 socket 查询)
|
||||
blob_sha ref_count af5e1b3b6bc7... | 3
|
||||
parse state engine md_len pages done | mineru | 53 | 1
|
||||
ref_count_of_refs 3 # 三条逻辑引用共享 1 个物理 blob
|
||||
|
||||
## 5) reparse 语义(对 done 资产)
|
||||
POST /api/v1/projects/993975/assets/52383/reparse -> HTTP 409
|
||||
{"code":"VERSION_CONFLICT","error":"parse is in progress or already complete"}
|
||||
Reference in New Issue
Block a user