Skip to content

Distinguish discovery probes from payable search requests - #205

Merged
github-actions[bot] merged 1 commit into
mainfrom
ship/search-discovery-0915
Sep 15, 2026
Merged

github-actions[bot] merged 1 commit into
mainfrom
ship/search-discovery-0915

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Bare /search discovery advertised a fabricated discovery-only capability in its payment resource and Bazaar query example. Its non-executable warning appeared only in the JSON body, so clients reading the canonical PAYMENT-REQUIRED header could mistake it for a purchase request.

The discovery resource now omits the missing capability. The query schema requires a capability for the caller's task and labels fact-check as an example. All explicitly non-executable discovery challenges carry the warning and machine-readable flags in both header and body. A caller materializes its real input and obtains a fresh request-bound quote; incomplete payment-bearing retries still fail before settlement. Empty search results remain free.

Validation: 138 focused tests passed, covering header/body parity, x402 schema validation, a different caller-selected capability, distinct quote binding, incomplete-request rejection, empty results, payment identifiers and MPP compatibility. Full local suites passed 2,211 JSON and 2,212 SQLite cases; their sole loopback-permission failure passed separately with that permission. The protected workflow runs all required remote checks before merge and verifies deployment. The discovery catalog test now supplies an isolated real match instead of depending on test ordering for a paid search.

@github-actions
github-actions Bot merged commit 5385c26 into main Sep 15, 2026
40 of 41 checks passed
@github-actions
github-actions Bot deleted the ship/search-discovery-0915 branch September 15, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant