Dataface Tasks

Group task manager attention and escalation UI by task instead of raw signals

IDINFRA_TOOLING-GROUP_TASK_MANAGER_ATTENTION_AND_ESCALATION_UI_BY_TASK_INSTEAD_OF_RAW_SIGNALS
Statuscompleted
Priorityp2
Milestonem1-ft-analytics-analyst-pilot
Ownersr-engineer-architect
Completed bydave
Completed2026-03-24

Problem

The /status escalation table and heartbeat text output originally rendered one row per raw escalation signal. When a task had multiple signals, it appeared multiple times, which made operator triage noisy and overstated the top-line escalation count.

Context

  • tasks/tools/tasks_server.py renders the operator status page and now also refreshes heartbeat data on /status load with auto-refresh from mainline work.
  • scripts/task_manager_lib.py renders the text heartbeat summary and snapshot payload consumed by the status page.
  • collect_escalation_signals() remains flat in the snapshot; grouping/counting is a presentation concern layered on top of that payload.
  • Related mainline changes added display_group-driven status sections and CLI/path convergence that this task must preserve.

Possible Solutions

  • Recommended: Keep the snapshot’s raw escalation.signals list for detail/debug fidelity, but group rows by slug at render time and count distinct task slugs for operator-facing escalation totals.
  • Change the snapshot schema to emit grouped structures directly. This is more invasive and unnecessary for the UI/problem at hand.

Plan

  1. Group escalation rows by task in the /status HTML table.
  2. Group escalation lines by task in the text heartbeat summary.
  3. Count distinct affected tasks for the top-level escalation card while preserving raw signals in the snapshot details.
  4. Cover the integrated behavior with tasks-server and heartbeat/script tests, then validate the task file.

Implementation Progress

  • 2026-03-24: Grouped escalation display by task in the status page and heartbeat summary.
  • 2026-03-24: Preserved mainline /status heartbeat refresh, auto-refresh, and display_group-driven section behavior during rebase onto latest origin/main.
  • 2026-03-24: Updated tests so escalation totals reflect affected tasks while detailed rows still show every underlying signal.

QA Exploration

  • [x] N/A — internal operator tool, no browser-facing user flows. Verified via test assertions on rendered HTML.

Review Feedback

  • [ ] Review cleared