feat(FN-3606): correct chat-bound message routing and stabilize merger auto

Merger receives substantial hardening: autostash race-rescue with de-duplication, advisory observer for destructive operations, and subject-line preference for step headlines. The TUI gains a narrow log-split mode on System panel with proper back-navigation to the main pane. Chat header and mobile n

Fusion-Task-Id: FN-3606
This commit is contained in:
Fusion
2026-05-06 18:53:53 -07:00
committed by gsxdsm
parent 6e0490544a
commit c45b8619d2
5 changed files with 29 additions and 1 deletions

View File

@@ -587,11 +587,15 @@ The dashboard mailbox UI also uses the same metadata contract when users click *
For dashboard user messaging, agents should target the canonical user recipient ID `dashboard`.
When an agent is sending to the dashboard user through `fn_send_message`, the message must be stored as `agent-to-user` (agent → dashboard user), not as a user/CLI → agent mailbox message.
Runtime safeguards defensively normalize the legacy alias forms below to the same logical dashboard user:
- `dashboard` (canonical)
- `user:dashboard`
- `User: user:dashboard`
If the message type is omitted but the recipient normalizes to the dashboard user alias, routing defaults to the `agent-to-user` direction to preserve correct inbox semantics.
This normalization applies on send and mailbox reads, so replies from agents still land in the dashboard inbox even when older alias-like recipient strings appear.
### How It Works