No verb for a member whose work is durably pushed but not landed #45
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. This one has a first-hand reproduction below.
Observed
A member held a 2.2 GiB worktree whose three commits were all present on
origin/<branch>, with an open upstream PR that had not moved in seven days and a branch 60 commits behindorigin/main. The local worktree was pure cache — every byte recoverable from the remote.member remove-landedcorrectly refuses: the work is not landed. There is no other removal verb — v0.9.0 offersadd,preflight,claim,boundary,remove-landed.task finishrefuses while the member is declared.What I actually had to do
Step two is hand-editing the registry, which
protocol.mdexplicitly forbids: "Never silently infer, manufacture, or repair registry state." Between step one and step two the task was in a protocol violation —presence: declared member path is missing— with no supported way back except finishing the removal by hand.The alternative is to keep 2.2 GiB of recoverable cache indefinitely, which is what the absence of a verb actually encourages.
Proposal
A
member park(ordetach) that proves the member is clean, proves every member commit is reachable from a remote-tracking ref, removes the worktree, and either drops the member entry or marks it parked with enough recorded state to re-add it.Its proof obligation is stronger than
remove-landedin one axis — remote reachability rather than local landing — and weaker in another, so it is a genuinely different predicate rather than a flag on the existing one.