Fixed
A missing PoM possession proof is a transient condition — the block stays valid and enters as soon
as any peer serves it proof-carrying. Two paths treated it as a permanent failure instead:
- Relay flow — the peer that relayed the block was disconnected. Since the check also ran on
ancestors pulled from the orphan pool, the disconnected peer was often not the one that had
served the proofless block, so a single propagation hole cost connections across the whole
peer set. - Unorphaning — the block was dropped with a validation warning and never retried, even though
the node had a working re-fetch path available.
Both now queue the block for proof re-fetch and keep the peer. Real invalidities still disconnect.