auto-sync: 2026-06-02 23:59:03
This commit is contained in:
@@ -100,7 +100,9 @@ TCP 握手只能检测进程端口是否监听,无法检测 Gateway **业务
|
||||
| A6 | status=error + stderr 含 auth 关键字 | auth_failed | ❌ | 标 failed + 原因写黑板 |
|
||||
| A7 | status=error + stderr 含 compact 关键字 | compact_interrupted | ✅ | retry + cooldown 60s(等 compact 完成) |
|
||||
| A8 | status=error + stderr 含 network 关键字 | gateway_unreachable | ✅ | retry + cooldown 60s |
|
||||
| A9 | status=error + stderr 含 rate_limit 关键字 | api_error | ✅ | retry + cooldown 60s |
|
||||
| A9 | status=error + stderr 含 rate_limit 关键字 | api_error | ✅* | release counter + 推回 pending + api_retry_count 上限 |
|
||||
|
||||
> *A9 是特殊路径:不走统一 `_do_retry` 续杯,而是 release counter + 推回 pending + 独立 api_retry_count 计数器(达 max_retries 标 failed)。保留此路径是因为 api_error 有独立的计数器逻辑,与 retry_count 互不干扰。
|
||||
| A10 | status=error + stderr 含 lock 关键字 | lock_conflict | ✅ | retry + cooldown 60s |
|
||||
| A11 | status=error(其他) | agent_error | ❌ | 标 failed + 原因写黑板 |
|
||||
|
||||
@@ -144,13 +146,11 @@ TCP 握手只能检测进程端口是否监听,无法检测 Gateway **业务
|
||||
- **当前代码 A7 compact_failed 仍为不可恢复(should_retry=False)**,暂不改动
|
||||
- 等 A7 实施时一并处理
|
||||
|
||||
#### A8/A9/A10: 暂时性错误(可恢复,改为 retry)
|
||||
- 原逻辑:release counter + 推回 pending → 等 ticker 重新分配
|
||||
- 新逻辑:counter 已在手里,直接 retry 更快
|
||||
- 各自设 cooldown 避免高频轮询:
|
||||
- A8 network: 60s
|
||||
- A9 rate_limit: 60s
|
||||
- A10 lock: 60s
|
||||
#### A9: api_error(特殊路径,release counter + push pending)
|
||||
- 原逻辑和新逻辑一致:release counter + 推回 pending + cooldown
|
||||
- 有独立的 `api_retry_count` 计数器,达 max_retries(3) 标 failed
|
||||
- 不走统一 `_do_retry` 续杯,因为 api_error 需要独立的计数器逻辑
|
||||
- cooldown 由 counter 默认 cooldown 控制(与 crashed 相同)
|
||||
|
||||
#### A11: agent_error(不可恢复)
|
||||
- status=error 但 stderr 不匹配任何已知关键字
|
||||
@@ -286,8 +286,8 @@ stderr_preview 和 exit_signal 写 metadata 的方案暂缓,本轮不实施。
|
||||
| test_A3_fallback_exhausted | fallback_count=2 → failed |
|
||||
| test_A7_compact_retry | status=error + compact → retry + 60s cooldown |
|
||||
| test_A8_network_retry | status=error + network → retry + 60s cooldown |
|
||||
| test_A9_rate_limit_retry | status=error + rate_limit → retry + 60s cooldown |
|
||||
| test_A10_lock_retry | status=error + lock → retry + 10s cooldown |
|
||||
| test_A9_api_error_push_pending | status=error + rate_limit → push pending + api_retry_count |
|
||||
| test_A10_lock_retry | status=error + lock → retry + 60s cooldown |
|
||||
| test_A11_agent_error_reason | status=error + 未知 stderr → failed + reason |
|
||||
| test_A6_auth_failed_reason | status=error + auth → failed + reason |
|
||||
| test_stderr_recorded | metadata 包含 stderr_preview |
|
||||
|
||||
Reference in New Issue
Block a user