Contracts and pure policy shared by service and agent.
Types here are serialization contracts: changes need snapshot coverage and
a compatibility check against the previous revision (no data rollback).
Pure policy modules (wake ordering, budget, retention, telegram triggers)
carry property tests; no IO in properties.
db.ts migrations are forward-only, idempotent, and bounded; destructive
cleanup only lands after the previous revision stopped reading the shape.
No runtime npm dependencies in this tree.
# AGENTS.md — src/shared
Contracts and pure policy shared by service and agent.
- Types here are serialization contracts: changes need snapshot coverage and
a compatibility check against the previous revision (no data rollback).
- Pure policy modules (wake ordering, budget, retention, telegram triggers)
carry property tests; no IO in properties.
- `db.ts` migrations are forward-only, idempotent, and bounded; destructive
cleanup only lands after the previous revision stopped reading the shape.
- No runtime npm dependencies in this tree.