mirror of
https://github.com/gastownhall/beads.git
synced 2026-09-14 20:17:24 +08:00
d1e725d9f3
Adversarial review of the previous commit refuted three of its claims: F1 (HIGH) "a heartbeat never re-homes a foreign lease" is false on a reachable path INSIDE the function the comment annotates: the ga-v2k49 disambiguation fallback fires when the lease row spells the holder differently, re-arms through UpsertLeaseInTx, and its ON DUPLICATE KEY UPDATE stamps the local node over the foreign one (reviewer confirmed it against embedded dolt). The invariant is a property of the fast path, not of the lease row; say so, and name the fallback. F2 (MED) RestoreLeaseOnImportInTx takes granted_node from the snapshot when the local row is EXPIRED, so an import can relabel this node's own stale lease with a remote name — a third stranding state the enumeration missed. F3 (MED) the prose named only bare --any-replica, which reverts EVERY foreign stale lease including live peers'. All three sites (summary line, federation.md, reclaim --help) now name the narrow levers first: --any-replica --id <id>, or bd unclaim --force <id>. Also F5/F8 (LOW): -v shows the first foreignSkipDetailRows, not "the individual leases" — the summary and both doc sites now say so.