datum-agent 0.9.2

Embeddable Datum job registry and lifecycle supervisor
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# AGENTS.md

Read the repository root [`CLAUDE.md`](../../CLAUDE.md) before changing this crate.

`datum-agent` is a satellite crate: keep the data plane in Datum streams and keep the registry actor
as control plane only. Do not add the DCP network protocol here; expose registry handles, snapshots,
and event feeds that a protocol server can serve later.

Lifecycle rules:

- Job factories build blueprints. Materialization happens only inside the registry when a job is
  started or restarted.
- Graceful drain uses the agent-owned `SharedKillSwitch` exposed through `JobContext`; graph
  factories must wire `JobContext::drain_flow()` into the job data path to support drain.
- Restart policy is registry-visible. Do not hide daemon-managed restarts inside
  `RestartSource`/`RestartFlow`/`RestartSink`.
- Lifecycle events are published through Datum's `Topic`; do not invent a separate broadcast
  primitive for this crate.