Skip to content

feat(providers): add Yolo-Auto compatible host - #6408

Open
harryvgiunta wants to merge 10 commits into
Hmbown:mainfrom
harryvgiunta:feat/yolo-auto-compatible-host
Open

harryvgiunta wants to merge 10 commits into
Hmbown:mainfrom
harryvgiunta:feat/yolo-auto-compatible-host

Conversation

@harryvgiunta

@harryvgiunta harryvgiunta commented Sep 23, 2026 •

Copy link
Copy Markdown

Refs #6289.

Adds Yolo-Auto as a bundled compatible-host descriptor on the existing named custom-provider path. Users can select it through the provider picker/setup with YOLO_AUTO_API_KEY, the https://yolo-auto.com/v1 Chat Completions endpoint, and qwen3.8-flash as the bootstrap model. Authenticated /models discovery remains the model authority; no new ProviderKind or compiled model roster is introduced. The descriptor values match the vendor's API documentation, read during review.

Billing stays Unknown. Public subscription terms and an endpoint URL do not identify the product or plan behind a configured credential, so this change does not label the route free, no-bill, or a verified subscription. The pricing omission ledger records that limitation.

This preserves @harryvgiunta's original PR and commits. Current main was merged normally; its Tsubasa descriptor, documentation and pricing evidence are retained alongside Yolo-Auto. The combined compatible-descriptor inventory is nine. Contributor credit is recorded under Unreleased in the existing ledger, changelog/TUI mirror and website surface. The required candidate-credit list also includes @harryvgiunta.

The provider table retains all three example model IDs and omits the unsupported shared paid label. The official model documentation, checked on 2026-09-29, labels yolo as paid but does not attach that label to yolo-small. This documentation correction changes no descriptor or billing metadata.

Validation: the provider descriptor and both pricing coverage files are byte-identical to the previously qualified contributor source (4 config tests and 3 TUI descriptor/pricing tests passed). The current head merges main b66b4ab normally and resolves only the candidate-credit conflict by retaining both @harryvgiunta and @wuisabel-gif. All original contributor commits remain ancestors.

On the current merged tree, npm test passed 670 tests (68 + 16 + 50 + 536), with 0 failures or skips; npm run check:web passed. Contributor-credit and diff checks passed. No Rust rerun was needed for the credit-only merge resolution. These local checks do not qualify a live provider account; no authenticated provider call was made. All hosted checks must pass on the new head before merge.

@github-actions

Copy link
Copy Markdown
Contributor

Thanks @harryvgiunta for taking the time to contribute.

This repository is observing a maintainer-managed PR intake gate in dry-run mode, so this pull request is staying open. This note helps maintainers prepare the allowlist before any enforcement is considered.

Please read CONTRIBUTING.md for the expected contribution shape. A maintainer can grant recurring PR access by commenting /lgtm on a pull request.

@harryvgiunta
harryvgiunta force-pushed the feat/yolo-auto-compatible-host branch from d1112ad to f0805c3 Compare September 23, 2026 01:59
@harryvgiunta

Copy link
Copy Markdown
Author

Gate acknowledged. Rebased onto current main (6c8f242) and reshaped the description to the PR template. Per the pre-push section I also ran the strict release-form clippy (--all-targets, CI allow list): config crate clean; the tui findings are all in files this PR does not touch and are listed honestly in the Testing section rather than reported as green. Single-purpose change: one descriptor row, one inventory entry, one docs row, one count assertion. Happy to hold until the allowlist decision; no action needed from maintainers beyond /lgtm if it is granted.

Yolo-Auto is a flat-rate OpenAI Chat Completions gateway, so it is a
data-driven descriptor row rather than a ProviderKind variant: the wire is
ordinary Chat Completions and offerings come from live GET /v1/models.

The row ships endpoint, credential env, and a bootstrap model only, which is
the same shape every other compatible host uses. Model ids stay out of the
compiled catalog by design.

Billing: the gateway sells subscription tiers and publishes no per-token
catalog, so the route classifies as Unknown and is recorded in the reviewed
omission inventory rather than guessed into a plan surface. Compatible-default
breadth moves 7 -> 8.
@harryvgiunta
harryvgiunta force-pushed the feat/yolo-auto-compatible-host branch from f0805c3 to 26de52a Compare September 23, 2026 14:52

@Hmbown Hmbown left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wow I hadn't heard of this before — thank you!

Hmbown and others added 4 commits September 28, 2026 19:57
Yolo-Auto's docs (https://yolo-auto.com/docs, 2026-09-28) tell new users on
free and paid plans to start with qwen3.8-flash; `yolo` and `yolo-small` are
paid-only per /models. The picker's descriptor form fills in default_model,
so a free-plan user set up from /provider would have started on a paid alias
whose server-side target can change.

- default_model yolo -> qwen3.8-flash, and add the verified docs_url so the
  setup form links the vendor's docs like the other rows.
- Reviewed-omission route row follows the new bootstrap model; it stays in
  unknown_billing_basis (same shape as DashScope's qwen3.8-flash row).
- PROVIDERS.md row marks yolo / yolo-small as paid; the zh_hans host list
  now names Yolo-Auto too.

Tests (local): cargo test -p codewhale-config --lib descriptors
  -> test result: ok. 3 passed; 0 failed
cargo test -p codewhale-tui --lib -- pricing::default_coverage_tests
  provider_picker::tests::descriptor -> test result: ok. 2 passed; 0 failed
cargo test -p codewhale-tui --lib -- every_bundled_descriptor
  a_configured_descriptor activating_a_descriptor picker_lists_all_providers
  diagnostics_list_and_read_bounded_windows -> test result: ok. 5 passed; 0 failed
scripts/check-provider-registry.py -> passed

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ZwqatxgVFxHvovngywnks
The contributor-credit gate flagged the PR's commit author twice (display
name and login) because no AUTHOR_MAP entry mapped harryvgiunta@gmail.com.
Map both aliases to the numeric noreply identity (GitHub id 37885714, checked
with gh api), and credit Hmbown#6408 in the v0.10.1 band of docs/CONTRIBUTORS.md,
RELEASE_CONTRIBUTORS and requiredCandidateCredits.

CHANGELOG.md's 0.10.1 Contributors block is left to the release commit on
main; until that bullet lands, check-contributor-credit.py and the two web
credit-parity tests report only CHANGELOG.md. With the bullet applied
locally: check-contributor-credit.py v0.10.0 -> "Every contributor in the
window is credited on all three surfaces."; vitest lib/public-copy.test.ts
lib/public-surface-contract.test.ts -> Tests 18 passed (18).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ZwqatxgVFxHvovngywnks
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ZwqatxgVFxHvovngywnks

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 2 potential issues.

Devin Review

Comment thread CHANGELOG.md Outdated

### Contributors

- **[@harryvgiunta](https://github.com/harryvgiunta)** — added Yolo-Auto as a bundled OpenAI-compatible host, starting on the vendor's recommended `qwen3.8-flash` model ([#6408](https://github.com/Hmbown/Codewhale/pull/6408)).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 Changelog entries belong at merge time

The contribution guide reserves changelog edits for main at merge time. Both changelog additions in this branch conflict with that workflow.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

"wire": "openai-compatible",
"base_url": "https://yolo-auto.com/v1",
"api_key_env": "YOLO_AUTO_API_KEY",
"default_model": "qwen3.8-flash",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 PR summary names an outdated bootstrap model

The PR summary still calls yolo the bootstrap model. The descriptor now starts on qwen3.8-flash, so the summary needs an update.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

Hmbown and others added 5 commits September 29, 2026 03:03
Preserve harryvgiunta original PR Hmbown#6408 history. Keep main Tsubasa and original Yolo-Auto descriptor, documentation and Unknown-billing rows together; the combined compatible descriptor breadth is nine. Preserve existing candidate credits. Unverified integration checkpoint: focused provider/pricing and mandatory web gates remain pending, and published-release credit placement still needs correction.
Preserve harryvgiunta's original PR Hmbown#6408 and AUTHOR_MAP identity. Move
the unshipped provider contribution out of the published 0.10.1 credit
record into Unreleased in the canonical ledger, changelog/TUI mirror and
existing website contributor list.

The preceding ordinary main merge preserves both Tsubasa and Yolo-Auto,
including their distinct Unknown-billing evidence, with a combined
compatible-descriptor breadth of nine. The original Yolo descriptor is
unchanged and uses the shared named-custom-provider execution path.

Verified on frozen source with coordinating-root logs:
- Config descriptor tests: 4 passed, 0 failed.
- TUI pricing/descriptor-picker tests: 3 passed, 0 failed.
- npm test: 636 passed (68 + 16 + 50 + 502), 0 failed.
- npm run check:web: passed, including 839 generated pages.
- Provider registry, changelog mirror, contributor credit (7), formatting,
  and diff checks passed. Existing descriptor rows and pricing buckets
  were independently compared; no existing row was dropped or changed.

The initial TUI invocation had an argument error before compilation;
the corrected invocation ran all three named tests. Logs are
/private/tmp/cw-6408-{config,tui,npm,web}-root.log.
No provider request was made. New-head hosted CI remains required.
Remove the unsupported shared paid label without changing descriptor or billing metadata. Preserve the original contributor provider integration.

Validation: npm test 636 passed, 0 failed; npm run check:web passed including 839 generated pages. Rust source is unchanged from the prior reviewed provider head.
Signed-off-by: Hunter B <hmbown@gmail.com>
Preserve harryvgiunta's original PR Hmbown#6408 history at 5d523f5
and merge main b66b4ab normally. Resolve only the candidate-credit
list conflict in docs/public-surface-facts.json by retaining both
@harryvgiunta and @wuisabel-gif. Existing Unreleased and release credits
remain on their existing surfaces; no version or release claim changes.

The provider descriptor and both pricing coverage files are byte-identical
to the original PR head. The cumulative contribution remains 11 paths,
40 insertions and 5 deletions against merged main. Fleet's published
fix/fleet-cli-boundary-test branch remains at 0f48161.

Verified on the unchanged staged tree fda873a by the coordinating
root runner:
- npm test: 670 passed (68 + 16 + 50 + 536), 0 failed, 0 skipped.
- npm run check:web: passed.
- Contributor-credit check: passed, 7 contributors found in history window.
- Diff check against merged main: passed.

The first sandboxed npm attempt failed two loopback fixtures with
listen EPERM; the unrestricted root run above passed both. Logs:
/private/tmp/codex-6408-main-root-{npm,web}.log.
No Rust build or provider call was performed for this credit-only merge
resolution. New-head hosted CI remains required before merge.

Signed-off-by: Hunter B <hmbown@gmail.com>
Resolved conflicts only in CHANGELOG.md, crates/tui/CHANGELOG.md,
docs/CONTRIBUTORS.md and web/lib/release-credits.ts by keeping both the
@harryvgiunta and @SparkofSpike entries.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ZwqatxgVFxHvovngywnks

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants