Console diagnostics for tasks slots and nodes
Goal: whenever something waits, fails or is stuck, the console shows the real reason and the next action on the same row.
- A queued task whose slot can't be built shows the slot's refusal as its wait reason; Retry on "Checkout failed" re-dispatches even when the parked order is older than 15 min.
- Open the console on a free slot starts a session or gives a one-line reason (no 502); a stuck "Destroy ordered" slot offers retry/force-forget/node error.
- A node sign-in refusal reaches the page at once in the node's words (no 60 s wait then 504), on every OS.
- Audit › Control plane: a stopped/crashed CP task row expands to its containers' last output; `?task=<id>` opens it expanded.
- Node command rows open a detail page (args/result JSON) instead of expanding inline.
- Sessions rows carry tokens/cost; Slack-unusable notices collapse into the page banner; /agents/registry says the plan lacks Registry instead of redirecting.
- New task form: optional Account picker under Advanced.
- Node › Projects: only the checkbox toggles membership; "Blocked by" sits above the fold; First Seen never predates the row.
Out of scope: page redesigns; behaviour of the underlying dispatch.
Done means: each item has a test; touched surfaces checked on a live stack at desktop and 390px.
Outcome
All 12 diagnostics items built and tested; PR #6642 merged (803f795), Jaah Deploy green. Quick gate and changed-area tests green; review lanes cleared. Visual check done at 1440/390px. Assumed "Blocked by" = Node › Projects banners. Follow-up draft #9062. Memory: none applied; proposed 1 recipe.
Artifacts
Activity
- Created
- Run
- Runner started
- Runner ended (done)