19
Truth · workflow

runtime-truth-regression

19-runtime-truth-regression.md
📡
P0 source: codex-sessions created: 2026-06-13

WHAT IS THIS

定位

运行时真相回归 workflow。它专门处理“真实业务状态已经改变,但 assistant、UI 或最终响应说失败”的问题。

核心原则:副作用结果优先于最终文案。最终文案、toast、error boundary 必须服从 audit 和业务状态。

TRIGGERS

触发场景
写工具返回成功,但 child agent timeout 后展示失败。
后端状态已变更,UI toast 仍说暂时无法处理。
发布、审批、创建、删除等高风险操作确认后出现模糊失败。
用户重试会触发“已处理/不可重复”的业务状态。
Regression test 只覆盖了 tool call,没有覆盖最终展示。

INPUT & OUTPUT

输入 / 产出
↘ INPUT
  • 失败 session id 或 run id。
  • 写操作 tool call record。
  • 业务状态查询方式。
  • UI 错误文案或截图。
  • 相关 orchestrator、final response、toast 代码路径。
  • Targeted test 命令。
↗ OUTPUT
  • Truth table:tool result、DB state、assistant text、UI state。
  • 误报失败的根因。
  • Regression test。
  • Patch:确定性成功收尾、状态重查、错误分层或 UI 文案修正。
  • 复验说明。
🪜

STEPS

编排步骤
  1. 1
    确认副作用是否发生
    查 tool result、audit、DB/business state。不要只看 assistant 最终文本。
  2. 2
    建 truth table
    分别记录 tool、业务状态、orchestrator status、assistant text、UI toast。
  3. 3
    找到误报层
    判断是 child loop timeout、final LLM 缺失、error wrapper、SSE bridge、frontend toast,还是 cache 旧状态。
  4. 4
    写失败测试
    复现“写工具成功,但后续 final response 失败或超时”的路径。
  5. 5
    做确定性收尾
    对已确认写操作成功的路径,优先返回明确成功文案或重新读取业务状态,不依赖下一轮 LLM。
  6. 6
    保护幂等和重试
    对同一业务对象,避免测试或复验再次执行写操作。必要时先查状态或换未处理样本。
  7. 7
    更新 UI 反馈
    UI 不应把“最终文案超时”和“业务操作失败”混成同一个错误。

AGENT ROLES

Agent 分工
Truth Auditor
建立 tool/DB/assistant/UI 真相表。
Regression Agent
写失败测试。
Orchestrator Agent
修 child loop、timeout、final response。
UI Agent
修 toast、SSE 状态、展示层。
Verifier Agent
用未处理样本或只读查询复验。

ACCEPTANCE GATE

验收 gate

FAILURE HANDLING

失败处理
如果业务状态不可查,不声明成功,只声明 tool 返回成功且缺状态证据。
如果写操作结果不可幂等,测试必须 mock 或使用专用 fixture。
如果问题来自 route/capability 未进入目标能力,转 →#18

TEMPLATE

Truth table 模板
TEMPLATE
| Layer | Evidence | Status | Notes |
| --- | --- | --- | --- |
| Tool result | | | |
| Business state | | | |
| Orchestrator | | | |
| Assistant text | | | |
| UI | | | |