Stabilize live validation - #42
Merged
Merged
Conversation
Contributor
Author
|
Validation is complete on fixed commit Three consecutive complete cycles passed: Every cycle passed both channel modes, all four A2A scenarios, all three voice scenarios, external events, and the full-stack aggregator. The schedule-only failure notifier was intentionally skipped on these PR/manual events; no test lane was skipped. The live stack still runs on PRs but is not a required merge check. Required checks remain |
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.
Executive Summary
This PR makes live Codex validation strict, repeatable, and safe to diagnose.
Description
Voice scenarios now sweep interrupted matching calls before each trigger, reject delayed or ambiguous records using a request-time lower bound, require a stable driver/AUT pair, and clean up every post-snapshot record on both identities. Driver-owned records prove caller speech; AUT-owned records must contain both parties and return the AUT-local agent speech. Speech-mode and hosted-action metadata are read from that exact AUT call.
The hosted action uses three distinct speech-safe words derived from the full workflow run and attempt. Host installation retries are limited to setup, and live messages, calls, and agent turns remain single-attempt. Failure workflows emit bounded state predicates instead of raw runtime logs or artifacts.
Reason
Scheduled validation could fail after querying the non-authoritative call transcript or after a long spoken marker was shortened while being persisted as an action. Interrupted calls and unbounded setup failures also made repeated validation less reliable.
Decisions
Testing
452 passed, 23 skippedwith skips limited to live-environment scenarios.codex-cli 0.147.0:5 passed.21 passed.git diff --check: passed.