Skip to main content
Version: 0.1.0-alpha.4 (alpha)

Route freshness: Phase 5 implementation handoff

RFC-0004 and ADR-0030 complete Phase 3's design ticket #274. This page assigns the required Phase 5 implementation and executable evidence. The distributed scenarios below have not been implemented or run by this documentation change.

The current standalone publication boundary remains the comparison baseline. Local lifecycle/admission fences determine whether exact routed, queued or prepared work may start. They do not contact or learn revocations from a remote controller.

Implementation responsibilities​

Phase 5 ownerRequired delivery before clustered authorization is supported
Control-plane desired state and durable storage (latent-control)Serialize current checkpoint/lease issuance with revocation, persist authority epochs/sequences and exact publication associations, define consistent full checkpoints and contiguous deltas. A standby cannot issue from stale state.
Distribution protocol and authenticated node transport (latent-wire / cluster adapter)Versioned bounded route envelopes/leases, authenticated cluster/catalog/node/boot audience, explicit publication and delegation fields, finite decode/verification work and fail-closed old-reader behavior.
Node route and authority installation (latentd, latent-control-store, latent-routing)Atomic installation under the local start fence, durable replay floors before exposure, bounded staging, no permission from incomplete updates, deterministic reconnect and denial when retention cannot safely compact.
Lifecycle/trust/capability authorities (latent-artifacts, latent-policy, Phase 3 broker)Exact independent publication generations/evidence/grants, revocation invalidation, explicit preservation of unchanged bindings, current provider and descendant checks. Never inherit permission from component/native-code sharing.
Supported cluster platform/isolation profileTrusted time interval, monotonic drift and suspend/restart behavior, fresh boot challenge, protected floors and recovery procedure. Unsupported clocks/hosts reject the profile.
Activation and remote invocation (latent-activation, executor/transport adapters)Recheck queued/ready work at guarded start; preserve exact pins and original deadlines, conserve descendant budgets, retain owners through real cleanup, reject stale remote pins without substitution.
Shared control workers and observabilityFinite watch/renewal/reconciliation queues, bytes/timers/leases/floors; no dormant-service worker. Tenant-scoped expiry/outage/currentness diagnostics with redacted bounded evidence.
Phase 5 release gate and operator runbookReproducible multi-process fault matrix below, upgrade/recovery instructions, selected platform limits, configured numeric bounds and measured worst observed denial/cutover times with their limitations.

Phase 5 planning must create implementation tickets for these owners before starting cluster work and link them to this accepted contract. This handoff does not move the cluster implementation into the Phase 3 completion gate (#240). Phase 3 integrated security work (#238) keeps testing the existing local fences; it must not label those results distributed-revocation evidence.

Scenario and conformance matrix​

Use controllable clocks and fault injection for boundary tests, then a bounded real controller/two-node setup for disconnect, persistence and cutover evidence. Keep node B and publication B independent where the scenario targets A. Test both default bounds and stricter negotiated limits; equality at expiry denies.

ScenarioRequired observation
Connected, unchanged route and current authorityNormal invocation resolves locally; its trace contains no synchronous control-plane request. It records the exact publication/revision/checkpoint used at start.
Partition before remote revokePreviously authorized A may start only before the earliest lease/disconnection/route/evidence deadline. Remote revoke is not falsely described as immediately visible. No start occurs at/after the conservative deadline.
Local install of revoke before partitionRouted, queued and ready A cannot start. A cached route, prepared/native hit, duplicate lease and reconnect replay cannot restore permission.
Revoke races with lease issuance at controllerSerialization produces either a prior finite lease or denial; no fresh lease based on pre-revoke state is issued after the revoke commit. Include a stale standby.
Revoke races with guarded start at nodeThe serialized start either precedes denial and may finish boundedly, or is rejected. Evidence distinguishes acceptance from literal first guest instruction.
Authorization expires while route data remainsNo new invocation/child start; authorized management can still inspect bounded historical route data. Retention does not refresh grants.
Route envelope expires while authorization appears currentRoute selection/start is denied until a current exact envelope and matching authority are installed.
Signature/evidence, caller identity or capability grant expires earlierThe stricter bound wins; a longer lease cannot extend it.
Authority lease renewed, unchanged route bytesA fresh consistent authorization checkpoint may extend the permitted window; route generation/digest alone does not. Duplicate renewal cannot reset its original expiry/contact time.
A revoked; B shares A's component or packageB remains usable only under its own tenant publication/lease. A cannot use B's grant, lifecycle generation, provider secrets or prepared authority.
Policy/trust/profile changes without route changeChanged bindings lose permission. Preserving an unchanged binding requires an authenticated decision from the newer checkpoint. Unsupported host/provider profiles fail.
Restart with old snapshots, floors and leaseHistory can load; execution stays denied until new-boot authentication, clock validation and a fresh current lease. Restart while partitioned cannot extend old permission.
Delayed lower sequence / same sequence with different digestOld update is rejected; conflicting digest fails explicitly. Neither overwrites floors or renews contact time.
Reordered delta / missing page / dropped deletionNo mixed authority cut becomes usable. Request a complete checkpoint, with bounded staging; incomplete absence grants nothing.
Authority epoch change, unknown issuer or wrong node/boot audienceReject unless the currently trusted transition and fresh complete checkpoint are verified. Numeric ordering alone is insufficient.
Clock rolls back, jumps forward, exceeds uncertainty, or loses continuityNo deadline extension; invalidate as needed and deny until verified time/authority recovers. Exercise suspend/resume, VM migration and the exact expiry boundary.
Route rollback or original operation receipt replayRollback requires a new generation and current captured-publication permission. Replay returns history without reinstalling old routes or leases.
Reconnect after unseen revoke and several policy updatesVerify current checkpoint and floors before resuming; A remains denied, unrelated eligible B can resume. Stale queued exact pins are rejected rather than silently retargeted.
Oversized checkpoint, full replay-floor store, canceled verification or stalled renewalReject/bound new work. Preserve security floors and keep actual owners charged through cleanup. A stalled worker cannot delay expiry enforcement.
Parent accepted before expiry, descendant/provider operation begins laterParent may complete under its original limits; the new operation independently checks current authority. Uncertain already-issued external effects are reported without blind retry.
Unavailable controller after expiry, valid management identityStatus remains bounded and reports expired authority; it does not issue a local fallback grant or enumerate another tenant's publications.

Required evidence package​

Record the source/binary and protocol/profile versions, exact configuration, clock source/uncertainty/drift contract, authority/node boot identities, checkpoint sequences, publication associations and injected event order. For each case retain expected and actual start decisions, cutover timing, restart/floor observations, owned-resource return and independent-node/publication outcomes. Redact tokens, lease bodies, keys and private payloads. Use a compact bounded summary plus the minimal failure diagnostics, not unbounded per-request logs.

The Phase 5 entry review must validate the proposed wire/storage/clock designs against every matrix row before implementation claims. The Phase 5 completion gate requires the real executed results, including denial cases and absence of control-plane RPCs on the ordinary hot path. A model-only result, a green local unit suite or a claimed timeout without observed cleanup is insufficient.