Console diagnostics for tasks slots and nodes

Task 9011 · Done · Coder · created · updated

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.

Pull request

Artifacts

Activity

  • Created
  • Run
  • Runner started
  • Runner ended (done)