3f54d7c7ea
Same restoration as the pypi wrapper, same reasoning: serialization of concurrent publishers, killed-publisher reconciliation via locked readiness, the crash-phase matrix, and multiply-linked-leaf rejection are properties of the LOCK design, not of how many files publish. Adaptations for one file: the mid-publication pause hooks the binary rename itself (the runtime lock is held until publish returns, so the serialization property is exercised exactly as before); the "partial sidecar publish" crash phase is gone with the sidecars; backup-member expectations drop to the single member, including cleanup-interrupted leaving 0 rather than 1; and the hardlink-rejection guard now targets the binary leaf. go vet + gofmt clean; full Go suite ok including the restored TestConcurrentRuntimePublishersAreSerialized, TestKilledRuntimePublisherIsReconciledByLockedReadiness (5 crash phases), TestRuntimePublicationCrashHelper and TestRuntimeReadinessRejectsMultiplyLinkedLeaves. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>