Repository navigation
fix(verify): start the gated Instant harness screen track at the arm point like the product - #3005
Merged
Merged
Conversation
…point like the product
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| @@ -134,21 +120,6 @@ bound = { count = 1, missing = 2, lost = 2 } | |||
| reason = "NEW: gated loopback-only system audio sometimes loses markers (2 of 11 lost in 1 of 2 fresh recordings, with the track 958 ms early). Bound: at most 2 markers lost, none unexpected" | |||
| link = "" | |||
|
|
|||
Contributor
There was a problem hiding this comment.
Removing the export/instant/output/mp4/native sync-system entry breaks instant_system_audio_expectation_requires_the_microphone_timeline in report.rs. That test parses expectations.toml and requires exactly one matching entry; it now finds zero. Update or remove the obsolete test alongside the expectation so cargo test -p cap-verify can pass.
Prompt To Fix With AI
This is a comment left during a code review.
Path: crates/verify/expectations.toml
Line: 122
Comment:
**Existing unit test now fails**
Removing the `export/instant/output/mp4/native` `sync-system` entry breaks `instant_system_audio_expectation_requires_the_microphone_timeline` in `report.rs`. That test parses `expectations.toml` and requires exactly one matching entry; it now finds zero. Update or remove the obsolete test alongside the expectation so `cargo test -p cap-verify` can pass.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
This comment has been minimized.
This comment has been minimized.
…measures with its xfail
Member
Author
|
@greptileai review |
This branch was successfully 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.
Problem
Engine verify's
macos-vt / build and testfails intermittently on main (run 39951468297, PR #2930 run 39955181352):The gated Instant export cases measured audio +13 to +15 ms late against the screen, and the xfails in
crates/verify/expectations.tomldescribed it as the screen and audio pipelines taking their own first admitted frame as zero. The offset depends on where the harness's arm lands relative to the next 30 fps screen frame (the arm isTimestamps::now()after a tokio sleep to 0.517 s, frames are stamped on schedule), so it is roughly uniform over one frame period. When the arm wakes late, close to the 0.533 s frame, the offset drops below the 5 ms threshold (+1.73 ms in the failing run) and the strict xfail XPASSes.Mechanism
The product already shares one zero. Since #2658,
instant_recording::create_pipelinecallsRecordingStartGate::set_video_origin_at_arm, so the gated Instant screen track starts at the arm point (video_origin_lead/shift_from_origininoutput_pipeline/core.rs), the same instant the epoch-anchored audio starts at (audio_epoch). The setter waspub(crate), socap_verify::pipeline::record_instant, which builds the Instant muxers by hand, could not call it. The harness kept recording the pre-#2658 behaviour: screen zero at the first admitted frame, audio zero at the arm point. The export xfails were measuring the harness, not the product.Fix
RecordingStartGate::set_video_origin_at_armis nowpub.record_instantenables it on its gate, as it already mirrors the product'sAudioAnchor::PipelineEpochaudio anchor.export/instant-gated-*mic*sync-mic,export/instant-gated-system-*sync-system, andexport/instantsync-mic and sync-system. The flakyinstant-gated-system-onlyaudio-system marker-loss entry and the ungated entries stay.report::tests::instant_system_audio_expectation_requires_the_microphone_timeline, which pinned the removedexport/instantsync-system bound, and themic-offset-ms/system-minus-mic-msmeasures ininstant_casethat only fed that bound.No product behaviour changes. Studio never sets the flag and is unchanged. The fixture cache key includes the recording crate's source hash, so CI re-records the Instant fixtures.
What CI verifies
cap-verify::export instant_outputon macOS, Windows and Linux now runs the gated Instant cases with no sync excuse: each must measure mic and system audio within 5 ms of the screen regardless of where the gate opens in the frame cadence.

Confidence Score: 5/5
The PR appears safe to merge, with the previous test failure addressed and no new blocking issues found.Summary
The PR makes the Instant recording harness start its screen timeline at the gate’s arm point, matching the product.
Reviews (2) · Last reviewed commit: "test(verify): drop the Instant system-on..." · Reviewed by Greptile