Restore BSC catch-up with bounded canonical header batches #57

Merged
PlasticDigits merged 4 commits from fix/voting-36-43 into main 2026-10-14 11:29:13 +00:00
Owner

The live BSC ledger remains behind because production waits12 seconds between32-block chunks and fetches every historical header sequentially. This leaves canonical readiness503 while Terra and registration processing are healthy. Fetch at most eight checked headers concurrently from one pinned provider, preserve requested order, drain failed batches before failover, and retain the end-hash/finality/atomic accounting checks. Production uses a1000ms poll interval and providers whose fresh header/log/balance capabilities passed from the deployment network.

The release also records actual proxy quota proof (200/200/429 with forged forwarding headers, correlated errors and Retry-After recovery), constrains forwarding trust to the observed10.0.17.2/32 ingress with one API instance, and updates liveness/readiness, matching-height balance and third-party agent documentation.

Validation: complete fresh PostgreSQL-backed Rust1.88.0 release suite, schema validation for every declared API operation,146 frontend tests, production build, nginx and Gitleaks. Delayed32-header HTTP regression improves1596ms to344ms; wrong interior number/hash tests leave all accounting/checkpoint/history state unchanged, then verify complete-source failover and exactly-once replay. Four shared canonicalization fixtures also match the deployed API. Live catch-up/deployment acceptance follows this merge; issues36–43 remain open until all criteria pass.

Related #36 #38 #39 #41 #42 #43. Evidence and invariant links: docs/verification/2026-10-14-issues-36-43.md, docs/verification/2026-10-14-bsc-provider-capabilities.json, docs/verification/2026-10-14-live-proxy-quota.json, docs/LEDGER_INVARIANTS.md and skills/AGENTS_LEDGER_HARDENING.md.

The live BSC ledger remains behind because production waits12 seconds between32-block chunks and fetches every historical header sequentially. This leaves canonical readiness503 while Terra and registration processing are healthy. Fetch at most eight checked headers concurrently from one pinned provider, preserve requested order, drain failed batches before failover, and retain the end-hash/finality/atomic accounting checks. Production uses a1000ms poll interval and providers whose fresh header/log/balance capabilities passed from the deployment network. The release also records actual proxy quota proof (200/200/429 with forged forwarding headers, correlated errors and Retry-After recovery), constrains forwarding trust to the observed10.0.17.2/32 ingress with one API instance, and updates liveness/readiness, matching-height balance and third-party agent documentation. Validation: complete fresh PostgreSQL-backed Rust1.88.0 release suite, schema validation for every declared API operation,146 frontend tests, production build, nginx and Gitleaks. Delayed32-header HTTP regression improves1596ms to344ms; wrong interior number/hash tests leave all accounting/checkpoint/history state unchanged, then verify complete-source failover and exactly-once replay. Four shared canonicalization fixtures also match the deployed API. Live catch-up/deployment acceptance follows this merge; issues36–43 remain open until all criteria pass. Related #36 #38 #39 #41 #42 #43. Evidence and invariant links: docs/verification/2026-10-14-issues-36-43.md, docs/verification/2026-10-14-bsc-provider-capabilities.json, docs/verification/2026-10-14-live-proxy-quota.json, docs/LEDGER_INVARIANTS.md and skills/AGENTS_LEDGER_HARDENING.md.
Fetch and validate range headers in bounded eight-task batches on one provider, drain failures before whole-observation failover, and sort hashes before publication. Preserve network, finality, emitter and pre/post canonical checks while removing per-header duplicate chain queries. Add measured delayed HTTP and atomic negative/failover regressions, classify safe RPC codes, and document one-second production polling and current readiness semantics.
docs: record complete catch-up release and live capability evidence
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
481f545d6b
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
code/voting!57
No description provided.