docs: finalize timeout fix review and changelog

This commit is contained in:
Ed1s0nZ committed 2026-10-15 14:25:14 +08:00
1 parent 54213f827b
commit a4f01730dd
2 files changed
+10

No files matched your search

+2
View File
@@ -8,6 +8,8 @@
### Fixed
- 修复单代理、多代理、角色工作流和批量任务将下层调用超时误判为整任务超时的问题:仅任务上下文自身期限到期才标记任务超时,下层失败保留原始诊断;总时限与现有重试策略保持不变。
- C2 Profile 和 WebShell 删除不存在对象统一返回 404,删除数据库故障返回通用 500 文案,不再暴露 SQL 错误;漏洞和批量任务列表无匹配记录时统一返回 `[]`,补充 HTTP 合同回归验证。
- 修复多人编辑调用拦截规则时旧草稿覆盖他人修改的问题:同一版本仅一次保存成功,冲突保留草稿并提示刷新;API 保存必须携带读取时的 ETag/If-Match。
@@ -47,3 +47,11 @@ Regression proof: before the fix, `TestBatchTaskDeadlineClassification` failed f
- `git diff --check`: passed.
- Batch regression verifies finish status, queue failure and preservation of the original diagnostic in SQLite messages; context tests verify child timeout isolation, deadline expiry and cancellation semantics.
- No customer environment reproduction or deployment performed. The customer-specific original timeout source is still unknown; the deterministic classification defect is fixed.
## F6 — Review and merge readiness
- Reviewed all four call sites: each receives the task context created for its own execution budget; checks occur before timeout cleanup. Local errors now follow existing failed/error paths.
- Actual deadline expiry remains recognized even with a custom cause; a cancellation carrying a child timeout is no longer treated as exhausted task budget.
- Scope is four predicate substitutions plus a small shared helper and regression tests. No dependency, schema, public API, replay policy or task budget change.
- Added Unreleased/Fixed changelog entry. Implementation commit: `5ff781bd`; verification commit: `54213f82`.
- Merge is explicitly authorized by the user. Plan: re-fetch origin, fast-forward main if unchanged, push without force and verify remote equality. No deployment or release tag.