member preflight: reachability conflates "not landed yet" with "landed then drifted" #42
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Environment: concord v0.9.0.
Observed
Fault kinds do exist in v0.9.0 —
preflight --jsonreturns{"kind": "dirty", ...}, andboundaryandreachabilityappear the same way. That part is fine.The problem is inside one kind.
reachabilityis emitted for both of these:Sweeping 7 members with in-flight work, all 7 produced
reachabilityfaults plusfound N fault(s) and 1 unproved member(s). Six were entirely normal. One was not: its commits existed on no remote ref at all. The output was identical.Why it matters
preflightreads as the natural "is this member OK?" command, and its name does not say "landed-removal gate only". Used for inspection it is close to pure noise, which trains an operator to ignore it — including on the member that deserved attention.Proposal
Split the predicate that already exists internally. The check knows whether it failed because the member HEAD is not an ancestor of the integration checkout HEAD versus because a previously landed member has diverged. Emit those as distinct kinds — for example
unlandedanddrifted— and leave the gate behaviour unchanged.Alternatively, keep
preflightas a pure gate and expose a separate read-onlymember status. Either resolves it; the first is cheaper.