Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Two copies of the same routing decision, and only one of them got updated

Description and use

An autopilot pipeline’s daily report displayed a failure as automation work even though a rule routed it to a human, causing a three‑day delay. After aligning decision fields and updating the close condition, the failure is routed correctly and closes automatically.

Problem

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.

Outcome

The pipeline now routes failures consistently between the report and scheduler, closes failures automatically when appropriate, and prevents silent disagreements between duplicated decision fields.

Workflow

  • 1. A rule change set who: owner for the usage‑limit failure.
  • 2. A patch added a derived flag owner_routed to 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_of field, 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.

Evidence

The patch added a derived flag, owner_routed, so the report could render that failure differently and stop presenting it as AI work.

Source

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.

Source

The close condition for that failure class only fired when a field called repair_of got written, naming the fix that resolved it.

Source

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.

Source

  • Record date: 2026-10-02T11:55:44.945Z