docs(bus): system.orchestrator.health carries realism extras

Heartbeat extra.realism={llm_enabled, llm_backend, llm_model,
llm_breaker_state} feeds the dashboard's worker-panel LLM status
badge. Required by feedback_wiki_bus_signals.md any time the bus
contract changes.
2026-04-27 17:51:09 -04:00
parent 2a0295891c
commit 3e9173bf41

@@ -151,7 +151,7 @@ Current topic families:
| `orchestrator.traffic.{decky_id}` | Orchestrator | `{kind: "traffic", protocol: "ssh", action, src_decky_uuid, dst_decky_uuid, success, payload, ts}` — synthetic inter-decky SSH traffic generated to keep the fleet from looking suspiciously static |
| `orchestrator.file.{decky_id}` | Orchestrator | `{kind: "file", protocol: "ssh", action, dst_decky_uuid, success, payload, ts}` — synthetic file create or edit (`action="file:create"` / `"file:edit"`) performed inside a decky via `docker exec`. Driven by the realism planner; rare ticks (~3%) carry callback-bearing canary content. |
| `orchestrator.email.{decky_id}` | Orchestrator | `{kind: "email", mail_decky_uuid, thread_id, message_id, in_reply_to, sender_email, recipient_email, subject, language, success, ts}` — one fake corporate email persona-driven by the realism content engine and dropped into a mail decky's spool. `decky_id` is the mail decky (the IMAP/POP3 host serving the mailbox). Producer changed from a separate `emailgen` worker to the unified orchestrator in the realism migration; topic shape is unchanged. |
| `system.orchestrator.health` | Orchestrator | standard worker heartbeat (covers traffic + file + email branches) |
| `system.orchestrator.health` | Orchestrator | standard worker heartbeat (covers traffic + file + email branches). Carries `extra.realism = {llm_enabled, llm_backend, llm_model, llm_breaker_state}` so the dashboard's worker panel can render a live LLM/circuit-breaker status badge without reaching into worker memory. |
| `system.orchestrator.control` | Orchestrator | admin-originated stop intents for the orchestrator loop |
| `attacker.observed` | Correlator | first sighting; consumed by `decnet enrich` as a wake signal |
| `attacker.scored` | Profiler | post-enrichment score update; also wakes `decnet enrich` |