Fix shared overlay lookup recovery and failure reporting - #511
Draft
BraydenLangley wants to merge 11 commits into
Draft
Fix shared overlay lookup recovery and failure reporting#511BraydenLangley wants to merge 11 commits into
BraydenLangley wants to merge 11 commits into
Conversation
|
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.



Program and scope
LookupResolver, soquery,queryDetailed,query$andqueryReliableshare recovery, bounded fresh discovery, deadlines, cancellation and scoped advisory reputation for every overlay service. Keep service-specific proof validation and KV write/UI helpers in the optional KV entrypoint.1cd0182f7b941613507bb5855d3fee028039cd4c.Impact
@bsv/sdk, proposed 3.0.0, plus compatible patch releases for its 31 first-party peer consumers. Exact versions are listed in the generated package migration table.query()now throws retryableLookupUnavailableErrorfor incomplete empty results. Detailed and progressive calls expose completion evidence. Every selected host remains eligible during cooldown; discovery is refreshed per operation. Defaults are a 5-second total budget, 2-second host budget, 32 hosts and bounded responses. These default-contract changes require a major release and coordinated consumer adoption. See the migration guide.Verification
pnpm health:check,pnpm lint,pnpm format:check,pnpm typecheck; SDK coverage/property, packed artifacts and browser recovery; wallet browser/mobile contracts; docs tests/build; conformance and security audit. All passed. Workspace package, browser and dependent test runs also passed; builds were completed before consuming their artifacts.Security and dependencies
Dependency evidence
governance/repository-health/exceptions.json.parse()and its Node >=20 requirement fits the workspace Node >=24.11 contract. Webpack's existing optional TOML peer permits 4.x. SDK tests use existing workspace puppeteer-core 25.4.0 and fake-indexeddb 6.2.5 versions as development dependencies. The latter tests transactional persistence without entering runtime bundles.Release and operations
Completion evidence
Review entry points: design, validation, the shared resolver regressions, and KV contract tests. The PR remains draft for the author’s review.