1.9 KiB
1.9 KiB
Membership And Pool Readiness Contract
This document defines the behavioral contract for the orchestrator's membership gate. SWIM is an input to pool readiness; it is not a distributed graph agreement protocol.
Pool Readiness Formation
- The orchestrator emits
PoolReadyonly for the intended candidate pool. PoolReadyrequires every candidate node to be known to the orchestrator.PoolReadyrequires every candidate node to be live in the SWIM view.PoolReadyrequires every candidate node to have emittedNodeAvailable.PoolReadyrequires every candidate node to have data-plane identity material.PoolReadyrequires no candidate node to be suspect or faulted.PoolReadyrequires the pool view to remain stable for the configured convergence window.
Planning Gate
- Run planning starts only after
PoolReady. - If pool readiness is lost before a
RunPlanis committed, the orchestrator waits or aborts according to local policy. - Nodes do not need to agree on graph state before planning.
- Nodes do not compute placement from SWIM state.
Loss After Provisioning
- Membership loss for a required node after provisioning begins faults the run.
- The MVP does not re-place an active run after membership loss.
- A suspect or faulted required node is treated as unavailable for the active run.
Authority
- SWIM reports membership and liveness facts.
- The orchestrator decides pool readiness.
- The orchestrator owns the candidate pool definition.
- SWIM does not assign stages, edges, layers, or object specs.
Test Direction
Tests should feed deterministic membership and node-availability observations
into the orchestrator readiness gate. Successful tests should assert that
PoolReady appears only after all required facts and the convergence window.
Failure tests should remove or suspect one candidate node and assert no
PoolReady, or a run fault if provisioning has already begun.