Home rail: thread close_reason onto session rows to restore genuine-failure signal
Follow-up from MC-4607 council. The session-history rail row dict has no close_reason, so MC-4607 maps ALL non-live runtime states to neutral 'History' (avoids a false-red wall ...
StateDoneNext ActionClosedOwnerLuciRuntimeClosedAge11d ago
Ticket is done; runtime is closed.·cwd /home/lucienne/workspace/state/control-room-worktrees/mc-4612-home-rail-close-reason · uptime 10d 3h · last activity 10d 0h ago
Description
MC-4612
Follow-up from MC-4607 council. The session-history rail row dict has no close_reason, so MC-4607 maps ALL non-live runtime states to neutral 'History' (avoids a false-red wall from reaped tmux runtimes, close_reason=tmux_session_missing). Cost: a genuinely crashed runtime no longer shows any failure cue in the rail. Fix: add close_reason (and/or a terminal chat status) to the recent_threads row builder in models.get_home_zones / _home_thread_runtime_summary, then in dashboard_v2.html show 'Failed' only when close_reason indicates a real error (not tmux_session_missing/reaped/stopped). Restores real signal without the wall. Council: Gemini+GLM+Codex flagged the signal loss; Opus called current state an acceptable honest tradeoff.
Activity
done
INTERACTIVE
Luci is working...
Details —
Done
· Medium
· Luci
▼
SState
Done
Closed
PPeople
TTiming / Details▼
api (human)
Mission Control
11d ago
10d ago
Advanced / Operator evidence
RRouting owner
ROperator console
Ticket is done; runtime is closed.controller_gate_closedcwd /home/lucienne/workspace/state/control-room-worktrees/mc-4612-home-rail-close-reason · uptime 10d 3h · last activity 10d 0h agoMC is visibility-only. Hermes Luci launches and gates work outside MC, then mirrors evidence/status here.Raw console: luci-controller · claude-code
WWorkflow
Start Dev Review + QA ▾
Select phases to include:
Agents
Review Gates
Decision
WAT routing: choose an agent, review gate, or decision. Buttons use the live runtime when one is attached.
[follow-up] 7 min past expected check-in (2026-06-03T06:22:39.967339+02:00 UTC).
luci-controller10d ago
Controller picked this up from the stuck backlog and dispatched a direct Control Room worker.
Gate: Build → focused regression/tests → commit+push → controller review.
Runtime: tmux cr-MC-4612, pid 2574309, worktree /home/lucienne/workspace/state/control-room-worktrees/mc-4612-home-rail-close-reason.
Expected check-in: 2026-06-03T06:22:39.967339+02:00
luci-controller10d ago
Controller recovered completed direct-worker output after tmux/session harvest marked it failed.
Evidence:
- Worker log /tmp/mc-4612-claude-output.log contains DONE and commit affa229.
- Branch cr/mc-4612-home-rail-close-reason was pushed.
- Controller test run: `python3 -m pytest tests/test_mc4612_home_rail_close_reason.py tests/test_mc4123_home_v2.py -q` → 39 passed.
- Fast-forward merged affa229 onto master and pushed origin/master.
- Restarted luci-dashboard.service and smoked local + Tailscale `/` → HTTP 200.
This ticket is closed; the failed harvest/recovery gap is now included in MC-4631.