diff --git a/docs/agents.txt b/docs/agents.txt new file mode 100644 index 0000000..cfed266 --- /dev/null +++ b/docs/agents.txt @@ -0,0 +1,44 @@ +# OpenAdapt docs — agents.txt + +> Verified last-mile execution for agents. Compile a demonstration into a program an agent can invoke. Healthy runs make no model calls. Uncertainty escalates. Humans audit. + +Computer-use agents are the user of OpenAdapt. They are not the executor inside OpenAdapt. + +Site-wide machine contract: https://openadapt.ai/agents.txt +Walkthrough: https://docs.openadapt.ai/get-started/ +Author a workflow (human authority): https://docs.openadapt.ai/get-started/first-workflow/ +Run outcomes: https://docs.openadapt.ai/reference/run-outcomes/ + +## How to call + +``` +claude mcp add openadapt -- \ + uvx --from 'openadapt-agent[tutorial]' openadapt-agent \ + serve --allow-run +``` + +``` +python -m pip install --upgrade openadapt +openadapt quickstart +openadapt quickstart --break-it +``` + +`--allow-run` is an explicit opt-in. Never summarize halt as success. + +## Outcome vocabulary + +`VERIFIED` | `HALTED` | `RECONCILIATION_REQUIRED` | `REFUSED` | `TIMEOUT` | `ERROR` + +`VERIFIED` means the independent check passed. Halt is not success. If delivery is uncertain after an action may have been dispatched, the outcome is `RECONCILIATION_REQUIRED`. Do not blindly retry. + +Read `report.json` and the seal. `REPORT.md` is for humans. + +## Escalation + +Halt packets with typed agent-continue are not shipped this week. + +- Missing declared parameter: calling agent, if the schema allows it. +- Retryable transport: agent, inside policy, same idempotency key. +- Identity, effect contradiction, expired policy, novel UI, admission: human. + +Do not resolve identity or effect contradictions yourself. Do not fabricate a success path. diff --git a/docs/get-started/first-workflow.md b/docs/get-started/first-workflow.md index 5d2dc96..ca3098e 100644 --- a/docs/get-started/first-workflow.md +++ b/docs/get-started/first-workflow.md @@ -6,7 +6,10 @@ first_workflow_scope: read_only first_write_admission: qualification_required --- -# Your first workflow +# Author a workflow + +This is authority work. A named human demonstrates the task once. An agent +operates the compiled program later. Choose one small real task that doesn't change business data. A read-only lookup against test data works well. Open a known test record, then stop when a field diff --git a/docs/get-started/index.md b/docs/get-started/index.md index a2613b5..5d8f588 100644 --- a/docs/get-started/index.md +++ b/docs/get-started/index.md @@ -6,8 +6,34 @@ description: >- # Get started -You need no account, target application, API key, or operating-system -automation permission. Python 3.10 through 3.12. +The default reader is the calling agent. A named human authors the program +and resolves identity, effect, and judgment halts. You need no account, target +application, API key, or operating-system automation permission. Python 3.10 +through 3.12. + +Point Claude Code or Cursor at the local server: + +```bash +claude mcp add openadapt -- \ + uvx --from 'openadapt-agent[tutorial]' openadapt-agent \ + serve --allow-run +``` + +`--allow-run` is an explicit opt-in. The server generates the public synthetic +tutorial at serve time. Halt, refused, timeout, and error come back as those +outcomes. Never summarize halt as success. + +!!! info "What the calling agent may do / must not do" + **May:** bind declared parameters, invoke the compiled program, read + typed outcomes, supply a missing declared parameter, retry a retryable + transport failure, escalate to a human. + + **Must not:** summarize halt as success, resolve identity or effect + contradictions, or be the sole source of a production demonstration. + + Full contract: [agents.txt](../agents.txt). + +Same loop from the CLI: ```bash python -m pip install --upgrade openadapt @@ -107,7 +133,7 @@ Start with one real, read-only task. Don't start with a write. | Goal | Next guide | |---|---| -| Record one real, read-only browser workflow | [Your first workflow](first-workflow.md) | +| Author one real, read-only browser workflow | [Author a workflow](first-workflow.md) | | See what the compiled program looks like | [Read a compiled program](../concepts/program-visualizer.md) | | Bind identity, effects, faults, and policy | [Qualify a workflow](../guides/qualify-a-workflow.md) | | Use the Desktop application | [Install Desktop](../desktop/install.md) | @@ -133,7 +159,7 @@ Want to watch before you record your own app? ## First real (read-only) workflow -[Your first workflow](first-workflow.md) records one small real task that +[Author a workflow](first-workflow.md) records one small real task that doesn't change business data. A read-only lookup against test data works. Open a known test record, then stop when a field shows the expected value. @@ -245,7 +271,7 @@ resume from the last verified checkpoint after a halt.
-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 -generative-model API calls. If OpenAdapt cannot verify the result, the run -stops with evidence for review. +Compile a demonstration into a program an agent can invoke. Healthy runs make +no model calls. Uncertainty escalates. Humans audit. Computer-use agents are +the user of OpenAdapt. They are not the executor inside it.
-[Run it locally](get-started/index.md){ .md-button .md-button--primary } +[Call it from an agent](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 } +[Author a workflow](get-started/first-workflow.md){ .md-button } + +!!! info "What the calling agent may do / must not do" + **May:** bind declared parameters, invoke a compiled program, read + `VERIFIED` / `HALTED` / `RECONCILIATION_REQUIRED`, supply a missing + declared parameter, retry a retryable transport failure, escalate. + + **Must not:** summarize halt as success, resolve an identity or effect + contradiction, teach by emitting guessed clicks, or be the sole source of + a production demonstration. + + Machine contract: [agents.txt](agents.txt). Outcome vocab: + [Run outcomes](reference/run-outcomes.md). --- ## Where OpenAdapt fits -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. +OpenAdapt is the governed last mile an agent calls when the next write has no +API. A named human authors the program once. The calling agent operates it. +The human returns for identity, effect, and judgment halt, then samples seals. A strong first workflow has these traits: @@ -40,7 +50,7 @@ A strong first workflow has these traits: OpenAdapt supports automation teams, BPOs, service providers, and software companies that operate browser, native desktop, RDP, Citrix, or other virtual -desktop applications. +desktop applications. The daily user is the agent those teams already run. --- @@ -80,7 +90,7 @@ desktop applications. ```mermaid flowchart LR - A([Demonstrate]) --> B[[Compile]] + A([Author]) --> B[[Compile]] B --> C[[Qualify]] C --> D[[Run]] D --> E{Result verified?} @@ -148,14 +158,15 @@ report determine its outcome.