Files
CyberStrikeAI/docs/feature/task-timeout-classification.md
T

1.8 KiB
Raw Blame History

Task timeout classification fix

F0 — Intake and gates

  • Branch: codex/task-timeout-classification; base: deda642b, clean and synchronized with origin/main on 2026-10-15.
  • Workflow: P10 feedback → P8 backend correction → P9 verification. User authorized fixing the diagnosed bug and merging main.
  • Existing evidence: customer screenshot and local handler analysis; customer deployed revision and raw error remain unknown.
  • Workflow gate: implementation allowed. No UI/API/schema redesign required; required upstream contract is the existing task deadline and user-approved correction.
  • Maintainability gate: narrow_fix; handlers are 318–673 lines, mix orchestration and persistence, moderate coupling. No broad refactor needed. Extract one small timeout predicate and cover context semantics and persisted batch outcome.
  • Scope: single-agent, multi-agent, workflow, and batch task deadline classification. Unrelated robot request handling remains outside scope.

F1 — Confirmed requirements

Confirmed by the user's request to fix the identified defect and merge main.

  • R1: A live task must not be classified as globally timed out solely because a child operation returns DeadlineExceeded.
  • R2: An expired task deadline must retain the existing timeout behavior, even if the returned error is wrapped or unrelated.
  • R3: Cancellation must not be reclassified as deadline expiry, including cancellation whose cause wraps DeadlineExceeded.
  • R4: Keep existing failure diagnostics, bounded execution limits, and cancellation behavior. This fix does not promise automatic continuation after every local failure or blindly replay tools.
  • Acceptance: regression tests distinguish child timeout, task expiry, cancellation and wrapped HTTP errors; affected packages pass; main includes the reviewed change.