--allow-unlisted passthrough for pinned URLs outside the catalog - #178
Merged
Conversation
…atalog Companion to selat-discovery's synthesizeUnlistedPin: selat run --endpoint <url> --allow-unlisted forwards the opt-out to rank.mjs. Parse-time guard refuses the flag without --endpoint; rankPickArgv never emits it without a pin, so an intent-driven run cannot widen into unlisted territory. The not-in-catalog refusal now names the flag. Every spend guard is unchanged: the flat $0.10 no-price default cap, --max-amount last-wins under the $1 hard ceiling, validate-before-sign, and Circle policy caps. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
SELAT-DEV
pushed a commit
that referenced
this pull request
Aug 29, 2026
Ships --allow-unlisted (#178): selat run --endpoint can pin an https URL no federated catalog lists, behind an explicit per-call flag. Bumps @selat-ai/selat-discovery to ^0.24.8 (the synthesizeUnlistedPin contract and unlisted reliability probing). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Why
Companion to selat-discovery
feat/allow-unlisted-pin(synthesizeUnlistedPin + reliability-probe eligibility):selat run --endpoint <url>refuses URLs outside the federated catalog, which the 2026-08-29 sweep measured at 32% of real router-settled demand. The supported buyer path is selat-cli + the plugin; this PR forwards the explicit opt-out so that path can pay what the router already serves. PRD:selat-allow-unlisted-prd.md.What
selat run --endpoint <url> --allow-unlistedforwards the opt-out to rank.mjs. Guards that make the flag safe to offer:--allow-unlistedwithout--endpointis an error — the flag applies to one pinned URL or nothing.rankPickArgvnever emits the flag without a pin, so an intent-driven run cannot widen into unlisted territory (pinned by test).endpoint-not-in-catalogerror now names the flag ("Pass --allow-unlisted to pin it anyway — live 402 supplies the terms; spend caps still apply").unlisted: truein--jsonoutput) instead.--max-amountlast-wins under the $1 hard ceiling, validate-before-sign, Circle policy caps.Help/usage text updated;
KNOWN_RUN_FLAGSgains the flag.Testing
4 new tests (
test/run-allow-unlisted.test.mjs) pinning the parse, the argv seam (present with a pin, absent without, defensive drop when set without a pin), and the refusal message. Full suite: 536/536.Notes
unlistedmarker — that needs a small selat-pay flag with an ordering-safe rollout (selat-pay parser first, discovery hint second); deferred to the next selat-pay release, documented in the PRD.🤖 Generated with Claude Code