Skip to main content

STRUCTURAL_GATES

Constant STRUCTURAL_GATES 

Source
pub const STRUCTURAL_GATES: &[StructuralGate];
Expand description

Every human-actionable structural gate kopiur’s reconcilers can park an object on.

Adding a gate to a reconciler means adding a row here; the CLI picks it up with no change, which is the whole point (#359). A condition that merely reports health (IndexBlobHealth, BackendReachable, SecurityContextCompatible) is NOT a gate — it blocks nothing — and a time-bounded wait (SourceStaged, PreflightFailed) is not one either, because it resolves itself into a terminal phase on its own.

Most rows are phase-INVISIBLE parks (the object sits at phase: Pending looking unremarkable), which is what makes the registry load-bearing. One row — REPOSITORY_READ_ONLY_GATE — is phase-visible and registered anyway, for the explanation it adds to an already-visible failure.

Each row is also a named const so a reconciler can write its condition FROM the row (io::upsert_gate) instead of restating the triple at the call site. A row nobody writes, or a writer nobody registered, is caught by the controller’s every_registered_gate_has_a_writer drift test.