Level master with develop (CI green) - #7
Merged
Merged
Conversation
Findings adjudicated in the 2026-08-15 xchain-platform review round. Every claim was re-checked against current code and every remedy was re-derived rather than applied from the finding's recommended option; each verdict then passed an adversarial verify stage before booking. Findings: #4830 test-quality: sleep-flake in xchain-decoder (6) #4855 Stale 'not part of any consensus hash' comment on getFirstBlock contradicts the 2026-08-06 #4930 DISPENSER EXPIRATION: decoder rejects values above 4294967295 that the indexer accepts, sil
verifyReorg's mid-walk tip refresh accepted a refreshed node tip after only the chain-tier gate. A same-tier foreign endpoint (BTC-mainnet and DOGE-mainnet both report chain="main") reached via NODE_URL_FALLBACK failover could then have its block height accepted as nodeTip and drive deleteBlockByIndex over valid local blocks. Gate the tip acceptance on verifyChainGenesis() too, matching the main poll loop's dual gate: on a proven block-0 mismatch keep the call-time tip and fall through to sleep-and-retry (the recoverable direction). Adds regression coverage for the foreign-endpoint refusal and the agreeing- endpoint self-heal, and updates the wiring test to assert the dual gate.
With no ref, actions/checkout fetches the sibling repo's DEFAULT branch, which D7 (2026-08-14) keeps at master (released code). Develop CI was therefore comparing develop code against master siblings, which held only while master stayed leveled with develop; the LIST-memo lane diverging develop across xchain-indexer/sdk/explorer turned every cross-repo gate red (drift-guards both directions, explorer schema canary). Same idiom as the .ci-siblings SIBLINGS_REF blocks; the venue push gate already ships siblings at the pushed branch (XC-1494). XC-1519.
The pre-push venue gate ran npm run ci, one of the four jobs ci.yml fans out on GitHub, so a push could gate green locally and go red upstream on drift-guards, docker-suites or coverage. bin/ci-full.sh transcribes every job's run-steps in job order, fails loud on a missing sibling or a dockerless venue instead of skipping, and reports every red tier. .ci-timeout raises the gate ceiling to 5400s (docker-suites alone is allowed 30m on GitHub). When ci.yml gains or changes a job, ci-full.sh changes in the same commit. XC-1520.
…it [XC-1521] The AML gap board flagged boundary as a test type existing on disk with no npm script running it. The 83 cases are ALREADY gated: they sit under test/unit/boundary/ and ci:unit's glob picks them up, confirmed by running it and finding all four boundary suites in the output. So this adds test:boundary to name the type and deliberately does NOT chain it into ci, because a ci:boundary stage would re-run 83 already-gated cases for no extra coverage. The finding is real as a naming gap and cosmetic as a coverage one, and this commit says so rather than manufacturing a stage.
Findings adjudicated in the 2026-08-16 xchain-platform review round. Every claim was re-checked against current code and every remedy was re-derived rather than applied from the finding's recommended option; each verdict then passed an adversarial verify stage before booking. Findings: #5061 test-quality: sleep-flake in xchain-decoder (5) #5078 Decoder migration runner lacks the backdating-frontier ordering guard the indexer runner enforces Report: claude/reports/2026-08-16_review-round-xchain-platform.md
Replaces the inline sibling-checkout script with the composite action published in the organization .github repo, so one definition serves every call site instead of ten copies that had drifted apart.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Levels master with develop so master carries the comment-hygiene cleanup (internal work-tracking references removed from comments and test labels).
Routine leveling, same shape as the previous one. The diff is develop's accumulated work; CI is green on develop at this SHA.