Skip to content

Reanimation

Read the ashes before you call the dead by name.

Reanimation brings a new Vessel to the records committed before its predecessor died. Systemd can raise the process; the Phylactery, queue, checkpoint, and wait owners determine which work may return. Volatile memory, subscribers, leases, and uncommitted frames are gone.

A durable park can return through a fresh worker claim in the same Vessel. Reanimation is needed only when the application process has died.

Three rites that must not be confused

Need Rite Continuity boundary
A model or VRAM transition during live work Live Stasis The resident Run releases its lease, waits for Orchestrator convergence, then resumes itself.
A new application process after Vessel death Reanimation A new process reconciles committed truth before admitting work.
An earlier whole body, including database, code, and configuration Restoration Coordinated snapshot, freeze, restore, and reconciliation remain Designed.

A Vessel restart neither substitutes for a model transition nor stops every Soulstone or clears VRAM. Snapshot State keeps the whole-body boundary separate.

Perform one bounded reanimation

Begin only after the four Awakening observations agree. Reanimation cannot complete a host's unfinished first life. Run the commands below from the stable Summoning checkout, under the same operator user and XDG environment.

Stop submissions and let Bridge-visible work settle. There is no complete Run census or graceful drain command that proves zero-loss restart; if unseen work or continuity matters, do not restart. State records the current status and stop limits. Direct Systemd action bypasses Orchestrator admission and lease drain. Active work must reach a supported durable boundary, or its loss must be accepted.

The generated body

lychd bind and the Scribe project Codex intent into owned units atomically. Edit that intent, never paste or hand-edit a generated Quadlet. The generated Vessel has a restart policy and a migration gate before start; real systemd/Podman embodiment still needs operator validation.

When Codex or unit intent changed, bind first. Otherwise restart the existing projection:

# Only when Codex or generated-unit intent changed:
uv run --extra postgres-binary lychd bind --dry-run
uv run --extra postgres-binary lychd bind

systemctl --user restart lychd-vessel.service
uv run --extra postgres-binary lychd status
systemctl --user show lychd-migrate.service \
  --property=Result --property=ExecMainStatus
uv run --extra postgres-binary lychd logs services --lines 200

The current stop cannot stop an active Vessel without the authenticated lifecycle port. status establishes unit and mount truth; the migration unit must report Result=success and ExecMainStatus=0. Neither proves model warmth. Repeat Nexus readiness and a benign same-host Bridge reply. Disagreement among state, readiness, and reply returns the investigation to The Awakening.

Reanimation — a new Vessel judges durable truth

Before publishing its substrate or Altar services, the Vessel connects runs and rites, constructs services, warms the registry, synchronizes standing policy, and reconciles durable state. Required PostgreSQL recovery must finish cleanly; failure or degradation aborts startup. The memory profile has no cross-process truth and remains best-effort.

  • AWAITING_CONSENT remains parked. A pending verdict waits. A verdict committed while the process was down is re-fired; one admission atomically creates its next delivery and later reads durable verdict and checkpoint. The pre-park crash window is recoverable only when the first resumable snapshot binds this Run and its exact latest Consent id, with that owner still non-cancelled. An already-decided owner is parked and then re-fired.
  • QUEUED remains Run-ledger-owned. Its exact RunDelivery says fresh versus resume, queue, priority, and publication state. HELD is refused because initiating context never became publishable. Current-boot work is retained; a proven pre-boot active generation is terminally fenced and re-probed; an absent job is republished under the same key; a terminal broker record rotates to a fresh sequence without changing delivery mode. Missing or mismatched delivery truth, unprovable active ownership, queue absence, or probe failure makes recovery degraded rather than inventing an outcome.
  • Previous-process RUNNING and AWAITING_HARDWARE do not replay. Startup may recover the exact first-node Consent or delegate pre-park boundary; otherwise it contains correlated effects and records FAILED / ghoul lost. Checkpoint deletion and one sequence-correct durably drained terminal event follow.
  • AWAITING_DELEGATE refreshes its exact owner. Only a terminal owning AgentJob may re-admit it. Missing coordination or owner identity fails required PostgreSQL startup.
  • Missing resume checkpoints fail as stasis lost. The Graph never restarts from its first node or original Intent.
  • CANCELLING still owes containment. Startup continues the elected cancellation; a broker or delegate whose containment remains uncertain cannot be declared terminal merely to open the Altar.

Startup repairs missing terminal evidence from canonical terminal Runs. Mismatched terminal evidence aborts required PostgreSQL startup; it is not overwritten. Cancellation cleanup may still remove its checkpoint when evidence fails. Ghouls owns terminal ordering. A checkpoint left by failed cleanup never revives a terminal Run.

Lifespan-owned delivery, consent, and delegated-wait relays continue repair after startup. They retain degraded keyset pages while scanning newer owners. There is no periodic workflow scheduler, generic automatic SAQ retry, public failed-Run retry, same-boot worker-failure custody watchdog, or transactional Step/event outbox.

The disposable two-boot factory receipt proves a narrower PostgreSQL lifecycle with offline collaborators. It does not prove a real Consent-plus-Checkpoint restart. Graph stasis and consent re-admission remain Partial, and Bridge accepts only one approval call per model round.

Read the ashes

A pending consent card is a preserved wait. A decided consent back in QUEUED has won a resume hop, but still awaits a worker claim. FAILED / ghoul lost identifies work that crossed death without a supported durable boundary. A surviving or republished SAQ job preserves queued labor, not the old in-memory event stream.

Retain the host, unit, image, database, queue, Run, shutdown, and recovery observations before promoting the result to an operator receipt.

Inscribe the breath before it passes beyond recall.