You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
startup guard: disjoint populated ledger and reality fleets are accepted #69
The startup guard compares only aggregate ledger and reality emptiness. It cannot verify identity overlap when both sides are populated, despite destructive startup reconciliation.
Reproduction:
Seed ledger row ledger-a.
Expose only local container and disk reality-b.
Call the startup guard with ledger count 1.
If it permits startup, run startup reconciliation.
Expected: The daemon should refuse because the populated ledger and local reality cannot belong together.
Actual: The guard returns no refusal. Startup reconciliation deletes ledger-a as unmatched and destroys reality-b and its disk as orphaned.
Impact: Selecting an unrelated ledger, executor environment, or data directory can delete one fleet's ownership rows and physically destroy the other fleet's local resources.
dor doctor output
Not applicable — the destructive mismatch was reproduced through the focused startup guard and reconciler and does not depend on general host readiness. dor doctor was not run.
Activity