Model/backlog/tasks/task-5 - Auto-chain-combiner-when-splitter-subtasks-complete.md
2026-04-20 13:06:31 +00:00

1.3 KiB

id title status assignee created_date updated_date labels dependencies priority ordinal
TASK-5 Auto-chain combiner when address2uprn subtasks complete To Do
2026-04-20 2026-04-20
backend
bulk-upload
orchestration
TASK-2
medium 5000

Description

Today the frontend client polls task status and client-side fires /combine. Move that logic to backend: when the last address2uprn subtask for a task transitions to complete, backend auto-enqueues the combiner SQS message.

Likely hook point: SubTaskInterface.finalize_subtask — after setting status, check if parent task's subtasks are all terminal and if so, enqueue combiner. Or a separate reconciler run in the subtask-complete code path.

Removes frontend responsibility for orchestration and avoids "browser closed → combiner never fires" bug.

Acceptance Criteria

  • #1 Combiner fires automatically when all splitter-spawned subtasks done
  • #2 Only fires once per task (dedupe via task row / existing combined_output_s3_uri check)
  • #3 Failed subtasks do NOT trigger combiner — requires manual retry
  • #4 Frontend combine route (task-7) can be deleted or reduced to manual re-run