Supervisor UI failures pane 500: template crashes on NULL run.output #35

Closed
opened 2026-08-21 22:27:43 +00:00 by Mark · 4 comments
Owner

Supervisor UI failures pane returns HTTP 500 (pre-existing, unrelated to forgejo pane config).

GET /ui/api/failures -> 500 Internal Server Error
Traceback: failures_partial.html:47

{{ run.output[:500] | e }} TypeError: 'NoneType' object is not subscriptable

Ledger has 3010 failed runs with NULL output out of 3012 total failed runs, so any failed run without captured output crashes the pane render. Pane has never returned 200 in journal history since template shipped (commit 05b254e 'feat: Created runs_partial.html and failures_partial.html').

Fix: guard run.output with default (e.g. run.output or '') in the template.

Found while verifying Supervisor UI Forgejo pane (vikunja#116, kanban t_9f3f8d9c).

Supervisor UI failures pane returns HTTP 500 (pre-existing, unrelated to forgejo pane config). GET /ui/api/failures -> 500 Internal Server Error Traceback: failures_partial.html:47 <td class="mono truncate" title="{{ run.output | e }}">{{ run.output[:500] | e }}</td> TypeError: 'NoneType' object is not subscriptable Ledger has 3010 failed runs with NULL output out of 3012 total failed runs, so any failed run without captured output crashes the pane render. Pane has never returned 200 in journal history since template shipped (commit 05b254e 'feat: Created runs_partial.html and failures_partial.html'). Fix: guard run.output with default (e.g. run.output or '') in the template. Found while verifying Supervisor UI Forgejo pane (vikunja#116, kanban t_9f3f8d9c).
Author
Owner

Launcher preflight blocked Mark/org_mode#35: .gsd/gates/pre-dispatch.sh 35 exited 1 because the worktree has uncommitted changes outside .gsd/, .venv/, and .kilo/. No kilo-gsd run was started. The launcher will not stash, revert, or edit unrelated work.

Launcher preflight blocked Mark/org_mode#35: `.gsd/gates/pre-dispatch.sh 35` exited 1 because the worktree has uncommitted changes outside `.gsd/`, `.venv/`, and `.kilo/`. No kilo-gsd run was started. The launcher will not stash, revert, or edit unrelated work.
Author
Owner

Correction to the preflight comment: the gate was re-run from /home/b/Projects/org_mode. It still exits 1 because of three unrelated uncommitted paths: docs/operational/2026-09-11-ops-review.md, docs/triage-aware-runner-proposal.md, and workers/lib/hermes-gateway-log-scan.py. No kilo-gsd worker was started.

Correction to the preflight comment: the gate was re-run from `/home/b/Projects/org_mode`. It still exits 1 because of three unrelated uncommitted paths: `docs/operational/2026-09-11-ops-review.md`, `docs/triage-aware-runner-proposal.md`, and `workers/lib/hermes-gateway-log-scan.py`. No kilo-gsd worker was started.
Mark closed this issue 2026-09-18 01:42:12 +00:00
Author
Owner

Fixed in commit. Closing.

Fixed in commit. Closing.
Author
Owner

Fixed by commit d8b01ca on main. failures_partial.html line 47 now binds run.output through a default-empty local so NULL output no longer crashes the pane render. /ui/api/failures should return 200 for the 3010 failed runs with NULL output in the ledger.

Fixed by commit d8b01ca on main. failures_partial.html line 47 now binds run.output through a default-empty local so NULL output no longer crashes the pane render. /ui/api/failures should return 200 for the 3010 failed runs with NULL output in the ledger.
Sign in to join this conversation.
No description provided.