Repository navigation
Conversation
Contributor
Coverage Report
File Coverage
|
||||||||||||||||||||||||||||||||||||||
404oops
force-pushed
the
fix/realtime-transcription-settlement
branch
from
November 1, 2026 18:26
455a796 to
d5b0970
Compare
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.
Reserve a bounded transcription window before forwarding its configuration or audio. Retain immutable committed-item identities separately from bounded completed-item history. Pause audio while an exhausted window settles, then renew its reservation. Include pending transcriptions in disconnect and response-completion settlement decisions.
Record completion once. Failure, timeout, missing usage and upstream closure use a conservative fixed fallback and release credit after recording. Capacity overflow closes the connection without evicting older unresolved identities. Distinguish missing provider realtime models from explicitly unpriced ones, and refuse unpriced models before forwarding buffered frames.
Billing policy for review: enabling input transcription reserves 64 items at $0.10896 each, or $6.97344 before deployment cost factors. The window uses the largest supported transcription cost factor and retains unused capacity until consumption or connection closure. Failed or unreported items charge the fixed per-item budget. Reservations are budgets, not caps on reported usage. These choices can refuse low-balance accounts and can charge more than actual usage when final usage is unavailable. All limits and fallback behavior are documented.
Validation: the transcription layer passed 108 relay tests; the final combined relay passed 110 tests after the completed-history helper reuse and continuation patch. Mock-provider tests cover delayed transcription-only disconnects, response.done while transcription remains pending, duplicate/late events, failure/timeout/upstream close, shared-budget exclusion, window backpressure and renewal, explicit unknown/missing/dated models, and an expensive oldest identity followed by 64 more pending items. Tests assert exact charges and hold release. No paid provider calls were made; actual provider incidence and financial loss are not measured.
Final combined validation at
7adeb371e177a9532bac5d78a3f83318d1af4757: 625 backend tests, 122 SDK conversation/history/transport tests, 10 built-SDK mock-provider tests and 3 cross-platform API checks passed. Backend build, SDK declaration checks and lint passed; repository typecheck reports no new errors with 23 known baseline errors. No paid/live provider traffic or production rollout test was run.Stack: follow-up 5/7, overall 11/13. Based on #4454 (
fix/realtime-active-eligibility). Review and merge bottom-up. The existing six-PR stack ends at #4441.