fix: require Flow production release evidence - #366
Draft
abrichr wants to merge 2 commits into
Draft
Conversation
abrichr
force-pushed
the
codex/production-release-gates
branch
from
August 18, 2026 23:03
d04f5b5 to
89dfc2f
Compare
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
Why
The current release gate proves the source test matrix. It does not prove the built Browser wheel through install, record, compile, certification refusal, deterministic replay, verified drift replay, and uninstall on each supported OS.
It also installed two distributions that own the same
cv2package.rapidocr-onnxruntime1.4.4 declaresopencv-python>=4.5.1.48by distribution name, and Python packaging has no provider/alias mechanism by whichopencv-python-headlesscan satisfy that requirement. Declaring the headless distribution therefore did not replaceopencv-python; it installed alongside it, and the resultingcv2package was decided by install order. This change declares the one provider RapidOCR's published metadata requires and verifies the installed identity on every clean machine. It adds no new native requirement, becauseopencv-pythonwas already being installed transitively in every environment.The previous Capture adapter also treated a source-window resize as an invalid recording. A fixed encoded viewport does not require a fixed source window. This change keeps the output media contract fixed while it maps each resized source frame through the exact retained content rectangle and scale. It also supports the combined virtual desktop coordinate space from Capture PR #78.
Capture contract
The adapter now:
pixel_ratiofrom applying the same scale twicevirtual_desktop_pixelscoordinate space and its retained global originThis work depends on the Capture schema and capture behavior in OpenAdaptAI/openadapt-capture#78. That pull request is stacked on Capture PR #76. Do not merge or release this adapter as a supported contract before its Capture dependency lands.
Rebase note
This branch was rebased onto
mainat16c9177, which added PR #367 (recording targets), PR #370 (bounded qualification and browser setup), PR #371 (claims gate requires passing evidence), and PR #363 (actions bump).One semantic conflict was resolved rather than auto-merged. PR #367 deliberately removed the RDP
backend_hintsinference from the Capture adapter, because native Windows and macOS recordings use the same Capture primitive and must not be read as an RDP backend. This branch predated that removal. The resolution keepsmain's removal and keeps only this branch's newdesktop_captureprovenance clause.tests/test_capture_adapter.pyasserts"backend_hints" not in meta, and that assertion passes.Evidence at this head
scripts/check_release_consistency.pypassedscripts/validate_claims.py --check --ci-job testpassed: 20 claims, 11 supported, all cited test evidence passedscripts/check_consistency.pyandscripts/check_bundle_phi.pypassedmypy(240 source files) passedcv2provider,opencv-python, withcv25.0.0 importable.github/workflows/quickstart-lifecycle.ymlchanged, so the pinned inventory was regenerated withscripts/check_release_consistency.py --write-public-artifact-inventoryand committed in the same commitRelease order — read before publishing
Flow 1.31.0 is already published on PyPI (uploaded 2026-08-09) and is immutable. It does not contain the new push-result contract. No Desktop production release may pin 1.31.0.
The correct order is:
Both commits here are typed
fix:, so semantic release would cut a patch. Note that the OpenCV provider change alters the installed distribution set, so a reviewer may prefer a minor bump.Do not publish until the exact-SHA runs pass.
🤖 Generated with Claude Code