439 main commits in; 144 branch commits preserved (no rewrite — merge over
rebase per glitch's call to keep history). Conflict resolutions:
- Dockerfile: ui-opentui build folded into main's new cached frontend-build
layer (COPY ui-opentui/ + install/build/prune beside web+ui-tui); node:26
base from our side kept.
- gateway/run.py: took main's extraction (slash handlers moved to
gateway/slash_commands.py); re-applied our /usage real-cost block
(real_session_cost_usd / resolve_billing_route, no estimation) at its new
home in slash_commands.py.
- tui_gateway/server.py: _LONG_HANDLERS union (our model.options + main's
plugins.manage).
- tests/test_tui_gateway_server.py: both sides' appended tests kept.
Verified during resolution: cli.py worktree prune/cleanup lock fix survived
auto-merge intact and main's new prune call-site (hermes_cli/main.py:2139)
inherits its clean/locked/dirty/unpushed skip semantics; HERMES_TUI_ENGINE
selection in hermes_cli/main.py intact.