nika serve is the released resident firer. It reads the arm: registry from
nika.yaml, waits on the wall clock and ends each due beat at the same firing
law as nika arm fire.
Rehearse each operating mode
--dry is intentionally narrower than a real fire. It does not take the beat
lock or apply the complete missed-run, overlap, cost and execution policy.
Reload without losing the last good registry
HOT RELOAD Β· INVALID EDITS DO NOT REPLACE VALID POLICY
The server retries a refused edit on a later tick. This keeps a typo visible
without silently replacing valid policy with an empty schedule.
Read process and beat outcomes separately
Each beat prints one decision line and appends project state. A completed--once sweep exits clean even when an individual workflow failed or paused,
so supervision must read the beat lines and ledgers, not only the outer process
exit.
Delivery and shutdown
Ctrl-C and SIGTERM stop the resident loop at its signal boundaries. The ledger uses durable claims and receipts, which yields at-least-once delivery:Deployment checklist
- Set a stable project
cwdcontainingnika.yaml. - Install an explicit
nikabinary path. - Protect provider keys outside project source.
- Persist
.nika/traces/and.nika/arm/according to policy. - Capture stdout decision lines.
- Send SIGTERM and allow the active firing boundary to settle.
Continue
Arm registry
The schedule and policy this process consumes.
OS schedulers
Let launchd or systemd own wakeups instead.
Runtime state
Persist the evidence behind each decision line.
Production runbook
Boot, supervise, probe and investigate the process.
Deployment topologies
Choose the right process boundary.