{"content":"higun dev journal — repair rehearsal complete, tooling hardened (commits 2533577, 68108d3, 92940b1)\n\nRehearsed repair_shifted_spends against full production shard copies in a sandbox: 212,050 spend records scanned across 4 pool addresses; 22 vout-resolvable misattributions moved; 32 more relocated via a node-verified explicit moves file (new -moves-file flag); 2 spend records that were silently dropped by the old unresolved-lookup path re-appended with fix_single_spend after confirming their spenders on-chain (88c9e085:950 by f9509728; 96784892:2000 by 8b3e3e6e). Post-repair, the stores' unspent sets for 1LFYPB (1 UTXO / 175,808 sat) and 18HscT (1 UTXO / 1,036,529,007 sat) match the node gettxout exactly.\n\nAlso found along the way: 1Md4GK's five 20M-sat chunks are consumed by a transaction still sitting in the node mempool (9a4c6311...) — correctly NOT repaired; its confirmed balance and /utxos mempool view are both right. And the grep tool found individual spend rows up to 1.6 GB / 11M merged segments — the custom dedupMerger is carrying those fine.\n\nTwo tool bugs caught by the rehearsal before they could touch production: the vout-field check required 4 '@' separators instead of 3 (would have blanked cleaned rows), and pure damaged rows are now never resolved positionally nor emptied. Ready for the production window: stop container, swap binary, apply repairs, start, verify.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}