diff --git a/docs/get-started/what-works-today.md b/docs/get-started/what-works-today.md index 25302f3..c9a6be8 100644 --- a/docs/get-started/what-works-today.md +++ b/docs/get-started/what-works-today.md @@ -34,11 +34,12 @@ production-qualification or commercial gate. Buyer-facing availability is reported distinctly from evidence, and reconciles to the machine-readable [status manifest](https://openadapt.ai/status.json) that -the website, launcher, and packages also read. **Supported / scoped deployment** -means the substrate is a first-class execution target ordered as a scoped -deployment and qualified per workflow in its real environment: the same -real-environment qualification step every substrate, including the browser, goes -through before it carries consequential work. +the website, launcher, and packages also read. **Early access** means the +substrate works and is validated on specific named tasks but is not yet broadly +exercised: it is a first-class execution target ordered as a scoped deployment +and qualified per workflow in its real environment, the same real-environment +qualification step every substrate, including the browser, goes through before +it carries consequential work. ## Integrated product matrix @@ -53,9 +54,9 @@ through before it carries consequential work. | System-of-record effect verification | **Supported** | REST, FHIR, and document-hash verifiers run in the live replay path and halt on refuted or indeterminate declared effects. | The compiler does not infer effects. A deployment must author effects and configure the matching verifier; otherwise screen checks remain the oracle. | | `teach` halt-to-correction loop | **Supported** | The deterministic reference inducer covers the optional-dialog correction class behind regression and canary gates. | Arbitrary UI corrections are not generally learned. Unsafe or underdetermined revisions are refused. | | Workflow-program IR, branches, loops, and multi-trace induction | **Supported** | Implemented against synthetic fixtures, including refusal for underdetermined programs. | No real recording exercises the full Phase-2 program path yet. | -| Windows UIA backend | **Supported / scoped deployment** | The counted `20260717-candidate-56759c8-v2` in-tree WinForms matrix completed 3/3 trials; an independent SQLite oracle confirmed 3/3 effects; stale-target and ambiguous-target controls each refused 3/3; there were 0 silent incorrect successes, 0 over-halts, and 0 model calls. [Review the immutable report at the merged Flow commit](https://github.com/OpenAdaptAI/openadapt-flow/blob/defafbae758a75c8e149d9693f2cffe1f2264b8c/benchmark/windows_uia/results.json) and [Flow PR #132](https://github.com/OpenAdaptAI/openadapt-flow/pull/132). | The report also preserves earlier rejected diagnostic runs; their failures are not counted acceptance trials. Each Windows workflow is qualified in its real environment; the published evidence covers the named workflow and Windows 11 ARM VM snapshot. | -| Native macOS backend | **Supported / scoped deployment** | On one macOS 15.7.3 arm64 host, candidate `b1b61a5` completed 3/3 exact-byte TextEdit trials and refused a two-window ambiguity without changing either file; there were 0 silent incorrect successes and 0 over-halts. [Review the hash-bound adjudication at immutable evidence commit `ca1b522`](https://github.com/OpenAdaptAI/openadapt-flow/blob/ca1b522cad215875f7471782283f8f8bb8e6c998/benchmark/macos_native/textedit_counted_3plus1_b1b61a5_20260717.adjudication.json) and [Flow PR #135](https://github.com/OpenAdaptAI/openadapt-flow/pull/135). | The counted candidate is `b1b61a5`; `ca1b522` preserves its reports and adjudication but is not the current PR head. The immutable original report remains `status: failed` because graceful-close cleanup warnings were classified as batch failure. The separate adjudication preserves that result, verifies the exact harness PIDs and temporary root were absent, and accepts the action-effect and ambiguity-refusal evidence. Each macOS workflow is qualified in its real environment. | -| RDP backend | **Supported / scoped deployment** | On one Parallels Windows 11 VM at 1280x800 with Aardwolf 0.2.14, candidate `82a658a` completed 3/3 trials that created a unique file through the Windows Run dialog over network RDP. Independent guest-tools readback confirmed the exact file contents. Trial latencies were 51.845s, 10.467s, and 7.477s; there were 0 failures, 0 silent incorrect successes, 0 over-halts, and 0 model calls. [Review the immutable sanitized report at evidence commit `6610d24`](https://github.com/OpenAdaptAI/openadapt-flow/blob/6610d24cebba27918b8ea507b2f05a094057ac85/benchmark/rdp/results_82a658a_20260718.sanitized.json) and [Flow PR #142](https://github.com/OpenAdaptAI/openadapt-flow/pull/142). | Cleanup deleted only the batch-owned snapshot, restored the exact eight-snapshot inventory, left the VM suspended, and returned the current pointer without resume to the unchanged original base. Each RDP workflow is qualified in its real environment; the published evidence covers the named task, VM snapshot, transport, and oracle. Earlier rejected batches remain evidence and are not counted as acceptance trials. | +| Windows UIA backend | **Early access** | The counted `20260717-candidate-56759c8-v2` in-tree WinForms matrix completed 3/3 trials; an independent SQLite oracle confirmed 3/3 effects; stale-target and ambiguous-target controls each refused 3/3; there were 0 silent incorrect successes, 0 over-halts, and 0 model calls. [Review the immutable report at the merged Flow commit](https://github.com/OpenAdaptAI/openadapt-flow/blob/defafbae758a75c8e149d9693f2cffe1f2264b8c/benchmark/windows_uia/results.json) and [Flow PR #132](https://github.com/OpenAdaptAI/openadapt-flow/pull/132). | The report also preserves earlier rejected diagnostic runs; their failures are not counted acceptance trials. Each Windows workflow is qualified in its real environment; the published evidence covers the named workflow and Windows 11 ARM VM snapshot. | +| Native macOS backend | **Early access** | On one macOS 15.7.3 arm64 host, candidate `b1b61a5` completed 3/3 exact-byte TextEdit trials and refused a two-window ambiguity without changing either file; there were 0 silent incorrect successes and 0 over-halts. [Review the hash-bound adjudication at immutable evidence commit `ca1b522`](https://github.com/OpenAdaptAI/openadapt-flow/blob/ca1b522cad215875f7471782283f8f8bb8e6c998/benchmark/macos_native/textedit_counted_3plus1_b1b61a5_20260717.adjudication.json) and [Flow PR #135](https://github.com/OpenAdaptAI/openadapt-flow/pull/135). | The counted candidate is `b1b61a5`; `ca1b522` preserves its reports and adjudication but is not the current PR head. The immutable original report remains `status: failed` because graceful-close cleanup warnings were classified as batch failure. The separate adjudication preserves that result, verifies the exact harness PIDs and temporary root were absent, and accepts the action-effect and ambiguity-refusal evidence. Each macOS workflow is qualified in its real environment. | +| RDP backend | **Early access** | On one Parallels Windows 11 VM at 1280x800 with Aardwolf 0.2.14, candidate `82a658a` completed 3/3 trials that created a unique file through the Windows Run dialog over network RDP. Independent guest-tools readback confirmed the exact file contents. Trial latencies were 51.845s, 10.467s, and 7.477s; there were 0 failures, 0 silent incorrect successes, 0 over-halts, and 0 model calls. [Review the immutable sanitized report at evidence commit `6610d24`](https://github.com/OpenAdaptAI/openadapt-flow/blob/6610d24cebba27918b8ea507b2f05a094057ac85/benchmark/rdp/results_82a658a_20260718.sanitized.json) and [Flow PR #142](https://github.com/OpenAdaptAI/openadapt-flow/pull/142). | Cleanup deleted only the batch-owned snapshot, restored the exact eight-snapshot inventory, left the VM suspended, and returned the current pointer without resume to the unchanged original base. Each RDP workflow is qualified in its real environment; the published evidence covers the named task, VM snapshot, transport, and oracle. Earlier rejected batches remain evidence and are not counted as acceptance trials. | | Citrix / VDI backend | **Exploratory** | The pixel-first mechanism (the same remote-display adapter, identity gate, and effect verification as every substrate) is implemented, but no real Citrix ICA/HDX environment has been qualified yet. | Each Citrix/VDI workflow must be qualified in its real ICA/HDX environment, where the client, latency, compression, DPI, lock-screen, input, identity, and effect behavior are exercised against the actual application, before it carries consequential work. | | Desktop authoring GUI and tray | **Supported** | The published 0.1.1 prerelease provides install/uninstall-qualified native packages across the six targeted platform/architecture variants. | The current prerelease qualifies packaging and removal; the complete record -> compile -> replay -> teach cockpit remains an integration track. | | Hosted CLI connectivity | **Supported / public offer** | `login`, exact-hash artifact preparation/upload, one-time runtime validation, bound replacement activation, and `report-break` connect the local engine to the live control plane. | Upload requires destination policy and an approved sanitized derivative; checkout never bypasses an egress refusal. | diff --git a/docs/guides/hosted.md b/docs/guides/hosted.md index a6ba30d..6a3580b 100644 --- a/docs/guides/hosted.md +++ b/docs/guides/hosted.md @@ -33,9 +33,9 @@ price you pay at Checkout. | Structural run history and reports | **Beta / public offer** | Safety depends on the workflow's configured identity, effect, and policy checks. Repair and validation remain local. | | Checkout, portal, entitlements, metering | **Beta / public offer** | Live Stripe Checkout, signed webhooks, entitlements, usage, and the billing portal form one managed subscription contract. | | Self-hosted browser execution | **Beta** | No hosted account required. | -| Windows UIA | **Supported / scoped deployment** | The exact in-tree WinForms matrix passed 3/3 with an independent SQLite oracle and 3/3 stale/ambiguity refusals. Windows subscriptions and deployments are ordered separately from the public browser offer and qualified per workflow. | -| Native macOS | **Supported / scoped deployment** | One macOS 15.7.3 arm64 host produced 3/3 exact-byte TextEdit effects plus a two-window ambiguity refusal. Native macOS subscriptions and deployments are ordered separately from the public browser offer and qualified per workflow. | -| RDP | **Supported / scoped deployment** | One Parallels Windows 11 VM produced 3/3 exact guest-file effects through network RDP, with 0 silent incorrect successes, 0 over-halts, and 0 model calls. RDP subscriptions and deployments are ordered separately from the public browser offer and qualified per workflow. | +| Windows UIA | **Early access** | The exact in-tree WinForms matrix passed 3/3 with an independent SQLite oracle and 3/3 stale/ambiguity refusals. Windows subscriptions and deployments are ordered separately from the public browser offer and qualified per workflow. | +| Native macOS | **Early access** | One macOS 15.7.3 arm64 host produced 3/3 exact-byte TextEdit effects plus a two-window ambiguity refusal. Native macOS subscriptions and deployments are ordered separately from the public browser offer and qualified per workflow. | +| RDP | **Early access** | One Parallels Windows 11 VM produced 3/3 exact guest-file effects through network RDP, with 0 silent incorrect successes, 0 over-halts, and 0 model calls. RDP subscriptions and deployments are ordered separately from the public browser offer and qualified per workflow. | | Citrix / VDI | **Exploratory** | The pixel-first mechanism shares the same identity gate and effect verification as every substrate, but no real ICA/HDX environment has been qualified yet; ordered separately from the public browser offer and qualified in its real ICA/HDX environment per workflow before consequential use. | | Regulated runtime data | **Customer-controlled boundary** | Use a scoped BYOC/on-prem deployment when live screens necessarily contain PHI. | diff --git a/tests/test_substrate_evidence_copy.py b/tests/test_substrate_evidence_copy.py index 48ff51b..58b5148 100644 --- a/tests/test_substrate_evidence_copy.py +++ b/tests/test_substrate_evidence_copy.py @@ -2,7 +2,7 @@ Target-state policy: every execution substrate is presented as a first-class mechanism, not ranked below the browser. Substrates with a validated real -environment are **Supported / scoped deployment** (Windows UIA, native macOS, +environment are **Early access** (Windows UIA, native macOS, RDP); Citrix/VDI is **Exploratory** until a real ICA/HDX environment is qualified, matching the canonical status.json ladder. This guard does not police the availability label beyond that; it pins the substrate-evidence section to the @@ -26,7 +26,7 @@ def _read(relative_path: str) -> str: def test_scoped_windows_macos_and_rdp_evidence_is_exact_and_bounded(): what_works = _read("get-started/what-works-today.md") - assert "Windows UIA backend | **Supported / scoped deployment**" in what_works + assert "Windows UIA backend | **Early access**" in what_works assert "`20260717-candidate-56759c8-v2` in-tree WinForms matrix completed 3/3 trials" in what_works assert "independent SQLite oracle confirmed 3/3 effects" in what_works assert "stale-target and ambiguous-target controls each refused 3/3" in what_works @@ -36,7 +36,7 @@ def test_scoped_windows_macos_and_rdp_evidence_is_exact_and_bounded(): assert "defafbae758a75c8e149d9693f2cffe1f2264b8c" in what_works assert "https://github.com/OpenAdaptAI/openadapt-flow/pull/132" in what_works - assert "Native macOS backend | **Supported / scoped deployment**" in what_works + assert "Native macOS backend | **Early access**" in what_works assert "one macOS 15.7.3 arm64 host" in what_works assert "candidate `b1b61a5` completed 3/3 exact-byte TextEdit trials" in what_works assert "refused a two-window ambiguity without changing either file" in what_works @@ -48,7 +48,7 @@ def test_scoped_windows_macos_and_rdp_evidence_is_exact_and_bounded(): assert "ca1b522cad215875f7471782283f8f8bb8e6c998" in what_works assert "https://github.com/OpenAdaptAI/openadapt-flow/pull/135" in what_works - assert "RDP backend | **Supported / scoped deployment**" in what_works + assert "RDP backend | **Early access**" in what_works assert "one Parallels Windows 11 VM at 1280x800 with Aardwolf 0.2.14" in what_works assert "candidate `82a658a` completed 3/3 trials" in what_works assert "unique file through the Windows Run dialog over network RDP" in what_works @@ -78,7 +78,7 @@ def test_public_offer_and_scoped_substrate_evidence_remain_distinct(): combined = "\n".join(pages) assert "acceptance remains in progress" not in combined - assert "RDP backend | **Supported / scoped deployment**" in combined + assert "RDP backend | **Early access**" in combined # Citrix / VDI is a first-class substrate mechanism but has no validated real # environment yet, so its honest label is Exploratory, matching the canonical # status.json ladder. The ICA/HDX honesty is preserved: each Citrix/VDI