Task page: lean loads, every tab
Goal: the task detail page (including the runner console and script-persona/merge-lane runs) is cheap to load, fits the split pane and phone without wasted rows, and shows who typed what into a runner. Goals, not literal steps; verify each against current develop and skip what is already true.
Consolidates drafts 6974, 6960, 6984, 6967 (items 1, 2, 4).
Requests:
1. An own-task event must not re-fetch catalogues (`/api/agents/choices`, `/api/tasks/models`, project members, attachments) on the form's remount; `TaskDependencies` makes one shared GET and re-reads only on events naming this task or its prerequisites/dependents. Consider one batched detail read for a cold load (~25 reads today).
2. Bulk select on the Tasks board works in every list style, not only Table; consider Archive for done rows.
Layout (1440px split, 1024px split, 390px):
3. The panel starts as high as possible: "Rate result" stars share the tab-strip row or fold into overflow; the "Org Operator" chip and the phone's "Orgs · All orgs" scope chip show only when they add information.
4. Every tab (incl. Metrics, Activity) is reachable at 1024px split without the scroller; the rich-text toolbar collapses overflow into "⋯" instead of wrapping.
Script-persona runs:
5. State on a script-persona task's Details is a read-only badge; on a finished task's Timeline only the row matching the current state carries a state chip. If a paused lane run can still exist, offer Start inline for a project editor.
Control-plane messages:
6. The task page lists every control-plane `deliver_message` (time, sender, text, delivered) with a header chip jumping to it; operator `deliver_answer` input gets its own marker so runner, operator and control plane are distinguishable; MicroVM consoles get the same badge overlay.
Out of scope: task states, WAF rules, the SSE scope filter (Task 6955), the header/breadcrumb layout (Task 6940), merge-lane messaging content.
Done means:
- A test shows a form remount on an own-task event issues no catalogue GET; request counts for one load and one event recorded before/after.
- Screenshots of a done task at 1440 split, 1024 split and 390px show items 3–4 resolved; each other item shipped with a test or declined with a reason.
- `./dc check full` green.
Outcome
Task page: no catalogue refetch on remount, all tabs fit 1024 split, rating/org/scope chips folded, lane-run State badge, control-plane messages list + API; bulk pick in every list style. #5784 + #5789 (migration rechain) merged, deploy green. Follow-ups: draft #7116.
Artifacts
Activity
- Created
- Run
- Runner started
- Runner ended (done)