fabro/docs/public
Scott Werner 14584bbc32 Reject bare provider names and unknown unpinned selectors
Fabro's shared resolver passed any unknown bare selector through verbatim
to the highest-priority ready provider. A provider name in the model field,
such as `gemini`, is not a catalog model, so it took that path and reached
Anthropic with wire model `gemini`. The same path turned any typo into a
request on whichever provider happened to win priority.

An unqualified unknown selector is now an error. Passthrough of an
uncatalogued model id still works, but only with a provider pin, which is
also how the operator docs already described it. A bare provider name gets
a dedicated error that names the provider and says to pin it and omit the
model to use its default.

The completions endpoint returns that error as a 400 before any provider
call; the models lookup returns it as a 404. Session creation keeps its
own provider-name message and no longer passes unknown unpinned names
through either. The OpenAPI description of `CreateCompletionRequest.model`
no longer advertises a provider id as a selector, and the TypeScript client
is regenerated from it.

Closes #950 by rejecting the input rather than resolving it: a provider
name in the model position is ambiguous with model aliases, and no
comparable library resolves it to a provider default.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-20 13:16:51 -04:00
..
administration Remove early-access banner from server docs 2026-10-06 16:16:58 -04:00
agents Adopt Petri skill expansion boundaries 2026-10-14 17:34:34 -04:00
api-reference Reject bare provider names and unknown unpinned selectors 2026-10-20 13:16:51 -04:00
changelog Remove unsupported workflow playground 2026-09-03 12:04:35 -04:00
core-concepts Reject bare provider names and unknown unpinned selectors 2026-10-20 13:16:51 -04:00
examples Let a node execute max_visits times before the cycle guard fires 2026-08-05 21:01:53 -04:00
execution Restore graph-wide stall watchdog in Fabro execution 2026-10-14 11:20:00 -04:00
getting-started refactor: rationalize server secret scopes (vault-only for optional int… (#401) 2026-05-25 17:26:01 -04:00
human-tools fix(config): disable Slack unless configured 2026-06-02 18:41:36 -04:00
images Add system resources settings page (#328) 2026-05-20 17:22:53 -04:00
integrations Move stage credentials to Petri's spawn env and let the managed token win 2026-10-05 19:26:08 -04:00
languages refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
logo refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
reference Remove early-access banner from server docs 2026-10-06 16:16:58 -04:00
tutorials refactor(graphviz): parse node classes in one place 2026-07-29 22:15:30 -04:00
workflows Build the run's display graph from Petri's admission 2026-09-19 11:41:58 -04:00
.mintignore refactor(docs): move .mintignore into docs/public and update skill paths 2026-04-27 07:29:59 -07:00
docs.json Fix the Mintlify docs deployment 2026-09-28 17:26:49 -04:00
dot-highlight.js refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
favicon.svg refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00