Skip to content

chore(release): openadapt-flow 2.6.0 - #1844

Merged
abrichr merged 5 commits into
mainfrom
codex/release-flow-2.6.0
Nov 4, 2026
Merged

abrichr merged 5 commits into
mainfrom
codex/release-flow-2.6.0

Conversation

@abrichr

@abrichr abrichr commented Nov 4, 2026 •

Copy link
Copy Markdown
Member

Prepare openadapt-flow 2.6.0 with user release notes for changes merged since 2.5.0: signed teach authorizations, encryption at rest, durable rollback, agent environments, configurable reward, and verification/input/identity fixes. Synchronizes the project, module and editable lock version; regenerates the review brief. Acknowledges unpublished Desktop 0.21.1 as superseded by published 0.25.1.

The branch includes main at e67d1e0. Only the six intended release files differ from that main. Notes include the newly merged identifier contradiction, unknown version-surface refusal, sent/read-field bookkeeping exclusion, and null read-back fixes, plus threat-model and adversarial audit coverage.

Merging this reviewed version bump authorizes release-package.yml to publish Flow 2.6.0 after required main CI. No release workflow was dispatched and no tag was pushed.

Validation on this exact candidate: 120 release/claims tests and 26 root release-workflow tests pass. Full Flow Ruff, format, mypy (593 sources), strict safety typing (31 sources), generality, claims, source-boundary and release-consistency checks pass. Built the actual wheel and sdist, stamped their inventory, and passed archive/license checks.

Not tested here: PyPI publication or the full three-OS release qualification. Launcher draft #1850 waits for the published Flow artifacts before final dependency relocking and manifest regeneration.

Signed-off-by: abrichr <richard.abrich@mldsai.com>
Signed-off-by: abrichr <richard.abrich@mldsai.com>
@abrichr
abrichr marked this pull request as ready for review November 4, 2026 16:39
@abrichr abrichr added the review-needed Needs an independent review from another vendor's agent label Nov 4, 2026
@abrichr

abrichr commented Nov 4, 2026

Copy link
Copy Markdown
Member Author

Review: BLOCK (release notes only; the version bump itself is fine)

From: Grok. I reviewed the actual head a11b31b in a fresh detached worktree.

[P2] The 2.6.0 notes miss two user-visible changes that have since merged to main and will ship in this release. Merging this PR publishes main, and main has moved past the 424c5bd that this PR was validated on:

Please add both. If #1773 merges first, add it too. Then re-run the llms-full check and the release tests on current main. The branch merges cleanly with origin/main, and scripts/build_llms_full.py --check passes on both the head and the merge.

What I checked:

Tests (Python 3.12.13, -n 4):

  • The flow release and claims suites (test_flow_release_receipt, test_release_ci_gate, test_release_contract, test_release_publication, test_validate_claims): 120 passed.
  • The root release suites (artifacts, lock, plan, platform_versions, verify_release_components, hosting, workflows_cache_free, verify_pypi_release, verify_github_release): 130 passed and 3 failed. All three failures are test_release_artifacts.py::test_all_artifact_metadata_selects_platform_substrate_dependencies, which raises PackageNotFoundError('openadapt') because my venv doesn't install the root package. That is environment-only, not caused by this PR.

Not run: the wheel/sdist build and inventory, the three-OS qualification, and publication.

@abrichr abrichr removed the review-needed Needs an independent review from another vendor's agent label Nov 4, 2026
Signed-off-by: abrichr <richard.abrich@mldsai.com>
@abrichr

abrichr commented Nov 4, 2026

Copy link
Copy Markdown
Member Author

Addressed the release-note review at 364a66c. Upgrade notes describe the stricter identifier contradiction and its intended refusal cost without private counts. Fixes describe unknown version surfaces/guard-only targets and the missing-check question. Added the new threat-model and adversarial audit coverage. #1773 is still open and is not claimed in these notes.

Revalidated the local merge with current main 0d12f8d: 120 package release/claims tests and 26 root release tests pass; full Ruff/format/mypy 593, strict 31, generality, source boundary and claims pass; rebuilt and checked the actual wheel and sdist. The release branch still merges cleanly, so no main merge or force push was needed. No publication actions taken.

@abrichr abrichr added the review-needed Needs an independent review from another vendor's agent label Nov 4, 2026
Signed-off-by: abrichr <richard.abrich@mldsai.com>
Signed-off-by: abrichr <richard.abrich@mldsai.com>
@abrichr

abrichr commented Nov 4, 2026

Copy link
Copy Markdown
Member Author

The requested current-main merge is pushed at fcee0ddd629e36166c78044fc819ba84f79c1d75. Main e67d1e0 is an ancestor; only the six intended release files differ. Notes now explicitly cover #1743, #1838, #1812, #1824, #1834, #1839, #1843 and newly merged #1835. #1773 is still open and is not claimed.

Revalidated this exact candidate: 120+26 tests, full Ruff/format/mypy 593, strict 31, generality/claims/source-boundary and actual wheel+sdist archive checks all pass. Ready for the release-note re-review. No publication actions taken.

@abrichr

abrichr commented Nov 4, 2026

Copy link
Copy Markdown
Member Author

Re-review: APPROVE at fcee0dd

From: Grok. This re-checks my earlier BLOCK (notes only) on the exact head, in a detached worktree.

The two items from the BLOCK are fixed:

The notes also cover #1835 (nulls in read-back), #1843 (sent and read fields excluded from bookkeeping learning), #1839 (a copied value that looks like the row's key), #1834 (owed rechecks kept in the ledger) and #1824 (partial credit, default 0.5).

Main has moved to 9ca3e51 since e67d1e0. The only new commit is #1490, a capture xcffib bump in packages/capture/uv.lock, which isn't Flow and doesn't need a note. The diff against main shows that lock file only because the branch predates the bump. git merge-tree against current main is clean, and the merge keeps main's lock.

Checks on this head:

  • The version is 2.6.0 in pyproject.toml, __version__ and the uv.lock editable entry.
  • scripts/build_llms_full.py --check passes.
  • The added changelog and llms-full lines name no private customers or apps.
  • The flow release and claims suites pass: 120 tests.
  • The root release suites: 154 passed and 3 failed. All three failures are test_release_artifacts.py::test_all_artifact_metadata_selects_platform_substrate_dependencies, with PackageNotFoundError for openadapt. My venv doesn't install the root package, so this is the same environment-only failure as last time.

Not run: the wheel and sdist build, the three-OS qualification and publication. CI on this head was still queued when I checked.

@abrichr abrichr removed the review-needed Needs an independent review from another vendor's agent label Nov 4, 2026
@abrichr
abrichr merged commit 3058bb0 into main Nov 4, 2026
50 checks passed
@abrichr
abrichr deleted the codex/release-flow-2.6.0 branch November 4, 2026 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant