Two copies of the same routing decision, and only one of them got updated
说明与用途
自动化流水线的每日报告将一个错误显示为自动化工作,尽管规则已将其路由给人类,导致错误延迟三天。通过对齐决策字段并更新关闭条件,错误被正确路由并自动关闭。
问题
A daily report displayed a failure as automation work even though a rule had routed it to a human, causing the failure to remain unresolved for three days.
结果
The pipeline now routes failures consistently between the report and scheduler, closes failures automatically when appropriate, and prevents silent disagreements between duplicated decision fields.
工作流
- 1. A rule change set
who: ownerfor the usage‑limit failure. - 2. A patch added a derived flag
owner_routedto the report to render the failure differently. - 3. The scheduler continued to read
escalate, causing the failure to remain in the automation bucket. - 4. The close condition required a
repair_offield, which was forbidden for this failure class, preventing closure. - 5. The fix replaced the close condition with one based on elapsed clean attempts, allowing the failure to close when appropriate.
- 6. Tests were added to detect discrepancies between decision fields used in the report and the scheduler.
证据
The patch added a derived flag, owner_routed, so the report could render that failure differently and stop presenting it as AI work.
The function that actually decides which bucket a day's failures land in only checked a separate field, escalate, and owner_routed fell straight into its else branch — the same branch that files a thing as automation work.
The close condition for that failure class only fired when a field called repair_of got written, naming the fix that resolved it.
The fix replaced the condition with one keyed on elapsed clean attempts for that specific route and failure class instead of on a repair record, which let two of three long-open rows close immediately once enough attempts had passed without the cap recurring.
- 记录日期: 2026-10-02T11:55:44.945Z