Repository navigation
Conversation
Use the canonical active/latest version credential reader so hosted connections and credential rotation reach Vapi with the current key. Fail incomplete configuration before watermark advancement. Preserve pre-versioning legacy agents and canonical encrypted legacy fallback. Cover hosted API creation, encrypted persistence, credential preflight/default activation, revoked legacy keys, pagination, and polling failure boundaries. Co-Authored-By: Claude Code <[email protected]>
|
Thanks for the PR. Before a reviewer picks it up, a few things from CONTRIBUTION_POLICY.md need fixing. This check re-runs on every push and edit. To fix:
If you think a check is wrong, say so here and a maintainer will override it. |
This branch has not been deployed
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
Repair the product prerequisite blocking future-agi/docs#1090. Keep that guide on hold until this fix has been reviewed, merged by Nikhil and deployed.
resolve_api_key_for_versionreader. This is the same selection used by Vapi recording downloads.AgentDefinition.api_keycolumn only for agents with no versions; never override a configured version with a stale column.Regression proof
On unchanged product dev
42f1fe1f098fb5dec2081a242f532b22df26bf52, the final regression tests produce 13 failures, 1 pass. New hosted connections return no calls without HTTP; after rotation the old legacy key is still sent and the synthetic revoked-key response fails. Missing configuration is incorrectly treated as a completed polling window.After the repair, 407 tests pass, including:
Re-run from
futureagi/with the normal disposable test services/settings:Local runs used owned disposable PostgreSQL 16, synthetic credentials and an outbound-network-denied sandbox. No Cloud/customer credentials or live Vapi calls. Ruff lint and formatting pass on all four changed files; the existing touched files also passed on the base. No migration, serializer, API contract, frontend or dependency changes.
AI use: Claude Code using gpt-6-astra implemented the repair and regression tests and ran the checks described above; independent review is still required.
E2E: exempt (backend-internal)
E2E coverage
The exact committed diff passes the repository gate:
EXEMPT, no pinned flows hit. The explicit marker above also satisfies the admission template. The dominant exemption is tests-only; the production service file itself is classified backend-internal. This is not a claim of browser E2E coverage. Hosted Vapi service/credential lifecycle is tested against real PostgreSQL with inert external boundaries; no browser/real-provider flow was run.Admission
The admission workflow also requires a linked maintainer-accepted issue for this four-file repair. The defect was assigned from the docs #1090 independent review, not from an accepted GitHub issue; the open Vapi issue search found no matching accepted issue. That maintainer admission decision remains outstanding. No unrelated issue is linked and no acceptance is claimed.
Rollout
No schema or package release. Deploy the backend/polling worker after normal product review; the product PR must be merged by Nikhil, not the integration automation. Previously skipped historical windows are not automatically replayed by this change. The docs release hold remains until the product prerequisite is deployed.
🤖 Generated with Claude Code