# Architecture: hyper-p2p-cron-gossip **Protocol:** `cron-gossip/v1` ```mermaid flowchart TB App --> CG[HyperP2PCronGossip] CG --> Jobs["_jobs Map"] CG --> Tick[tick dueCron] Tick --> Fire[cron-fire gossip] ``` ## Wire messages | type | fields | direction | behavior | |------|--------|-----------|----------| | `cron-fire` | `jobId`, `expr`, `peer`, `at` | bidirectional | Sync `lastRun`, learn unknown jobs | ## State model Job: `{ jobId, expr, lastRun, at }`. ## Composition Pair with `hyper-p2p-leader-lease` so only the leader schedules cluster-wide jobs; use `hyper-p2p-deadline-queue` for per-task deadlines after fire.