feat(run): pass --docs-check to selat-pay for --allow-unlisted pins - #180
Merged
Conversation
Unlisted pins have no catalog terms and no vetting — the merchant's own published docs (llms.txt / openapi.json) are the only request contract there is, and merchants in this class can capture payment BEFORE validating the body (observed: api.auto.exchange, three charges settled on Tempo then 400'd on 'input' vs the documented required 'prompt', 2026-09-04). With --docs-check, selat-pay resolves those docs pre-sign and refuses a body missing a documented-required field. Ships with the selat-pay release that adds the flag (older selat-pay rejects unknown flags) — land after that release and bump the dep pin in the same change. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The run command now passes --docs-check for --allow-unlisted pins; selat-pay <=0.9.14 rejects unknown flags, so this pin is the compatibility floor. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
SELAT-DEV
marked this pull request as ready for review
September 4, 2026 07:50
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.
Problem
Unlisted pins have no catalog terms and no vetting — the merchant's own published docs (llms.txt / openapi.json) are the only request contract there is, and merchants in this class can capture payment BEFORE validating the body. Observed 2026-09-04 on api.auto.exchange via
selat run --allow-unlisted: three MPP charges settled on Tempo, then the handler 400'd oninputvs the documented requiredprompt— $0.004581 lost with nothing pre-sign to catch it.Change
selat runnow appends--docs-checkto the validated selat-pay argv for--allow-unlistedpins (exportedwithDocsCheckhelper: unlisted-only, idempotent, never emitted for catalog picks). With the flag, selat-pay resolves the merchant's published docs pre-sign and refuses a body missing a documented-required field — see SELAT-AI/selat-pay#76 for the gate itself.--allow-unlistedhelp text documents the behavior.Merge ordering
Draft until SELAT-AI/selat-pay#76 releases.Resolved: selat-pay v0.10.0 is on npmlatest; the dep pin here is bumped to^0.10.0and the bundled selat-pay accepts--docs-check. Ready to merge.Tests
New
withDocsCheckseam test (appended for unlisted pins only, idempotent); suite 543/543.🤖 Generated with Claude Code