Repository navigation
fix: separate target credentials from mutation configuration - #125
Merged
Merged
Conversation
|
@Sonike is attempting to deploy a commit to the priyanshu's projects Team on Vercel. A member of the Team first needs to authorize it. |
Sonike
marked this pull request as ready for review
October 16, 2026 02:30
CodewithJha
approved these changes
Oct 16, 2026
CodewithJha
left a comment
Owner
There was a problem hiding this comment.
MERGE READY — root-cause fix for MUT-004/MUT-005 in load_llm_config_from_env, solid unit + health/CLI integration coverage, mutation checks fail when either guard is undone. Vercel fork auth ignored; GitHub Actions green.
Owner
|
Merged — thank you @Sonike. The env contract change is exactly where it belongs: If you want another pass in the same area, these fit well:
|
CodewithJha
pushed a commit
that referenced
this pull request
Oct 16, 2026
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.
Summary
Fixes #58 (MUT-004, MUT-005).
With only
OPENAI_API_KEYset for the target agent, Mutiny currently selects the Featherless mutator and passes that key to its default endpoint. Invalid timeout or temperature strings also raise from the shared config loader, breaking both the CLI and/api/health.Require a dedicated mutation key (
MUTINY_FEATHERLESS_API_KEYorFEATHERLESS_API_KEY), or an explicit non-emptyMUTINY_FEATHERLESS_BASE_URLbefore accepting the compatibleOPENAI_API_KEYfallback. Keep dedicated-key precedence; empty/whitespace keys and endpoint overrides do not opt in.Invalid, non-finite or non-positive timeouts and invalid, non-finite or negative temperatures now return an unconfigured mutator with safe numeric defaults. Existing CLI and health callers then select templates; health remains available with
llm_configured=false.Document the credential split and fallback behavior in README and
.env.example. Comment out the optional example endpoint so copying the template does not itself authorize use of a target-only key. This stays within the env contract fix; the broader provider naming work remains in #21.Type of change
Checklist
Test plan
.env.example, healthy API responses and offline sample CLI runs.uv run --locked ruff check— passed.scripts/verify_release_artifacts.sh— passed: wheel/sdist builds, isolated installs, offline CLI regression fail/fix/pass, database backup/restore.npm ci,npm run lint,npx tsc --noEmit,npm run build— passed.git diff --check— passed.All six jobs passed in GitHub CI at commit
0a52ea6f37715c4b1675e604f70097be7dad2a8a: Python lint, backend tests on Python 3.11 and 3.12, CLI smoke, web lint/typecheck/build, and package build. Vercel preview deployment separately requires upstream team authorization.Created with Codex assistance.