clio-relay 1.4.18
clio-relay 1.4.18
This patch makes long-running HPC work durable across bounded client observations. A wait timeout now means only that the current observation ended: relay preserves the exact relay, JARVIS, and scheduler identities, returns observation_unknown for nonterminal work, and never fails, cancels, or resubmits the job. CLI, HTTP, local MCP, direct-SSH, and owned-session paths share the same finite, identity-checked semantics; genuine authentication, configuration, and identity errors still fail explicitly.
The release also repairs upgrades from legacy bootstrap layouts. Verified JARVIS environments and unchanged components are reused, while relay-owned stable paths move to a crash-recoverable generation layout through preflighted atomic exchanges. Upgrade recovery is forward-only and preserves operator repositories, scheduler jobs, and prior generations. Release checks now bind tags to the exact checked-out commit without relying on GitHub's mutable target_commitish display field, and strict Pyright checks are platform-stable on Linux and Windows.
Focused local and hostile-boundary tests cover observation expiry, transport failures, terminal races, non-finite bounds, legacy activation, filesystem capability rejection, exchange crash recovery, provider identity, and release provenance. Released-artifact Ares validation follows publication and is not claimed by these notes.