delegation-and-review §1: labels are routes, listings are claims - #56
Merged
Merged
Conversation
Two traps in wrapper-CLI model routing: (1) a wrapper's model strings are internal routing names, not provider API IDs — pasting them into direct API calls or quota lookups queries a name that may not exist; (2) a model listed in a lineup is not proven callable — a listed entry failed hard on first invocation, the second such ghost across two independent tools. Rule: invoke once and see output before building on a listed model. Ships unprobed with Provenance per the covenant.
…l review PR F-e-u-e-r#56 round-1 gate (grok-4.5 high: FIX 1; gpt-5.6-sol max: FIX 1,2,3). All reproduced and addressed: - the two boundaries split with their own state triggers and checks; the provider-ID half gains its executable stop (resolve the mapping against the provider's own ID list before crossing namespaces) - wrapper invocation proves nothing provider-side (grok F1 / codex F1) - callability success defined as an attributable model response through the same wrapper and execution context the work will use; failure leaves the route unverified, no dependent dispatch, S4 ladder governs; pass is session-scoped per the adjacent volatility rule (codex F2) - pos example added covering both boundaries separately (codex F3) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhLu6NCGzM9HxnqNb87MAx
PR F-e-u-e-r#56 round-2 gate (grok-4.5 high: FIX 1; gpt-5.6-sol max: FIX 1,2,3,4,5,7). All reproduced and addressed: - callability pass operationalized: fixed trivial prompt through the same wrapper/flags/auth/context, pass = a model ANSWER naming the route where the wrapper reports one; banners/diagnostics/errors are not answers; silent-fallback wrappers prove reachability only, said so (grok F1 / codex F2) - provider-ID half: mapping resolved from the wrapper's OWN config/ docs/trace, then the RESULTING ID validated with the provider - same- spelling existence proves nothing (alias collision); unresolved mapping blocks the crossing (codex F1) - second neg example pins the alias-collision boundary; pos example demonstrates authoritative mapping evidence (codex F3) - provenance probe debt split per boundary; marker stands until both run (codex F5) - PR body summary to be aligned to the attributable-answer criterion (codex F4); body audit-claim nits folded there too (codex n6) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhLu6NCGzM9HxnqNb87MAx
…(codex r2 F5 follow-through) The prior commit's provenance edit failed to apply (string mismatch) while the bullet edit landed; this completes it: two probes owed, one per boundary, marker stands until both run. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhLu6NCGzM9HxnqNb87MAx
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.
What
Adds one rule to delegation-and-review §1: labels are routes, listings are claims — a wrapper CLI's model strings are its internal routing names, not necessarily provider API IDs, and a model's presence in a lineup listing does not prove it is callable; verify by a fixed trivial prompt whose pass is an attributable model answer (not just output) before building on it, and resolve alias-to-provider-ID mappings from the wrapper's own config before any namespace crossing.
Why
Two private incidents in one contributor's subordinate tooling: a lineup-listed model failed hard on its first real invocation (the second such ghost entry observed across two independent tools), and a session caught itself about to treat a wrapper's model strings as provider API IDs for a quota lookup. Both halves are cheap to guard (one invocation; one moment of doubt before pasting a string into a provider API) and expensive to miss (routing a batch to a ghost; querying quota for a model that doesn't exist under that name).
Covenant status
unprobed, private incidents cited as shape per the README covenant's second branch; Provenance names the unrun probe (invoke every listed model, diff claimed-vs-callable) as debt.Checks
Single-file diff (grown across review rounds; see trail comment). Added-lines unicode sweep: only house-style chars (§ — ❌).
python3 .github/checks.py: all checks passed.Note: this and the recurring-sweep-ledgers PR both touch delegation-and-review; whichever merges second needs a trivial rebase.