Reconcile shared definitions, founding staff and principals on deploy
What It Does
Publication has three stages and two storage boundaries. Prepared catalog changes are not current; staged route requirements are visible; activation commits the catalog before switching the registry.
The Flow
The diagram separates the relevant success, alternative and failure paths. The numbered hop rows retain the detailed authority checks, delegated work and retry limits.
When Something Fails
The storage gap can leave catalog and active registry on different releases. Repeating activation is the intended convergence path, but failure/recovery proof remains a finding. Unchanged built-in versions do not imply that every deployment step writes nothing.
Immutable releases reject conflicting content. Staging preserves an already active release. Activation always invokes catalog commit before checking whether registry state changed; unchanged registry activation skips flushing, and unchanged built-in content preserves its version.
Catalog reconciliation transacts within Postgres, but route-registry activation uses a separate store afterward. During staging the authorizer reads active and staged requirements and applies both to shared routes. There is no atomic transaction across catalog and registry.
Open Design Questions
The recorded findings retain any stronger planning expectation, missing writer or unproved recovery path. Observed behavior does not approve those outstanding product choices.