Idempotency
Needed when an event or operation repeats. The same intent must not create a second external identity merely because the acknowledgement was lost.
In development / control-plane design
Early design work for an ephemeral environment control plane.
Branchplane is early design work. There is not enough implementation yet for a source-backed case study, so this page records the problem, intended system model, and open correctness requirements only.
“PR opened, run provisioning, done” assumes the process and the world move together. They do not. A provider may create a resource and lose the response. A worker may stop after the third of five resources. An event may arrive twice. Cleanup may succeed everywhere except DNS.
An in-memory workflow forgets what it intended when its process exits. The infrastructure remains. The working premise for Branchplane is that desired environment state must outlive any worker attempting to realize it.
A successful request is not the invariant. Continued convergence is.
The intended model starts when a branch event changes desired state. Durable control-plane state would record that intent and stable resource identities. A reconciler would observe external state, calculate the difference, ask resource adapters to make bounded changes, record what happened, and return later.
The design uses reconciliation to turn a one-shot sequence into repeated, inspectable attempts. Each attempt would need to be safe to resume, safe to retry where the external operation permits it, and small enough to explain after a crash.
Convergence is eventual. The system can be between states while an operation runs or a retry waits. The design obligation is to make that intermediate state explicit and ensure the next valid worker can continue from durable facts.
Needed when an event or operation repeats. The same intent must not create a second external identity merely because the acknowledgement was lost.
A lease can bound temporary ownership. A monotonically increasing fencing token is still required to reject a stale worker that resumes after ownership has moved.
Only transient failures should retry automatically. Permanent configuration or permission failures need durable visibility, not an infinite hot loop.
Absence is a desired state. Cleanup must be reconciled resource by resource because partial deletion is as real as partial creation.
The useful unit of observation is the reconciliation attempt: what environment ran, which desired generation it saw, what resource changed, why it retried, and whether it moved the system closer to convergence. The available evidence does not establish specific metrics or traces, so none are presented as implemented.
Crash recovery, explicit intent, and a place to reason about drift.
Eventual consistency, coordination state, provider-specific edge cases, and more machinery than a linear deployment job.