/**
 * Daemon subsystem + lifecycle-hook contracts.
 *
 * A **subsystem** is one supervised unit of long-running work inside a CLEO
 * daemon process — Studio supervision, the GC cron, the web server, the
 * docs-viewer, the runtime poller. Each declares a uniform lifecycle
 * (`start → healthProbe → shutdown`) so the `@cleocode/runtime/daemon`
 * registry can drive them identically and the Rust `cleo-supervisor` can
 * aggregate their health over the FROZEN `supervisor-ipc` v1.0 contract.
 *
 * These are **pure type contracts** (no runtime/IO). The implementation —
 * `defineSubsystem()`, the registry, the NDJSON client — lives in
 * `@cleocode/runtime/daemon` (R2 child T11367) and imports these types rather
 * than redeclaring them (Contracts Fan-Out gate, T10074).
 *
 * @packageDocumentation
 * @module @cleocode/contracts/daemon
 *
 * @epic T11253 R2 — `@cleocode/runtime/daemon` submodule
 * @task T11366 — daemon lifecycle + subsystem contracts
 * @saga T11243 SG-RUNTIME-UNIFICATION
 */
/**
 * The frozen, ordered set of lifecycle phases. Pinned by the daemon test suite
 * so a phase cannot be silently added or removed.
 */
export const SUBSYSTEM_LIFECYCLE_PHASES = ['start', 'healthProbe', 'shutdown'];
//# sourceMappingURL=subsystem.js.map