Rework agentd watch <agent-id> for persistent sessions to tail session JSONL logs and render human-readable progress, not raw JSON lines.
Goals:
- Keep streaming behavior (
follow) while improving readability. - Normalize mixed event schemas currently found in persistent session logs:
- chat/session events (
type=message, nested role/content, toolCall blocks) - trace-style runtime events (
infer_start, tool_call, tool_result, infer_end, custom, checkpoint) - Provide concise defaults and opt-in detail.
- Keep multi-agent watch usable (run-id prefixes).
Key UX requirements:
- Default output should be one-line summaries with local timestamp and semantic labels.
- Truncate noisy fields (thinking signatures, full tool outputs, giant prompts).
- Preserve access to raw mode for debugging.
Implemented human-readable persistent watch output for
agentd watch <agent-id>.Changes in
Omni/Agentd.hs:[agent-id]prefix--detailsbehavior for persistent watch:Verification:
typecheck.sh Omni/Agentd.hslint Omni/Agentd.hsbild --test Omni/Agentd.hstimeout 2s agentd watch sd-coder --mode persistenttimeout 2s agentd watch sd-coder --mode persistent --detailstimeout 2s agentd watch --mode persistent