保留未知 app-server 错误正文

保留非对象和未知形状错误的脱敏内容

补充错误投影回归测试与验收证据
This commit is contained in:
kdletters
2026-10-05 18:07:30 +08:00
parent 997f6bb910
commit fd5d11eb0b
3 changed files with 46 additions and 2 deletions
@@ -13,7 +13,7 @@ DirectProject 回合失败在确认不是客户端内部不可归类故障时,
- `turn.completed.failure` 的前端展示:按 typed 变体显示分类、状态码和脱敏后的 `detail` / `diagnostic`。
- Rust 侧错误文本脱敏:只替换敏感值、URL、绝对路径和私钥内容,保留 HTTP 状态、错误码、字段名和可行动描述。
- app-server `codexErrorInfo` 只有嵌套机器字段时,保留经有界脱敏的结构化值;`fields=codexErrorInfo` 不能成为唯一正文。
- app-server `codexErrorInfo` 只有嵌套机器字段时,保留经有界脱敏的结构化值;`error` 是字符串或未知 JSON 形状时也保留正文;`fields=codexErrorInfo` 不能成为唯一正文。
- Transport / Stream / IPC / host process / memory exhaustion 的回归测试与错误事件证据。
## 不做
@@ -35,7 +35,7 @@ DirectProject 回合失败在确认不是客户端内部不可归类故障时,
- `npx vitest run tests/directTurnFailure.test.ts`:15 passed。
- `npx tsc --noEmit -p apps/ai-game-creator-shell/tsconfig.json`:通过。
- Rust app-server 上游映射定向测试:8 passed;覆盖嵌套 `codexErrorInfo` 与只有机器字段的错误值;应用日志脱敏测试与启动诊断脱敏测试均通过。
- Rust app-server 上游映射定向测试:9 passed;覆盖嵌套 `codexErrorInfo`、只有机器字段和非对象错误正文;应用日志脱敏测试与启动诊断脱敏测试均通过。
- CC 错误分类回归:Claude sidecar 状态码/超时映射与非支付 409 保留上游状态的定向测试通过;侧车失败统一补充有界 stderr detail。
- 真实 AGC dev smoke:客户端使用 `3080`、后端 `8084`、数据库 `3101`、后台 `3103` 启动;真实 CC 回合复现 `Reached maximum number of turns (8)` 被旧代码错误记为 `transport-closed`,修复后 Tauri 已热重编译重启。修复后的真实 Provider 回放未再次发送,避免无必要的付费请求。
- 真实 AGC 项目诊断发现真实请求 HTTP 400 曾被摘要为 `codex-app-server-error:other detail=fields=codexErrorInfo`,另有 401 仅显示 `codex-app-server-error:unauthorized`;该漏损已在 app-server 投影边界修复。真实 Provider、真实 IPC 断链和真实内存压力仍未在本轮主动制造。