The celilo capability system handles RPC well — a module asks dns_registrar.registerHost(...), gets a typed result back. What it doesn't handle is reactive flows: "when module X finishes deploying, run the smoke test on lunacycle"; "when a new netapp lands in the registry, fan out a re-test to every module that depends on it"; "when a health check fails, page someone."
Today these flows have to be wired into the deploy command itself or run as external cron jobs. That works, but it pushes inter-module coupling into operator-managed scaffolding — and as the number of reactive use cases grows, so does the ad-hoc plumbing.
What's wanted:
- A persistent event log: emitters write events, the events outlive the emitter's process.