Vessel

In plain words: Engine Room: the server process

Partial 2 min read 6 glossary terms 10 connected pages
The short version written for the Snayu team

Describes the Engine Room (Vessel): the single application process (Granian, Litestar, Pydantic AI) that serves the web UI, admits requests and hosts the workers. It explains startup reconciliation and shutdown order.

Why read it: Read this before changing server startup, lifecycle, concurrency or anything that assumes multiple processes.
  1. 1Exactly one ASGI process is required; a blocking worker can delay HTTP requests too.
  2. 2Startup must reconcile unfinished jobs, checkpoints and approvals from the database before accepting work.
  3. 3The server runs in a managed container on loopback; host-native deployment and lychd serve are retired.

Partial Local job execution works; full installed lifecycle control is not yet qualified.

Words on this page, decoded click one for its card

WorkersThe AssistantMemory VaultCrash RecoveryThe BodyEngine Room
Where it sits in LychD

Engine Room Vessel

The single running server process. It receives work, runs it and serves the web UI.

It's like: The kitchen of a restaurant. Orders come in, food goes out. If the kitchen burns down, you rebuild it, but the order book survives.

Click a dot to open that part's card.

In this section 1 pages

The original text Underlined words open their plain-English card.

Through a mortal body, the daemon takes breath.

The VesselEngine Room is the application process through which LychD receives work and serves the Altar. Its composition root assembles domain services, admits supported InvocationsJob Requests, and gives queued execution to Ghouls. The Lich is the recurrent whole that may answer through this process and return after it dies.

One process takes breath

A request enters through Granian's production ASGI service. Litestar supplies routing, injection, lifecycle, and API authority, while Pydantic validates configuration and typed boundaries. Pydantic AI provides Agent and GraphStep Map mechanics over Animator capabilities. Litestar also serves the compiled static SvelteKit client, so the browser remains a projection without a separate server authority.

Exactly one ASGI process is required. Two SAQ workers, live RunJob Record events, cancellation, and the service graph share its event loop. A second process or reload supervisor would create another private runtime world. A blocking GhoulWorker can therefore delay HTTP as well as other work.

Before the Altar opens

Startup first connects the queues, constructs services, warms the registry, and synchronizes standing policy. Before workers can claim jobs or HTTP can expose those services, the PostgreSQL profile must reconcile what the previous process left behind: canonical RunsJob Records, their exact deliveries, checkpoints, ConsentApproval Step, and delegated-wait owners. These records determine whether work may resume, must remain parked, or needs containment and settlement.

Required reconciliation must finish cleanly before admission opens; startup aborts on failure or degradation. The memory profile has no cross-process truth and retains best-effort recovery. After admission opens, lifespan-owned delivery, consent, and delegated-wait relays continue repairing their respective publication and return obligations.

The owned launcher enters the application lifespan explicitly, then runs one embedded ASGI worker with no lifespan of its own. Retirement first refuses new application callbacks and waits for existing callbacks, including background work continuing after a response was delivered. Only then does it close application services. A required startup or shutdown failure produces a failed process exit. Signals request this retirement; the user manager's outer timeout decides whether a stuck process must ultimately be forced.

The managed VesselEngine Room image uses the fixed internal 0.0.0.0:8000 listener behind generated loopback-only host publication. Host-native VesselEngine Room deployment and hidden lychd serve are retired. Images must be rebuilt to acquire launcher changes; unsupported server tuning refuses.

Current active installation lifecycle completion is unavailable until authenticated container admission and exact settlement are implemented and qualified. The old signed native stops and trusted installed-hybrid receipt remain frozen historical observations of their removed profile. They do not qualify a rebuilt VesselEngine Room or authorize fallback control. Follow the current CLI boundary before an installation operation.

Shutdown stops workers before their collaborators and queues. Process death loses active tasks, subscribers, leases, and other volatile state. Only records committed through the Phylactery can enter a supported return path.

Follow Ghouls from admission to settlement, or Reanimation across process death. Backend owns the architecture; State of Work records the available local execution and its evidence limits.