File Details
v0.28.8
- R
- Apr 23, 2026
- 272.09 KB
- 38
- 12.0.5
- Retail
File Name
GuildBankLedger-v0.28.8.zip
Supported Versions
- 12.0.5
GuildBankLedger
v0.28.8 (2026-04-23)
Full Changelog Previous Releases
- Add receiver-side sync redundancy metric (v0.28.8)
Adds a "Redundancy from <peer>" line to FinishReceiving with total dupes /
received plus item-vs-money split, and a running "X% dup" annotation on
per-chunk audit lines. Diagnostics-only — no protocol or behavior change.
Purpose: measure how often the bucket-filtered sync ships records the
receiver already has. SYNC_REQUEST hashes 6-hour buckets; any bucket whose
hash differs ships every record in it (sender Sync.lua:988-1029), so a
bucket with one new record can ship 50 redundant ones. The deferred v0.28.7
note flagged "367 dupes / 370 records = 99% redundancy" but we lacked the
metric to confirm it across other peer pairs.
Decision rule for the next protocol step (after a few real captures):
<30% redundancy → bucket filter is doing most of the work, skip;
30-70% → manifest-exchange protocol change worthwhile but not urgent;70% → prioritize manifest exchange, possibly with a 1h-bucket experiment.
Item-vs-money split tells us whether items, money, or both are the source.
Implementation: 4 new per-type session counters
(receiveItemStored/Duped, receiveMoneyStored/Duped) initialized in
RequestSync, accumulated per chunk in HandleSyncData, reset in
FinishReceiving teardown. Suppression: line omitted on empty syncs;
items/money segments individually omitted when their record type is absent.
Tests: 6 new tests cover mixed-dupes (50% items / 75% money), all-dupes,
all-new, empty-sync suppression, money-only segment omission, per-chunk
dup% annotation. 883 passing / 0 failing.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com