Record real Playwright ledgers, mark 20 audits and 9 remediations done, and leave management-implementation-plan as plan-only.
2.5 KiB
2.5 KiB
title, status, created, updated, severity
| title | status | created | updated | severity |
|---|---|---|---|---|
| 任务 run SSE 超时断线后同 turn 误击 DOC_BUSY | done | 2026-09-13 | 2026-09-22 | critical |
任务 run SSE 超时断线后同 turn 误击 DOC_BUSY
W3 UI-rerun 关闭(2026-09-22):
status=done。真实 Playwright 账本 PASS:ui-acceptance-results.json(main UI-00..16)+ui-acceptance-results-post-restart.json(UI-15)。任务 tip 已合入本地dev;详见 short-term 与 测试报告。
现象
真实 Antigravity UI-03(dev schema 30):
- 初始
POST /api/v1/tasks/runs→ 202run_1789308825655387640 GET .../events约 157s 后以ERR_INCOMPLETE_CHUNKED_ENCODING断开(对齐服务端默认WriteTimeout=120s)- 浏览器用完全相同
session=sess-p6098-u107、client_turn_id=turn_1789308825646、doc_id=doc_proj6098_intake再 POST handleCreateTaskRun在幂等ClaimRun之前执行preflightTaskDocumentBusy→ 409 DOC_BUSY,并recordBusyPreflightMessages写入重复用户/失败助手消息
根因分析
| 层 | 问题 |
|---|---|
| HTTP | 全局 WriteTimeout: 120s 切断长任务 SSE 响应体,客户端见 incomplete chunked encoding |
| Handler | 同 turn 重试仍走 scope/preflight;活跃小队租约被当成「别人在编」 |
| FE | subscribeTaskRunEvents 遇意外 EOF 直接结束,上层可能再次 createTaskRun |
严重度
critical
关联整改
- Short-term: ../ops/short-term/2026-09-13-document-revision-sse-idempotency.md
- 分支:
fix/document-revision-sse-idempotency
证据
- 运行产物目录(勿删):../test-reports/assets/2026-09-13-document-revision-runtime-ui/
- 前序 UI-03 客户端同步审计:./2026-09-13-controlled-doc-client-sync-ui03.md
- 现场键:
run_1789308825655387640/sess-p6098-u107/turn_1789308825646/doc_proj6098_intake
开放问题
- 合入前占槽真实 UI 重跑 UI-03(本轮不 rebuild Docker)
- chat
/stream与tasks/run/stream是否需同样 SSE write-deadline 扩展(本轮优先/tasks/runs/{id}/events)