docs: provider-count single source of truth, RFC status sweep, adding-a-provider checklist - #193
Merged
Merged
Conversation
…-a-provider checklist - gen_providers_doc.py: count provider modules by exported typed surface (*Provider/*Config/*Model), which excludes the provider/provider_name/ replay/catalogue machinery without a hand-kept list; emit a Totals table (registry rows, per-category typed providers, grand total) into providers.md; add --check for CI (next to gen_provider_names.py --check) - True counts: 251 registry + 76 typed = 327 (README said both 329 and 325; PROJECT-OVERVIEW/API/reference/CONTRIBUTING carried stale numbers too) — every living doc now references providers.md instead of repeating a number; README states the total once with a date and a link - RFC status sweep: 0016/0020/0021/0022 DRAFT -> IMPLEMENTED (with landing PR refs; 0016 §7.2 M6/M7/M11/M12 struck through, landed via #99); 0005-rename 'pending execution' -> EXECUTED; missing status lines added to 0002/0003/0004/0005-protocol/0027-coverage; broken RFC-0031 links in 0009/0016 fixed (the RFC lives in docs/ai-sdk-request-pipeline.md) - New docs/contributing/adding-a-provider.md: the three-case checklist (registry row / new protocol / single modality), the generator rule and script retirement conditions; linked from README and CONTRIBUTING Closes #172, closes #173, closes #177, closes #182
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.
Bundles the four documentation-consistency issues from the #166 docs track into one PR (per maintainer decision; each is still individually closable).
#182 — RFC status lines
Verified every status against the code before writing it:
register_providerruntime overlay + FFI/Node/Python passthrough) — the sweep missed it. 0016's §7.2 had four stale open items (M6 proxy / M7 aggregation / M11 stream aggregation / M12 generateObject, all landed via feat(core): M11 streamText aggregation + M12 generateObject + M6 proxy + rawFinishReason #99) — struck through with evidence pointers.RFC-0031links in 0009/0016 were broken (the RFC lives atdocs/ai-sdk-request-pipeline.md, notrfc/) — fixed.#177 — one source of truth for the provider count
The count was wrong in both directions: README said 329 in two places and 325 in two others; PROJECT-OVERVIEW/API/reference/CONTRIBUTING carried more stale copies.
gen_providers_doc.pypreviously subtracted a hand-kept list of 2 machinery modules, soreplayandcataloguewere counted as providers. A module now counts iff it re-exports a typed surface (*Provider/*Config/*Model) — all four machinery modules drop out without a deny-list.providers.md(registry rows, per-category typed providers, grand total; section titles truncated to first sentence for the table).docs/internal/anddocs/quality-audit/keep their numbers untouched.#172 —
gen_providers_doc.py --checkin CI--checkmode matching thegen_provider_names.pypattern (compare generated text,STALE+ exit 1 on mismatch).contract-testsjob right next to the existing ProviderName drift check.docs/api/providers.mdregenerated once so the first run is green (verified locally:--checkpasses,gen_provider_names.py --checkstill green,ci.ymlparses).#173 — adding-a-provider checklist
New
docs/contributing/adding-a-provider.md, written against the current repo mechanics (all commands and paths verified):profileflags), both generators, cassette derivation viagenerate_thin_wrapper_cassettes.py(real OpenAI recordings, not fake data), roadmap note that Tracking: code reduction roadmap (providers, FFI, bindings, docs) #166 B2 replaces this with registry-iterating conformance.lib.rs, cassettes + conformance module, and the explicit warning that protocol providers are not name-addressable until Tracking: code reduction roadmap (providers, FFI, bindings, docs) #166 B1.serper.rs/lmnt.rsas references.--check), the provider-count rule, and the retirement conditions of every remainingscripts/tool per Tracking: code reduction roadmap (providers, FFI, bindings, docs) #166.Verification
python3 scripts/gen_providers_doc.py --check✅ (and--checkforgen_provider_names.pyunchanged ✅)ci.ymlvalid YAML; new step mirrors the existing oneprovider_registry.jsonpath and the#totalsanchors)