Skip to content

Fix preserve owner records and other improvements - #84

Merged
buffrr merged 6 commits into
mainfrom
fix-preserve-owner-records
Aug 1, 2026
Merged

Fix preserve owner records and other improvements#84
buffrr merged 6 commits into
mainfrom
fix-preserve-owner-records

Conversation

@buffrr

@buffrr buffrr commented Aug 1, 2026

Copy link
Copy Markdown
Member

No description provided.

buffrr added 6 commits July 31, 2026 21:54
The per-space/per-handle velocity limits are meant to cap cheap off-chain
record churn (seq bumps). They were charged on every replacement, so a
daily batch finalizing all previously-issued temp handles hit space_rate
(100/min/space) and got silently dropped past the cap.
The sync-failure demotion (record_sync_failure demotes a verified peer to
unverified after 3 consecutive failures) was undercut because mark_alive
cleared the counter, and mark_alive runs on a /health success too. A peer
with a working /health but broken /sync had its count zeroed by every
health refresh, so it only demoted if 3 sync failures landed between two
refreshes — true for <=4 verified peers, false beyond that, leaving the
broken peer winning sync slots forever (the exact case the demotion
targets).

mark_alive no longer clears sync_failures; a new mark_synced (called only
on a real sync success) does. The health path keeps refreshing liveness
without masking a broken /sync. Test updated to prove a health success
does not reset the count and a sync success does.
@buffrr
buffrr merged commit 3ec200d into main Aug 1, 2026
3 checks passed
@buffrr
buffrr deleted the fix-preserve-owner-records branch August 1, 2026 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant