From e5f6eaa2c44163aa1081dae89cabd701dad8d86d Mon Sep 17 00:00:00 2001 From: abrichr Date: Sat, 17 Oct 2026 18:31:46 -0400 Subject: [PATCH 1/6] chore(release): openadapt-flow 2.2.0, openadapt-agent 2.2.1, openadapt-types 0.23.0 Flow 2.2.0 is the first release from the monorepo and the first that ships openadapt_flow.contracts and openadapt_flow.agent, so both shims now require openadapt-flow>=2.2.0. Changelog entries for flow and types. --- packages/agent/manifest.json | 2 +- packages/agent/pyproject.toml | 6 ++--- packages/agent/server.json | 4 ++-- packages/flow/CHANGELOG.md | 28 ++++++++++++++++++++++++ packages/flow/openadapt_flow/__init__.py | 2 +- packages/flow/pyproject.toml | 2 +- packages/flow/uv.lock | 2 +- packages/types/CHANGELOG.md | 9 ++++++++ packages/types/pyproject.toml | 9 ++++---- 9 files changed, 50 insertions(+), 14 deletions(-) diff --git a/packages/agent/manifest.json b/packages/agent/manifest.json index a9eedce59..f8a363e11 100644 --- a/packages/agent/manifest.json +++ b/packages/agent/manifest.json @@ -2,7 +2,7 @@ "manifest_version": "0.4", "name": "openadapt-agent", "display_name": "OpenAdapt", - "version": "2.2.0", + "version": "2.2.1", "description": "Lets your AI agent enter information in an app with no API and get back whether it saved.", "long_description": "Your agent sends a workflow name, its inputs, and its own request id. OpenAdapt enters the values in the app's own screens on this computer, reads the saved record back, and returns done, needs review, not sure if saved, or did not run. The same request id never writes twice. Workflow files and evidence stay on this computer.", "author": { diff --git a/packages/agent/pyproject.toml b/packages/agent/pyproject.toml index 0ed78f155..a472cdbb2 100644 --- a/packages/agent/pyproject.toml +++ b/packages/agent/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "openadapt-agent" -version = "2.2.0" +version = "2.2.1" description = "Let your AI agent enter information in apps with no API and get back whether it saved (MCP and Agent Skills)" readme = "README.md" # openadapt-flow pins <3.13 (rapidocr-onnxruntime); this package inherits it. @@ -39,7 +39,7 @@ dependencies = [ # 2.0 gates every saving run by default (each_item); the agent reports # that wait as waiting_for_approval (tests/test_approval_flow.py) and # 2.0 ships cloud_seal for Cloud-connected Seals. - "openadapt-flow>=2.1.0,<3", + "openadapt-flow>=2.2.0,<3", # Flow uses cryptography for encrypted bundles and signed runtime evidence. # Keep the published Agent artifact above the PKCS#7 oracle fixed by 50.0.0 # (GHSA-g6cj-pr64-35w5), even when an existing environment already has an @@ -70,7 +70,7 @@ tutorial = [ # query, added in openadapt-flow 1.29.0. Older Flow falls back to the # simulated engine. Flow's macos extra (pyobjc, darwin-only markers) lets # `serve --authoring` without --url pin the frontmost macOS window. - "openadapt-flow[browser,macos]>=2.1.0,<3", + "openadapt-flow[browser,macos]>=2.2.0,<3", ] [project.scripts] diff --git a/packages/agent/server.json b/packages/agent/server.json index ad54436b7..2cebea2bb 100644 --- a/packages/agent/server.json +++ b/packages/agent/server.json @@ -9,13 +9,13 @@ "source": "github", "subfolder": "packages/agent" }, - "version": "2.2.0", + "version": "2.2.1", "packages": [ { "registryType": "pypi", "registryBaseUrl": "https://pypi.org", "identifier": "openadapt-agent", - "version": "2.2.0", + "version": "2.2.1", "runtimeHint": "uvx", "transport": { "type": "stdio" diff --git a/packages/flow/CHANGELOG.md b/packages/flow/CHANGELOG.md index 176edf136..e74fc56c1 100644 --- a/packages/flow/CHANGELOG.md +++ b/packages/flow/CHANGELOG.md @@ -15,6 +15,34 @@ +## v2.2.0 (2026-10-17) + +First release from the [OpenAdapt monorepo](https://github.com/OpenAdaptAI/OpenAdapt) (`packages/flow`). The shared contracts (`openadapt_flow.contracts`) and the MCP agent server (`openadapt_flow.agent`) now ship inside this package; `openadapt-types` and `openadapt-agent` are thin compatibility packages over them. + +### Features + +- Multi-tab, popup, and backend-switching surfaces: a workflow can follow a popup or a new tab, switch between bound surfaces with an identity check, and answer browser dialogs by identity ([#1197](https://github.com/OpenAdaptAI/OpenAdapt/pull/1197), from [openadapt-flow#533](https://github.com/OpenAdaptAI/openadapt-flow/pull/533)). +- `openadapt-flow verify-run` judges any executor's write from the system of record and emits an RFC-0002 effect receipt; it reads the same `verify.yaml` as qualify and accepts `--remediates` and `--correlation-id` ([#1198](https://github.com/OpenAdaptAI/OpenAdapt/pull/1198)). +- Declarative qualify from `verify.yaml` ([#1186](https://github.com/OpenAdaptAI/OpenAdapt/pull/1186), from [openadapt-flow#532](https://github.com/OpenAdaptAI/openadapt-flow/pull/532)). +- Delegated approvers, read-back field checks, triage, and eligibility ([#1190](https://github.com/OpenAdaptAI/OpenAdapt/pull/1190), from [openadapt-flow#534](https://github.com/OpenAdaptAI/openadapt-flow/pull/534)); approver identity, approver policy, and an approval record in the shared contracts ([#1187](https://github.com/OpenAdaptAI/OpenAdapt/pull/1187)). +- The MCP server reads the approval mode and can answer a waiting save as a delegated agent ([#1192](https://github.com/OpenAdaptAI/OpenAdapt/pull/1192)); it proposes a branch after a step is repaired more than once ([#1188](https://github.com/OpenAdaptAI/OpenAdapt/pull/1188)). +- Native OCR on macOS and Windows, with no OpenCV on that path ([#1194](https://github.com/OpenAdaptAI/OpenAdapt/pull/1194), from [openadapt-flow#531](https://github.com/OpenAdaptAI/openadapt-flow/pull/531)). +- An agent can drive recording on native Windows apps and over RDP and Citrix sessions; remote sessions are screen-only and the agent works from the client window's pixels ([openadapt-flow#527](https://github.com/OpenAdaptAI/openadapt-flow/pull/527)). +- Learn from an agent demonstration, with replay fixes from the learn and zero-DOM benchmarks ([openadapt-flow#525](https://github.com/OpenAdaptAI/openadapt-flow/pull/525)). +- Teach a branch from several calling-agent demonstrations ([openadapt-flow#521](https://github.com/OpenAdaptAI/openadapt-flow/pull/521)). +- Read marked fields from the page structure ([openadapt-flow#522](https://github.com/OpenAdaptAI/openadapt-flow/pull/522)). +- A workflow registry and `openadapt-flow pull` ([openadapt-flow#517](https://github.com/OpenAdaptAI/openadapt-flow/pull/517)). +- OpenEMR qualification path: verifier, fault driver, and six cases for the local registration bundle ([openadapt-flow#518](https://github.com/OpenAdaptAI/openadapt-flow/pull/518)). + +### Performance + +- The demo uses the installed browser, one browser process, and an early OpenCV load ([#1189](https://github.com/OpenAdaptAI/OpenAdapt/pull/1189), from [openadapt-flow#528](https://github.com/OpenAdaptAI/openadapt-flow/pull/528)); native OCR starts faster and the OCR prewarm works ([#1199](https://github.com/OpenAdaptAI/OpenAdapt/pull/1199), from [openadapt-flow#535](https://github.com/OpenAdaptAI/openadapt-flow/pull/535)). + +### Fixes + +- Benchmarks fetch the openIMIS and OpenEMR compose files from upstream at run time ([openadapt-flow#523](https://github.com/OpenAdaptAI/openadapt-flow/pull/523)). +- uv.lock bumps fsspec, urllib3, mako, and oauthlib for open Dependabot alerts ([openadapt-flow#524](https://github.com/OpenAdaptAI/openadapt-flow/pull/524)). + ## v2.1.0 (2026-10-16) ### Features diff --git a/packages/flow/openadapt_flow/__init__.py b/packages/flow/openadapt_flow/__init__.py index 3d6247224..3512b07b2 100644 --- a/packages/flow/openadapt_flow/__init__.py +++ b/packages/flow/openadapt_flow/__init__.py @@ -1,6 +1,6 @@ """openadapt-flow: record, compile, replay deterministically, heal on drift.""" -__version__ = "2.1.0" +__version__ = "2.2.0" from openadapt_flow.ir import ( # noqa: F401 ActionKind, diff --git a/packages/flow/pyproject.toml b/packages/flow/pyproject.toml index d072552b7..f813e6d30 100644 --- a/packages/flow/pyproject.toml +++ b/packages/flow/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "openadapt-flow" -version = "2.1.0" +version = "2.2.0" description = "Compile demonstrated GUI workflows into deterministic local replay with governed repair and refusal" readme = "README.md" license = { text = "MIT" } diff --git a/packages/flow/uv.lock b/packages/flow/uv.lock index f6e508769..1d2964c28 100644 --- a/packages/flow/uv.lock +++ b/packages/flow/uv.lock @@ -1831,7 +1831,7 @@ wheels = [ [[package]] name = "openadapt-flow" -version = "2.1.0" +version = "2.2.0" source = { editable = "." } dependencies = [ { name = "cryptography" }, diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index c09337172..b66b351a2 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -1,6 +1,15 @@ # CHANGELOG +## v0.23.0 (2026-10-17) + +First release from the [OpenAdapt monorepo](https://github.com/OpenAdaptAI/OpenAdapt) (`packages/types`). The models now live in `openadapt_flow.contracts`; this package re-exports them, so `import openadapt_types` keeps working. It requires `openadapt-flow>=2.2.0,<3`. + +### Features + +- **approval**: Approver identity, approver policy, and an approval record ([#1187](https://github.com/OpenAdaptAI/OpenAdapt/pull/1187), from [openadapt-types#49](https://github.com/OpenAdaptAI/openadapt-types/pull/49)). + + ## v0.22.0 (2026-10-17) ### Documentation diff --git a/packages/types/pyproject.toml b/packages/types/pyproject.toml index 89ee28efb..1c3b61b8d 100644 --- a/packages/types/pyproject.toml +++ b/packages/types/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "openadapt-types" -version = "0.22.0" +version = "0.23.0" description = "Pydantic models for computer-use agents: screen state (ComputerState, UINode), actions (Action), and results (ActionResult)" readme = "README.md" license = "MIT" @@ -25,11 +25,10 @@ classifiers = [ "Typing :: Typed", ] # Compatibility shim: the contracts live in openadapt-flow as -# openadapt_flow.contracts. The release workflow pins this to the exact -# openadapt-flow version it ships with. Python 3.13+ resolves to 0.21.x, the -# last standalone release. +# openadapt_flow.contracts, first shipped in openadapt-flow 2.2.0, so that is +# the floor. Python 3.13+ resolves to 0.21.x, the last standalone release. dependencies = [ - "openadapt-flow>=2.1.0,<3", + "openadapt-flow>=2.2.0,<3", ] [project.scripts] From 2c8d2146af5eed417ad305002b65cdfaef9b72d2 Mon Sep 17 00:00:00 2001 From: abrichr Date: Sat, 17 Oct 2026 19:39:48 -0400 Subject: [PATCH 2/6] docs(release): agent CHANGELOG for 2.2.1; drop the unmerged #1197 entry --- packages/agent/CHANGELOG.md | 12 ++++++++++++ packages/flow/CHANGELOG.md | 1 - 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 packages/agent/CHANGELOG.md diff --git a/packages/agent/CHANGELOG.md b/packages/agent/CHANGELOG.md new file mode 100644 index 000000000..87eb2717a --- /dev/null +++ b/packages/agent/CHANGELOG.md @@ -0,0 +1,12 @@ +# CHANGELOG + +Releases up to v2.2.0 are recorded in the [openadapt-agent repository](https://github.com/OpenAdaptAI/openadapt-agent/blob/main/CHANGELOG.md). + +## v2.2.1 (2026-10-17) + +First release from the [OpenAdapt monorepo](https://github.com/OpenAdaptAI/OpenAdapt) (`packages/agent`). The MCP agent server now lives in `openadapt_flow.agent`; this package is a compatibility package over it, so `openadapt-agent` and `import openadapt_agent` keep working. It requires `openadapt-flow>=2.2.0,<3`. + +### Features + +- The server reads the approval mode and can answer a waiting save as a delegated agent ([#1192](https://github.com/OpenAdaptAI/OpenAdapt/pull/1192)). +- After a step is repaired more than once, the server proposes a branch ([#1188](https://github.com/OpenAdaptAI/OpenAdapt/pull/1188)). diff --git a/packages/flow/CHANGELOG.md b/packages/flow/CHANGELOG.md index e74fc56c1..0afdb78b4 100644 --- a/packages/flow/CHANGELOG.md +++ b/packages/flow/CHANGELOG.md @@ -21,7 +21,6 @@ First release from the [OpenAdapt monorepo](https://github.com/OpenAdaptAI/OpenA ### Features -- Multi-tab, popup, and backend-switching surfaces: a workflow can follow a popup or a new tab, switch between bound surfaces with an identity check, and answer browser dialogs by identity ([#1197](https://github.com/OpenAdaptAI/OpenAdapt/pull/1197), from [openadapt-flow#533](https://github.com/OpenAdaptAI/openadapt-flow/pull/533)). - `openadapt-flow verify-run` judges any executor's write from the system of record and emits an RFC-0002 effect receipt; it reads the same `verify.yaml` as qualify and accepts `--remediates` and `--correlation-id` ([#1198](https://github.com/OpenAdaptAI/OpenAdapt/pull/1198)). - Declarative qualify from `verify.yaml` ([#1186](https://github.com/OpenAdaptAI/OpenAdapt/pull/1186), from [openadapt-flow#532](https://github.com/OpenAdaptAI/openadapt-flow/pull/532)). - Delegated approvers, read-back field checks, triage, and eligibility ([#1190](https://github.com/OpenAdaptAI/OpenAdapt/pull/1190), from [openadapt-flow#534](https://github.com/OpenAdaptAI/openadapt-flow/pull/534)); approver identity, approver policy, and an approval record in the shared contracts ([#1187](https://github.com/OpenAdaptAI/OpenAdapt/pull/1187)). From 687584ed504ffe55b00fdf811a86a44a70415c67 Mon Sep 17 00:00:00 2001 From: abrichr Date: Sat, 17 Oct 2026 20:12:10 -0400 Subject: [PATCH 3/6] docs(release): add #1207, #1203 and #1200 to the flow 2.2.0 changelog --- packages/flow/CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/flow/CHANGELOG.md b/packages/flow/CHANGELOG.md index 0afdb78b4..76bd9b0ac 100644 --- a/packages/flow/CHANGELOG.md +++ b/packages/flow/CHANGELOG.md @@ -21,6 +21,8 @@ First release from the [OpenAdapt monorepo](https://github.com/OpenAdaptAI/OpenA ### Features +- `openadapt_flow.jit` wraps a computer-use agent: the first run of a task is recorded and compiled into a Flow program, and later runs replay it with zero model calls. A compiled run stays a draft until a person, a registered admitter key, or a registered agent under a signed policy admits it; the recording identity can never admit its own run ([#1207](https://github.com/OpenAdaptAI/OpenAdapt/pull/1207)). +- Read-back verifiers taught by demonstration, with assurance grades ([#1203](https://github.com/OpenAdaptAI/OpenAdapt/pull/1203)). - `openadapt-flow verify-run` judges any executor's write from the system of record and emits an RFC-0002 effect receipt; it reads the same `verify.yaml` as qualify and accepts `--remediates` and `--correlation-id` ([#1198](https://github.com/OpenAdaptAI/OpenAdapt/pull/1198)). - Declarative qualify from `verify.yaml` ([#1186](https://github.com/OpenAdaptAI/OpenAdapt/pull/1186), from [openadapt-flow#532](https://github.com/OpenAdaptAI/openadapt-flow/pull/532)). - Delegated approvers, read-back field checks, triage, and eligibility ([#1190](https://github.com/OpenAdaptAI/OpenAdapt/pull/1190), from [openadapt-flow#534](https://github.com/OpenAdaptAI/openadapt-flow/pull/534)); approver identity, approver policy, and an approval record in the shared contracts ([#1187](https://github.com/OpenAdaptAI/OpenAdapt/pull/1187)). @@ -39,6 +41,7 @@ First release from the [OpenAdapt monorepo](https://github.com/OpenAdaptAI/OpenA ### Fixes +- CLI help and built-in URLs point at the docs glossary and the monorepo ([#1200](https://github.com/OpenAdaptAI/OpenAdapt/pull/1200)). - Benchmarks fetch the openIMIS and OpenEMR compose files from upstream at run time ([openadapt-flow#523](https://github.com/OpenAdaptAI/openadapt-flow/pull/523)). - uv.lock bumps fsspec, urllib3, mako, and oauthlib for open Dependabot alerts ([openadapt-flow#524](https://github.com/OpenAdaptAI/openadapt-flow/pull/524)). From 6acd21b4c0ca6e163b9bd2c6149df3e8a8e4f173 Mon Sep 17 00:00:00 2001 From: abrichr Date: Sat, 17 Oct 2026 20:24:30 -0400 Subject: [PATCH 4/6] chore(release): the MCP server reports openadapt-agent 2.2.1 --- packages/flow/openadapt_flow/agent/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/flow/openadapt_flow/agent/__init__.py b/packages/flow/openadapt_flow/agent/__init__.py index b90699f42..829e90c78 100644 --- a/packages/flow/openadapt_flow/agent/__init__.py +++ b/packages/flow/openadapt_flow/agent/__init__.py @@ -21,6 +21,6 @@ for a trusted client in the same data boundary. """ -__version__ = "2.2.0" +__version__ = "2.2.1" __all__ = ["__version__"] From 9fa045491b44ef7b7aa8905083f9eb1bdb007355 Mon Sep 17 00:00:00 2001 From: abrichr Date: Sat, 17 Oct 2026 20:40:18 -0400 Subject: [PATCH 5/6] chore(release): openadapt-types 0.23.0 in its lockfile --- packages/types/uv.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/types/uv.lock b/packages/types/uv.lock index f2b61f3db..7569fe9e5 100644 --- a/packages/types/uv.lock +++ b/packages/types/uv.lock @@ -160,7 +160,7 @@ wheels = [ [[package]] name = "openadapt-types" -version = "0.22.0" +version = "0.23.0" source = { editable = "." } dependencies = [ { name = "pydantic" }, From 07d5083cc8f99aa0f20373f035279dc0c4df170e Mon Sep 17 00:00:00 2001 From: abrichr Date: Sun, 18 Oct 2026 05:00:59 -0400 Subject: [PATCH 6/6] chore(release): bring the 2.2.0 changelogs up to date with main Adds everything merged since the release PR was opened (identity fix, fail-open fixes, phone approvals, self-admission, check levels, SMART auth, record --verify, qualify-on-surface, known-ID lift, FreeRDP, Seals, drift, on-prem) and corrects the JIT entry, which said the recording identity can never admit its own run. Co-Authored-By: Claude Opus 5.5 --- packages/agent/CHANGELOG.md | 3 ++- packages/flow/CHANGELOG.md | 17 +++++++++++++++-- packages/types/CHANGELOG.md | 2 +- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/packages/agent/CHANGELOG.md b/packages/agent/CHANGELOG.md index 87eb2717a..371dec7e6 100644 --- a/packages/agent/CHANGELOG.md +++ b/packages/agent/CHANGELOG.md @@ -2,7 +2,7 @@ Releases up to v2.2.0 are recorded in the [openadapt-agent repository](https://github.com/OpenAdaptAI/openadapt-agent/blob/main/CHANGELOG.md). -## v2.2.1 (2026-10-17) +## v2.2.1 (2026-10-18) First release from the [OpenAdapt monorepo](https://github.com/OpenAdaptAI/OpenAdapt) (`packages/agent`). The MCP agent server now lives in `openadapt_flow.agent`; this package is a compatibility package over it, so `openadapt-agent` and `import openadapt_agent` keep working. It requires `openadapt-flow>=2.2.0,<3`. @@ -10,3 +10,4 @@ First release from the [OpenAdapt monorepo](https://github.com/OpenAdaptAI/OpenA - The server reads the approval mode and can answer a waiting save as a delegated agent ([#1192](https://github.com/OpenAdaptAI/OpenAdapt/pull/1192)). - After a step is repaired more than once, the server proposes a branch ([#1188](https://github.com/OpenAdaptAI/OpenAdapt/pull/1188)). +- The install docs use user scope and say what happens next ([#1230](https://github.com/OpenAdaptAI/OpenAdapt/pull/1230)). diff --git a/packages/flow/CHANGELOG.md b/packages/flow/CHANGELOG.md index 5bf18b574..5b70e680a 100644 --- a/packages/flow/CHANGELOG.md +++ b/packages/flow/CHANGELOG.md @@ -15,13 +15,13 @@ -## v2.2.0 (2026-10-17) +## v2.2.0 (2026-10-18) First release from the [OpenAdapt monorepo](https://github.com/OpenAdaptAI/OpenAdapt) (`packages/flow`). The shared contracts (`openadapt_flow.contracts`) and the MCP agent server (`openadapt_flow.agent`) now ship inside this package; `openadapt-types` and `openadapt-agent` are thin compatibility packages over them. ### Features -- `openadapt_flow.jit` wraps a computer-use agent: the first run of a task is recorded and compiled into a Flow program, and later runs replay it with zero model calls. A compiled run stays a draft until a person, a registered admitter key, or a registered agent under a signed policy admits it; the recording identity can never admit its own run ([#1207](https://github.com/OpenAdaptAI/OpenAdapt/pull/1207)). +- `openadapt_flow.jit` wraps a computer-use agent: the first run of a task is recorded and compiled into a Flow program, and later runs replay it with zero model calls. A compiled run stays a draft until a person, a registered admitter key, or a registered agent under a signed policy admits it ([#1207](https://github.com/OpenAdaptAI/OpenAdapt/pull/1207)). A signed policy can set `allow_self_admission` so the recording agent admits its own draft under the same checks; the manifest marks it `self_admitted` ([#1249](https://github.com/OpenAdaptAI/OpenAdapt/pull/1249)). - Read-back verifiers taught by demonstration, with assurance grades ([#1203](https://github.com/OpenAdaptAI/OpenAdapt/pull/1203)). - `openadapt-flow verify-run` judges any executor's write from the system of record and emits an RFC-0002 effect receipt; it reads the same `verify.yaml` as qualify and accepts `--remediates` and `--correlation-id` ([#1198](https://github.com/OpenAdaptAI/OpenAdapt/pull/1198)). - Declarative qualify from `verify.yaml` ([#1186](https://github.com/OpenAdaptAI/OpenAdapt/pull/1186), from [openadapt-flow#532](https://github.com/OpenAdaptAI/openadapt-flow/pull/532)). @@ -32,6 +32,14 @@ First release from the [OpenAdapt monorepo](https://github.com/OpenAdaptAI/OpenA - Learn from an agent demonstration, with replay fixes from the learn and zero-DOM benchmarks ([openadapt-flow#525](https://github.com/OpenAdaptAI/openadapt-flow/pull/525)). - Teach a branch from several calling-agent demonstrations ([openadapt-flow#521](https://github.com/OpenAdaptAI/openadapt-flow/pull/521)). - Read marked fields from the page structure ([openadapt-flow#522](https://github.com/OpenAdaptAI/openadapt-flow/pull/522)). +- Phone approval of a waiting save through the decision portal, person-signed approver grants, and no self-approval of a run's own saves ([#1234](https://github.com/OpenAdaptAI/OpenAdapt/pull/1234)). +- Countersigned and timestamped Seals, Sigstore TSA by default ([#1210](https://github.com/OpenAdaptAI/OpenAdapt/pull/1210)); offline Seals by default, batched timestamps, and a strict no-outbound mode ([#1216](https://github.com/OpenAdaptAI/OpenAdapt/pull/1216)). +- One check-level scale (0 to 5) maps the verification ranks, Seal levels and read-back labels ([#1250](https://github.com/OpenAdaptAI/OpenAdapt/pull/1250)). +- `record --verify` reads the system of record around a recording and proposes its checks for a person to confirm ([#1233](https://github.com/OpenAdaptAI/OpenAdapt/pull/1233)). +- SMART Backend Services (`private_key_jwt`) tokens for FHIR record checks ([#1235](https://github.com/OpenAdaptAI/OpenAdapt/pull/1235)). +- Qualify on the deployment surface: a workflow qualified with page structure halts on a pixels-only surface such as RDP or Citrix until it is requalified there ([#1231](https://github.com/OpenAdaptAI/OpenAdapt/pull/1231)). +- A complete known-ID list lifts look-alike identity stops on pixel-only screens ([#1223](https://github.com/OpenAdaptAI/OpenAdapt/pull/1223)); a headless FreeRDP transport with a session pool ([#1226](https://github.com/OpenAdaptAI/OpenAdapt/pull/1226)). +- Font and layout drift halts with a named reason ([#1225](https://github.com/OpenAdaptAI/OpenAdapt/pull/1225)); fleet drift patches import as policy-gated repair candidates ([#1211](https://github.com/OpenAdaptAI/OpenAdapt/pull/1211)); an unattended on-prem service with health checks and an egress audit ([#1222](https://github.com/OpenAdaptAI/OpenAdapt/pull/1222), [#1237](https://github.com/OpenAdaptAI/OpenAdapt/pull/1237)). - A workflow registry and `openadapt-flow pull` ([openadapt-flow#517](https://github.com/OpenAdaptAI/openadapt-flow/pull/517)). - OpenEMR qualification path: verifier, fault driver, and six cases for the local registration bundle ([openadapt-flow#518](https://github.com/OpenAdaptAI/openadapt-flow/pull/518)). @@ -41,6 +49,11 @@ First release from the [OpenAdapt monorepo](https://github.com/OpenAdaptAI/OpenA ### Fixes +- A read of the identifier that contradicts the expected record is final; a later re-read can no longer overrule it into verified and act on the wrong record ([#1252](https://github.com/OpenAdaptAI/OpenAdapt/pull/1252), [#1254](https://github.com/OpenAdaptAI/OpenAdapt/pull/1254)). +- Five fail-open gaps closed: a JIT draft can't run without its admission, a planted approver policy is ignored, CLI replay runs the JIT run checks, and two compiler key drops are opt-in ([#1232](https://github.com/OpenAdaptAI/OpenAdapt/pull/1232)). +- The drift oracle never rescues a failed postcondition on an irreversible or effect-bearing step ([#1217](https://github.com/OpenAdaptAI/OpenAdapt/pull/1217)). +- A phone answer reaches a run that stopped waiting ([#1234](https://github.com/OpenAdaptAI/OpenAdapt/pull/1234)); `--help` no longer starts the OCR prewarm, which could abort the process at exit ([#1242](https://github.com/OpenAdaptAI/OpenAdapt/pull/1242)). +- The break-it run is described as a save set to fail ([#1236](https://github.com/OpenAdaptAI/OpenAdapt/pull/1236)); the contract schemas are listed in `public-artifacts.json` ([#1206](https://github.com/OpenAdaptAI/OpenAdapt/pull/1206)). - CLI help and built-in URLs point at the docs glossary and the monorepo ([#1200](https://github.com/OpenAdaptAI/OpenAdapt/pull/1200)). - Benchmarks fetch the openIMIS and OpenEMR compose files from upstream at run time ([openadapt-flow#523](https://github.com/OpenAdaptAI/openadapt-flow/pull/523)). - uv.lock bumps fsspec, urllib3, mako, and oauthlib for open Dependabot alerts ([openadapt-flow#524](https://github.com/OpenAdaptAI/openadapt-flow/pull/524)). diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index b66b351a2..721f2d5ce 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -1,7 +1,7 @@ # CHANGELOG -## v0.23.0 (2026-10-17) +## v0.23.0 (2026-10-18) First release from the [OpenAdapt monorepo](https://github.com/OpenAdaptAI/OpenAdapt) (`packages/types`). The models now live in `openadapt_flow.contracts`; this package re-exports them, so `import openadapt_types` keeps working. It requires `openadapt-flow>=2.2.0,<3`.