fork of prime agent with changes i want but are not upstreamable probqbly (and some fixes)

Add user orchestrator for agent messaging and observation (#207) master

* Add user orchestrator agent messaging and observe * Add orchestration heartbeat skill * Address user orchestrator PR review comments * Tighten agent message rate limiting * Harden agent message queue safety * Preserve agent message reservations on queue clear * Serialize agent messages per target * Handle queued agent message edge cases * Preserve orchestration heartbeat schedule on refresh * Fix agent message queue handling * Fix agent message review issues * Defer agent message acknowledgment past stream start * Fix agent message acceptance race * Avoid blocking agent message send on pre-prompt work * Avoid blocking agent messages on pre-prompt hooks * Hide daemon prompt fast path from public options * fix(coding-agent): harden agent message delivery * fix(coding-agent): keep failed agent messages from consuming limits * fix(coding-agent): address agent orchestrator review issues * fix(coding-agent): address agent orchestrator review issues * fix(coding-agent): queue sends during accepted retries * fix(coding-agent): address remaining orchestrator bot findings * test(coding-agent): update streaming prompt guard expectation * test(coding-agent): remove duplicate daemon queue case * fix(coding-agent): harden prompt acceptance races * fix(coding-agent): serialize agent message clearing * fix(coding-agent): lock agent message safety controls * fix(coding-agent): harden agent message pause * fix(coding-agent): queue agent messages internally * fix(coding-agent): release prompt lock when streaming starts * fix(coding-agent): reject messages paused while locked * fix(coding-agent): reject messages after session switch * fix(coding-agent): serialize session close with messages * fix(coding-agent): reject messages for closing sessions * fix(coding-agent): queue messages during compaction * fix(coding-agent): avoid blocking messages during prompt prep * fix(coding-agent): track queued agent messages * fix(coding-agent): preserve agent message queue identity Fixes #207 * fix(coding-agent): parse canonical agent message ids Fixes #207 * fix(coding-agent): clear accepted agent messages Fixes #207 * fix(coding-agent): sanitize agent message metadata Fixes #207 * fix(coding-agent): suppress cleared accepted messages Fixes #207 * fix(coding-agent): clear accepted prompt state on failure Fixes #207 * fix(coding-agent): account for accepted message delivery Fixes #207 * fix(coding-agent): close accepted prompt busy gap Fixes #207 * fix(coding-agent): harden accepted message cleanup Fixes #207 * fix(coding-agent): report accepted messages as pending Fixes #207 * fix(coding-agent): wait for accepted message delivery Fixes #207 * fix(coding-agent): report duplicate follow-up preflight Fixes #207 * fix(coding-agent): reject cleared accepted messages Fixes #207 * fix(coding-agent): reject failed agent message delivery Fixes #207 * fix(coding-agent): emit cleared accepted agent end Fixes #207 * fix(coding-agent): unblock idle prompts after agent delivery Fixes #207 * fix(coding-agent): wait for agent message delivery Fixes #207 * fix(coding-agent): avoid direct delivery waiter hang Fixes #207 * fix(coding-agent): settle late agent message waits Fixes #207 * fix(coding-agent): reject delivery waits on dispose Fixes #207 * fix(coding-agent): acknowledge queued agent messages * fix(coding-agent): review fixes for agent messaging admission, capacity, lifecycle, and CLI parsing * fix(coding-agent): drain agent messages after bash * fix(coding-agent): preserve queued message order after bash * fix(coding-agent): resolve queued agent-message sends without blocking on delivery; settle waiters on abort * fix(coding-agent): report busy observed sessions * fix(coding-agent): settle agent-message lifecycle edge cases * fix(coding-agent): keep deferred agent messages ordered * fix(coding-agent): harden queued message cleanup * fix(coding-agent): report queued direct accepts * fix(coding-agent): harden agent message delivery state * fix(coding-agent): restore next-turn context after failed accept * fix(coding-agent): defer cron while agent accepts messages * fix(coding-agent): queue cron during agent-message accept * fix(coding-agent): normalize orchestration heartbeat intervals * fix(coding-agent): recheck busy state before direct accept * fix(coding-agent): preserve next-turn context in queued accepts * fix(coding-agent): settle queued accept edge cases * fix(coding-agent): serialize daemon prompts with agent messages --------- Co-authored-by: Kevin Thomas <kevin.jt2007@gmail.com>