diff --git a/README.md b/README.md index 80a6c52..d23ebf5 100644 --- a/README.md +++ b/README.md @@ -17,13 +17,12 @@ builds, validates, and publishes that site. ## About OpenAdapt -OpenAdapt is a governed demonstration compiler. Record a GUI workflow once, -compile it, and replay it deterministically with zero model calls on the -healthy path. When the screen drifts, it re-resolves or proposes a governed -repair, verifies real effects, and halts rather than guesses. Every execution -substrate is first-class (web, native Windows, native macOS, Linux, RDP, and -Citrix/VDI), local-first with an optional managed cloud, and open-core under -MIT. The flagship code lives at +OpenAdapt provides verified automation from demonstration. It compiles repeated +GUI work into deterministic programs for browser, Windows, macOS, Linux, RDP, +and Citrix/VDI. Healthy runs make no model calls. OpenAdapt checks the declared +result before it reports `VERIFIED` and stops when the required evidence is +missing. The local runtime is MIT licensed; managed Cloud is optional. The +flagship code lives at [github.com/OpenAdaptAI/openadapt](https://github.com/OpenAdaptAI/openadapt). ## What is in this repository diff --git a/docs/commercial/index.md b/docs/commercial/index.md index 8346a85..ed44924 100644 --- a/docs/commercial/index.md +++ b/docs/commercial/index.md @@ -1,11 +1,11 @@ # Commercial offers -This section is the buyer-facing collateral for OpenAdapt's commercial -offers. Every price and claim here matches the public +This section explains how a buyer can qualify and deploy one workflow. Every +price and claim matches the public [pricing page](https://openadapt.ai/pricing) and the [qualification evidence appendix](../get-started/what-works-today.md). -## The offer ladder +## Ways to work with OpenAdapt | Offer | Price | What it is | |---|---|---| @@ -16,9 +16,9 @@ offers. Every price and claim here matches the public | Production | Typically $48,000 to $120,000/year | Annual scope covering the qualified workflow family, environment, runners, evidence, support, and requalification. | | OEM / embedding | Typically $75,000 to $150,000/year plus scoped integration | Embed verified execution in another product. See the [OpenAdapt Execute private-pilot guide](oem-brief.md). | -The ladder is sequential by design: qualification before pilot, pilot before -production. The sprint is paid even when the correct outcome is not to -automate; a well-evidenced "do not automate" is a full-value deliverable. +The Workflow Qualification Sprint comes first. A successful qualification can +move to a supervised pilot and then to production. The sprint remains paid when +the evidence supports a "do not automate" decision. ## Buyer and evaluation resources diff --git a/docs/commercial/qualification-sprint.md b/docs/commercial/qualification-sprint.md index 2447447..3d85757 100644 --- a/docs/commercial/qualification-sprint.md +++ b/docs/commercial/qualification-sprint.md @@ -7,9 +7,9 @@ target once access is confirmed.** You bring one named workflow. We qualify the exact application, environment, identities, effects, failure cases, and deployment boundary, and you leave with -a signed go/no-go decision backed by evidence. Not a generic automation -strategy, not a proof-of-concept demo: a bounded engineering assessment of -whether this workflow can run safely, what it costs, and what it returns. +a signed go/no-go decision backed by evidence. The sprint is a bounded +engineering assessment of whether this workflow can run safely, what it costs, +and what it returns. The sprint qualifies **one** workflow in **one** application and **one** environment. Additional workflows, applications, or environments are separate @@ -21,8 +21,8 @@ sprints or scoped extensions. - Complex native, RDP, and Citrix scopes: **typically $25,000 to $40,000**, reflecting per-environment identity, verification, and fixture work. - The sprint fee is due regardless of outcome. **"Do not automate" is a valid, - full-value result**: you paid for a defensible decision, and a well-evidenced - no saves you the far larger cost of a bad production deployment. + full-value result**. The report gives you a defensible decision before you + fund a production deployment. ## When the clock starts diff --git a/docs/concepts/index.md b/docs/concepts/index.md index c63402a..a4cfc28 100644 --- a/docs/concepts/index.md +++ b/docs/concepts/index.md @@ -13,8 +13,8 @@ jump to what you need. - [__The substrate model__](substrate-model.md) - Routing across browser, native Windows, native macOS, native Linux, RDP, - and Citrix/VDI; one runner contract, every substrate first-class. + How one runner contract routes work across browser, native Windows, native + macOS, native Linux, RDP, and Citrix/VDI. - [__The deployment matrix__](deployment-matrix.md) @@ -38,8 +38,7 @@ jump to what you need. - [__The identity gate__](identity-gate.md) - Never click the wrong record. The identity ladder and why it refuses - rather than guesses. + How the identity ladder distinguishes records and refuses ambiguous input. - [__Governed self-healing__](self-healing.md) @@ -49,17 +48,17 @@ jump to what you need. - [__The workflow-program IR__](workflow-ir.md) Typed parameters, guards, `wait_until`, loops, branches, and subflows. A - program, not a trajectory. + compiled workflow uses these elements to express the intended work. - [__Multi-trace induction__](multi-trace-induction.md) - One demo is evidence, not a specification. How more traces recover the - intended program. + How several demonstrations provide enough evidence to recover a more + complete program. - [__The halt-learn loop__](halt-learn-loop.md) - Halt, demonstrate the fix, induce it through a regression gate, and never - halt there again. Governed, $0, no free-form agent. + Demonstrate a correction, compile it, and pass it through regression and + promotion gates before the workflow uses it. - [__Durable runtime__](durable-runtime.md) @@ -74,10 +73,9 @@ jump to what you need. - [__Backends: where it runs__](backends.md) Browser (Playwright), native Windows (UIA), native macOS, native Linux - (AT-SPI), RDP, and Citrix/VDI are all first-class substrates behind one - backend protocol. The same bundle, resolution ladder, identity gate, and - effect verification run on each; every workflow is qualified in its real - environment. + (AT-SPI), RDP, and Citrix/VDI use one backend protocol. Each surface uses + the same bundle, identity, result, and policy contracts. Each workflow is + qualified in its real environment. - [__The on-prem VLM appliance__](vlm-appliance.md) diff --git a/docs/get-started/index.md b/docs/get-started/index.md index 5e17053..20e03d2 100644 --- a/docs/get-started/index.md +++ b/docs/get-started/index.md @@ -1,23 +1,21 @@ --- description: >- - Install OpenAdapt and complete the five-minute record, compile, certify, - replay, repair, seal, and deploy journey from the unified CLI. + Install OpenAdapt, complete a verified local tutorial, and choose the next + guide for browser, desktop, RDP, Citrix, or production use. --- # Get started -Start with one complete local result. Then choose the guide for your target -surface. You do not need to understand the package layout first. - -This is the whole loop — record a demonstration once, compile it, and replay -it deterministically: +Start with one complete local result. You do not need to understand the package +layout first. The tutorial records a demonstration, compiles it into a program, +runs the program, and verifies the saved result. ![OpenAdapt records, compiles, and replays a demonstrated workflow](../assets/showcase/demo.gif) ## First success: two commands -The fastest path needs no account, target application, API key, or -operating-system automation permission: +You need no account, target application, API key, or operating-system +automation permission: ```bash python -m pip install --upgrade 'openadapt[browser]' @@ -51,7 +49,7 @@ openadapt flow visualize openadapt-quickstart/bundle --out graph.html openadapt flow lint openadapt-quickstart/bundle ``` -You can stop here after your first run. Next, use one of these paths: +After the first run, choose the path that matches your goal: | Goal | Next guide | |---|---| @@ -94,11 +92,10 @@ openadapt flow replay openadapt-quickstart/bundle \ --run-dir openadapt-quickstart-halt ``` -!!! success "The nonzero exit is the demonstration succeeding" - The command exits `1` **because the expected outcome is a - [halt](../reference/glossary.md#halt)** — the safety boundary refusing to - act on a screen state the compiled program has no branch for. If you see - `Replay HALTED`, the fail-closed gate worked; continue below. Open +!!! note "Why this command exits 1" + The command expects a [halt](../reference/glossary.md#halt), so it exits + `1`. The compiled program has no approved branch for the changed screen + state and refuses to act. If you see `Replay HALTED`, open `openadapt-quickstart-halt/REPORT.md` to see the retained evidence. Do not retry a possibly dispatched write; reconcile it against an independent system of record first. Every outcome is defined in @@ -155,10 +152,9 @@ openadapt flow run bundle-prod --config deployment.yaml --dry-run openadapt flow run bundle-prod --config deployment.yaml ``` -!!! success "If `certify` exits nonzero here, the gate is working" - A failing certification exits `2` and prints each violated requirement. - That is the point of the gate: an unsafe bundle is refused before it can - ship. Close the gaps it names (see +!!! note "Why certification can exit 2" + A failed certification exits `2` and prints each violated requirement. + OpenAdapt refuses the bundle before deployment. Close the gaps it names (see [Write and enforce a policy](../guides/policy-and-certification.md)), then re-run `certify` and continue. @@ -169,9 +165,9 @@ refuses symlinks and an existing destination, encrypts the workflow and template crops, verifies the result, and expires any certification inherited from the source. Key custody and rotation belong to the deployment. -## Beyond one demonstration +## After the tutorial -Once the basic loop makes sense, the same $0 runtime carries more: +The local runtime also supports these paths: - **[Induce a program](../guides/induce-a-program.md)** from several recordings (`induce`), and loop it over a data source with `replay --worklist`. diff --git a/docs/guides/index.md b/docs/guides/index.md index f79f54e..092c950 100644 --- a/docs/guides/index.md +++ b/docs/guides/index.md @@ -21,7 +21,8 @@ How-to guides for real deployments. Each assumes you have - [__Write and enforce a policy__](policy-and-certification.md) - Use `lint` and `certify` to make "runnable" distinct from "safe." + Use `lint` to find gaps and `certify` to refuse a bundle that violates the + selected policy. - [__Qualify a workflow__](qualify-a-workflow.md) @@ -44,8 +45,8 @@ How-to guides for real deployments. Each assumes you have - [__Security and data handling__](security-and-data-handling.md) - The pilot-approval dossier: local-by-default data flow, PHI/PII posture, - secrets, verification and audit, and the IT-review FAQ. + Review the local data flow, PHI/PII boundary, secrets, verification, + audit evidence, and IT questions. - [__Security and deployment review__](security-review.md) diff --git a/docs/guides/induce-a-program.md b/docs/guides/induce-a-program.md index 84ef81c..a48a444 100644 --- a/docs/guides/induce-a-program.md +++ b/docs/guides/induce-a-program.md @@ -27,7 +27,7 @@ openadapt flow induce rec-1 rec-2 rec-3 --out program --name my-program ``` `induce` aligns the traces to recover the shared parameters, loops, and branches. -It is deterministic and model-free at its core. The outcome is one of two explicit +The process is deterministic and model-free. The outcome is one of two explicit results: - **CERTIFIED**: it writes a parameterized program bundle to `--out` and prints diff --git a/docs/index.md b/docs/index.md index 6c30835..86d9e11 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,260 +1,166 @@ --- -title: OpenAdapt, the demonstration compiler +title: OpenAdapt documentation description: >- - Learn how OpenAdapt compiles demonstrated browser, desktop, RDP, and Citrix - workflows into deterministic replay with identity, effect, and refusal gates. + Learn how OpenAdapt turns demonstrated browser, desktop, RDP, and Citrix + work into deterministic programs with explicit identity and result checks. hide: - toc --- -# Show it a repeated workflow. OpenAdapt compiles it into governed, deterministic replay. +# Verified automation from demonstration

-OpenAdapt is a demonstration compiler for repeated GUI work across browser, -Windows, macOS, Linux, RDP, Citrix, and other virtual desktops. Demonstrate a -task once. OpenAdapt compiles it into a deterministic, locally executable -program that replays with no model calls on a healthy run. When interfaces -drift, it re-resolves targets deterministically or uses an explicitly configured -model tier, records the repair, and halts instead of guessing when verification -fails. +Show OpenAdapt a repeated task. It compiles the demonstration into a +deterministic program for browser, desktop, RDP, or Citrix, then checks the +declared result before it reports success. A healthy run makes no model calls. +If OpenAdapt cannot verify the result, the run stops with evidence for review.

-[Try it locally](get-started/index.md){ .md-button .md-button--primary } -[Read the concepts](concepts/demonstration-compiler.md){ .md-button } -[Evaluate a workflow](https://openadapt.ai/qualify){ .md-button } +[Run it locally](get-started/index.md){ .md-button .md-button--primary } +[See how the compiler works](concepts/demonstration-compiler.md){ .md-button } +[Review a workflow](https://openadapt.ai/qualify){ .md-button } --- -## Who it is for +## Where OpenAdapt fits -OpenAdapt is built for **regulated, repetitive work in web, desktop, and -virtual-desktop interfaces**: the 500th patient referral this month, the daily -claims batch, the mortgage file that moves through six screens the same way -every time. A person has already figured out the task, it runs many times, and -a wrong action has real cost. +OpenAdapt handles repeated work that still requires a person to operate an +application. Teams often use it for the final interface step after their input +and business rules already exist. -A computer-use agent re-reasons through the whole task with a large model on -every run. That fits a task nobody has automated before, not a workflow you run -a thousand times. OpenAdapt compiles the demonstration instead, so the model is -consulted only to repair the script, not to drive it. +A strong first workflow has these traits: -One compiled workflow and one governance model run across browser, Windows, -native macOS, native Linux, RDP, Citrix, and other VDI surfaces. Each substrate -supplies the strongest observations and actions available; the compiler, -identity checks, effect verification, policy, repair, and audit trail stay -consistent. Teams qualify each workflow against its real application and -success oracle before production use. +- A person can demonstrate the task from start to finish. +- The inputs are mostly structured and the business intent stays stable. +- The application has no practical write API for the required step. +- A wrong action has an operational, financial, or compliance cost. +- Another system, account, or session can check the result. +- The work repeats often enough to justify qualification. + +OpenAdapt supports automation teams, BPOs, service providers, and software +companies that operate browser, native desktop, RDP, Citrix, or other virtual +desktop applications. --- -## Three things that make it different +## What the compiler produces
-- __Deterministic, model-free replay__ - - --- - - A compiled workflow replays with **zero model calls** on the healthy path. - Structural selectors or accessibility evidence lead where the surface - provides them; visual anchors, OCR, and geometry cover opaque interfaces. - Self-hosted healthy replay has no model-API charge; hosted infrastructure - and service pricing are separate. - - [The demonstration compiler →](concepts/demonstration-compiler.md) +- __An inspectable program__ -- __Effect verification__ + The compiler turns the demonstrated actions into explicit steps, + parameters, guards, and expected state changes. You can review the program + before it runs. - --- + [The demonstration compiler](concepts/demonstration-compiler.md) - The screen is not the system of record. A save banner can paint over an - empty database. OpenAdapt can verify each write against the real record - (a FHIR or REST API, a document store) and halt on a mismatch. +- __Evidence for each consequential step__ - [Effect verification →](concepts/effect-verification.md) + A step can carry structural selectors, accessibility data, visual anchors, + identity requirements, and a declared result check. The available evidence + depends on the application surface. -- __Halt, don't guess__ + [The capability ladder](concepts/capability-ladder.md) - --- +- __A typed outcome and report__ - When the screen stops matching expectations, the run stops with a report - instead of clicking the wrong thing. An identity gate refuses to act when - it cannot tell two records apart. + `VERIFIED` means the declared result check passed. A run that cannot meet + its identity, result, policy, or state requirements stops and records the + reason. - [The identity gate →](concepts/identity-gate.md) + [Run outcomes](reference/run-outcomes.md)
--- -## The shape of it +## How one workflow runs ```mermaid flowchart LR - A([Demonstrate
once]) --> B[[compile]] - B --> C{{Workflow
bundle}} - C --> D[[replay]] - D -->|healthy path| E([Deterministic
$0 run]) - D -->|UI drifted| F[[self-heal]] - F -->|repair as diff| E - D -->|cannot verify| G([Halt safely
+ report]) - G -->|demonstrate the fix| H[[learn]] - H -->|governed & gated| C + A([Demonstrate]) --> B[[Compile]] + B --> C[[Qualify]] + C --> D[[Run]] + D --> E{Result verified?} + E -->|yes| F([VERIFIED]) + E -->|no or uncertain| G([HALTED + report]) + D -->|interface changed| H[[Re-resolve from evidence]] + H -->|resolved| D + H -->|repair needed| I[[Review repair]] + I --> C ``` -Each compiled step carries a template crop, an OCR label, geometry landmarks, -and postconditions derived from what the demonstration changed on screen. At -replay a resolution ladder tries them in order. Healthy scripts never leave the -first rung. When the UI drifts, a lower rung still finds the target, and the fix -is written back to the bundle as a reviewable diff. When nothing matches, the -run halts safely instead of guessing. - -A halt is not a dead end. Demonstrate the fix once and `openadapt flow teach` -compiles the correction back into the workflow, through the same identity, -effect, and policy checks that gate everything else, so it will not halt on that -situation again. The correction becomes a guarded branch, a regression gate -proves it weakens nothing, and only a verified revision is promoted; an -underdetermined or unsafe fix is refused, not guessed at. It is deterministic -and runs at $0 with the reference inducer. See -[The halt-learn loop](concepts/halt-learn-loop.md). +The healthy path follows the approved program with no generative-model calls. +When the interface changes, OpenAdapt first uses the evidence retained from the +demonstration. A configured model can propose a repair when policy permits. +The repaired version passes the same review and qualification gates before +promotion. ---- +OpenAdapt separates action delivery from result verification. A save message +on the acting screen does not prove that the intended record changed. A +workflow can verify the result through an API, database, document store, +read-only session, or persisted-state reacquisition. -## One runner, any surface, any deployment - -The execution contract carries the same compiled bundle across surfaces and -deployment boundaries. A [substrate-agnostic runner](concepts/substrate-model.md) -routes each job to the right driver while governance stays above that boundary. -Two orthogonal axes, one contract: - -| Deployment ↓ / Substrate → | **Web (browser)** | **Windows UIA** | **Native macOS** | **Native Linux** | **RDP** | **Citrix / VDI** | -|---|---|---|---|---|---|---| -| **OpenAdapt Cloud** | Managed runner, schedules, reports, usage, and billing | Customer-controlled runtime connected to Cloud | Customer-controlled runtime connected to Cloud | Customer-controlled runtime connected to Cloud | Customer-controlled runtime connected to Cloud | Customer-controlled runtime connected to Cloud | -| **Customer cloud / BYOC** | Customer runner and storage with managed governance | Customer runner and storage | Customer runner and storage | Customer runner and storage | Customer runner and storage | Customer runner and storage | -| **Self-hosted / on-prem** | Local runner and audit trail | Local runner and audit trail | Local runner and audit trail | Local runner and audit trail | Local runner and audit trail | Local runner and audit trail | - -You choose where execution and data live. For regulated data the -[`run`](concepts/regulated-execution.md) verb is **fail-closed by default**: -it gates certification, identity and effect coverage, approval fallback, -encryption, and manifest integrity before execution. - -The public subscription covers approved browser workflows on the managed -runner. Windows, macOS, Linux, RDP, and Citrix/VDI execute in a local, -self-hosted, or customer-controlled boundary and can connect to the same Cloud -control plane for governed operation. They are not silently moved into -OpenAdapt's shared managed-browser boundary or included as managed-runner -entitlements. The -[hosted guide](guides/hosted.md), -[qualification evidence](get-started/what-works-today.md), and commercial terms -define the accepted scope. Artifacts cross boundaries only as approved sanitized -derivatives; PHI/PII-bearing runtime observations stay inside their declared trusted -execution boundary. +[Read about effect verification](concepts/effect-verification.md){ .md-button } +[Read about identity checks](concepts/identity-gate.md){ .md-button } --- -## Measured, not claimed - -The [OpenAdapt website](https://openadapt.ai/how-it-works) and -[public Cloud demo](https://app.openadapt.ai/demo#footage) share one viewer -contract for real OpenEMR, Frappe Lending, and openIMIS footage: - -- **Recorded demonstration** is source capture and carries no execution outcome. -- **Verified replay** appears only for exact replay media bound to a complete - passing outcome contract. -- **Fail-safe halt** appears only when exact retained halt media exists. The - current openIMIS reference includes it; the viewer never invents a halt mode - for another application. +## Where it runs -**Guided view** adds the presentation layer to a derivative; **Raw footage** -shows the immutable media. Guided target tracking appears only when the media -digest, exact decoded frame, viewport mapping, and runtime target binding all -agree. The status capsule uses a bottom corner that does not cover the target -or another protected region, and disappears if neither corner is safe. Neither -the target outline nor the capsule is verification evidence. +| Surface | Execution options | Evidence available | +|---|---|---| +| Browser | Local, customer-controlled, or managed for approved workflows | DOM, accessibility, visual, geometry, and interaction evidence | +| Windows, macOS, Linux | Local or customer-controlled | Native accessibility data plus retained visual evidence | +| RDP, Citrix, VDI | Local or customer-controlled | Window-scoped pixels, keyboard, mouse, OCR, and visual anchors | -Cloud uses the same application, mode, and view choices, then adds an openIMIS -deep dive with the compiled graph, contracts, six retained Standard-profile -results, and byte-inventoried evidence links. **VERIFIED** means the complete -declared contract passed; **HALTED** means the run stopped rather than claim an -outcome it could not prove. +Each workflow is qualified against its exact application, environment, +identity rules, result verifier, and deployment boundary. The +[qualification evidence](get-started/what-works-today.md) records the supported +scope and its limits. -[Watch the shared real-application demo](https://openadapt.ai/how-it-works){ .md-button .md-button--primary } -[Inspect the Cloud evidence deep dive](https://app.openadapt.ai/demo#footage){ .md-button } +Sensitive runtime observations stay inside the declared execution boundary. +Only an approved, sanitized derivative can cross that boundary. -We publish the numbers and the failure modes. This result runs **both arms**, -compiled replay against a computer-use agent, under the same arm-independent -success check. **OpenEMR** is the flagship real-EMR head-to-head: +[Compare deployment options](concepts/deployment-matrix.md){ .md-button } +[Review security and data handling](guides/security-and-data-handling.md){ .md-button } -| Task | Compiled replay | Computer-use agent | -|---|---|---| -| **OpenEMR** (real third-party EMR, add-patient-note, 18 steps) | 20/20, 39.2s p50, **$0/run**, 0 model calls | 10/10, 70.4s p50, ~$0.55/run | +--- -The compiled arm made no model calls and recorded no model-API cost in these -measured runs. This excludes authoring, review, infrastructure, exception, and -service costs. Full methodology and caveats live in the [openadapt-flow benchmark -docs](https://github.com/OpenAdaptAI/openadapt-flow/tree/main/benchmark). +## Inspect the evidence -### Governed replay across verticals +The public references include the source demonstration, compiled replay, +declared verifier, run counts, failure categories, and limits for each claim. +The visual demo helps you understand a run. The result verifier and retained +report determine its outcome. -On 2026-07-21, the paid computer-use agent arm was run on all three pinned, -synthetic reference environments. Each trial began from a reset baseline, -drove the same task contract as the compiled reference, and was classified by -an arm-independent system-of-record oracle rather than pixels or the agent's -self-report. The agent used `claude-sonnet-5` with explicit action and cost -caps. - -| Vertical (pinned, synthetic) | Earlier compiled / API reference | Paid computer-use agent | -|---|---|---| -| **Insurance** (openIMIS claim intake) | 3/3 compiled replays SQL-verified, $0, 0 model calls | **3/3 correct**, 0/3 over-halt, 0/3 silent incorrect, $0.4793/run | -| **Lending** (Frappe Lending loan application) | compiled + API 12/12 correct, $0, 0 model calls | **6/6 correct writes** (5/6 clean), 1/6 post-write cost-cap over-halt, 0/6 silent incorrect, $0.4240/run | -| **Healthcare** (OpenEMR patient registration) | compiled + API 12/12 correct, $0, 0 model calls | **0/6 correct; 6/6 missing write**, 0/6 over-halt, 0/6 silent incorrect, $0.8901/run | - -These are **not matched head-to-head rows**. The paid-agent trials used newly -provisioned baselines separate from the earlier compiled/API subsets, and the -sample is small (3-6 trials per environment). They are local engineering -evidence, not a publication matrix, certification result, or broad claim about -computer-use agents. The OpenEMR row is an honest negative result: all six -bounded runs ended after exhausting their action budget without writing a -patient. - -All three environments used synthetic data on one local host and ran through -the **Browser (Playwright)** substrate, whose reference path is **Beta**. The -healthcare row is distinct from the shared-public-demo OpenEMR field result -above. Frappe Lending and openIMIS are API-rich references, and neither is -evidence for a legacy Windows/Citrix system. - -The public [aggregate report](https://github.com/OpenAdaptAI/openadapt-flow/tree/main/benchmark/agent_arm_verticals) -retains the method, run counts, outcomes, failure taxonomy, and caveats. Raw -per-run rows, environment fingerprints, detailed spend records, and -application-specific driver/oracle recipes are retained privately and are not -part of the public repository or package. +[Watch the real-application demo](https://openadapt.ai/#demo){ .md-button .md-button--primary } +[Review qualification evidence](get-started/what-works-today.md){ .md-button } +[Read the benchmark methods](https://github.com/OpenAdaptAI/openadapt-flow/tree/main/benchmark){ .md-button } --- -## Start here +## Choose your next step
-- [__Get started__](get-started/index.md) - - Install, compile, lint, certify, drift, inspect, teach, and deploy. - -- [__Qualification evidence__](get-started/what-works-today.md) +- [__Try the local tutorial__](get-started/index.md) - Accepted substrate results, exact environments, and deployment boundaries. + Install OpenAdapt and produce a verified local result with two commands. -- [__Core concepts__](concepts/index.md) +- [__Record your application__](get-started/first-workflow.md) - The compiler model, the capability ladder, effect verification, the - identity gate, and how safety is enforced. + Capture one browser workflow, compile it, run it, and inspect the report. -- [__Guides__](guides/index.md) +- [__Prepare a production workflow__](guides/qualify-a-workflow.md) - Record your own app, handle parameters and secrets, write a policy, and - deploy on-prem. + Define the identities, results, failure cases, policy, and deployment + boundary for one exact workflow. -- [__Reference__](reference/index.md) +- [__Review the commercial offer__](commercial/qualification-sprint.md) - Every `openadapt flow` verb, the bundle format, and configuration. + See the scope, inputs, evidence, and deliverables for a paid Workflow + Qualification Sprint.