Skip to content

Verified router prewarm client

Historical record

This page records a Celln development milestone (September 2026). Interfaces and limits it describes may since have changed or been replaced by the Celln fleet. For current behaviour see Celln Backend and Celln Fleet Installation.

cellnreview.NewRouterClient(origin, tokenFile, caFile) uses verified TLS 1.3, a rotating mounted router credential and optional dedicated CA trust. It shares the issuer client's bounded transport implementation, but not its credential. Ambient proxies and redirects are disabled. The origin must exactly match the frozen operator route; the backend pin must be an HTTP origin matching Celln's configured-backend contract. This is a library integration step; the AgentRun reconciler does not call it yet.

Prewarm(ctx, frozenRoute, verifiedIssuedRequest) derives a member-check request from the previously validated issuance, preserving exact mote/closure and resource values while removing Harness, forge, inputs, egress, workspace and invocation arguments. It posts at most 64 KiB to /v1/artifacts/prewarm with the frozen X-Celln-Backend. It has a 40-second operation ceiling and no automatic retry. The caller must validate current frozen approval before calling; this client does not infer approval from arbitrary JSON.

A response must be bounded, uncompressed JSON with no unknown fields or trailing data. The client checks the BLAKE3 hash of the actual request bytes, exact mote and closure, versioned sealed-member report, process epoch, nonempty node identity, sealed verification and explicit no-tool-execution/cell-dissolved assertions. Responses claiming execution authority, functional conformance or artifact readiness refuse. Hashing uses pinned github.com/zeebo/blake3 v0.2.4 rather than substituting SHA-256 for Celln's wire hash.

The resulting PrewarmObservation is only a serving-process observation. It is not a lease or a guarantee that the process/host remains warm or eligible. The node/epoch are reported over authenticated transport, not independently attested physical-host identity. Member verification is not functional Harness conformance. Do not set catalogue CellnReady from this result alone. Actual execution still needs live host admission, unexpired grants and its own durable submission/ownership handling.

Current HTTPS fixture tests cover exact target/credential/body handling, request hash and closure substitution, missing/changed execution flags, teardown, readiness claims, invalid epoch/node, oversized/trailing responses and redirects. The opt-in real catalogue test additionally exercises this client through a TLS terminator, the actual Celln router and a separate actual KVM dispatcher process. Two prewarms bind the same request/process and fresh sealed-verification challenges, with zero router ownership or dispatcher execution records. These test-owned processes bind loopback and are stopped and joined on cleanup. The fixture uses fake Kubernetes metadata; there is no task submission, model call, deployed Kubernetes controller or final user-journey acceptance in this proof. See docs/evidence/celln-router-prewarm-client-2026-09-08.json.