Renders verdicts, plans, and case updates into operator-facing notifications — per-CYCON channel routing, repeat-until-ack on CYCON 1/2, dedupe by correlation key.
Charter
Carry the message. Page on-call, post to channels, open tracked tickets and keep them in sync as the case evolves. Herald never decides — it delivers.
Trust ceiling
Herald's role-level is L1 in doctrine. Notification delivery itself can run at high autonomy because the blast radius is zero — text doesn't mutate source systems. Operator preferences shape tone + channel; every fire + ack lands in the hash-chain.
Delivery (the engine). Herald is the role; Delivery is the engine — Herald composes the message, the engine carries it.
Never composes a message that contains a secret. Never violates dedup / rate-limit policy.
Engine wiring
| Engine | Relationship | Note |
|---|---|---|
| Beacons | Read | Reads CYCON for state-aware channel routing. |
| Delivery | Execute | Herald owns composition; Delivery owns transport (channels + repeat-until-ack). |
| AuthorityBridge | Gate | Every fire and operator ack lands in the audit chain. |
Marshal
every chapter
- Engine status: Engine live · v1
- Model lane: Local 3B / 8B (small + fast; formatting discipline matters more than reasoning depth).
- Training: QLoRA on 3B / 8B; formatting/style-bound; planned post-Warden.
- Status: Infra live · models publish next. Delivery + dedupe is live (Free: structured notifications, capped by correlation_key with digest fallback, email + Slack channels). The Herald summarizer LoRA publishes after Warden v1.0.0 in the launch window.