Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
49b60dd
Merge remote-tracking branch 'origin/main' into feat/narration-rules
abrichr Oct 18, 2026
8f90a16
feat(capture): scrub narration and store it as timed sentences
abrichr Oct 18, 2026
6da5aab
feat(flow): narration proposes branch guards; recordings or a person …
abrichr Oct 18, 2026
3824549
feat(flow): probe the narrated guard on a test copy; induce and narra…
abrichr Oct 18, 2026
f3e4a50
feat(flow): show narrated guards in visualize and repair show; narrat…
abrichr Oct 18, 2026
3d5f3d5
docs: narration in capture and flow, capability row in review
abrichr Oct 18, 2026
b6ec4e8
Merge remote-tracking branch 'origin/flow/probe-induction' into feat/…
abrichr Oct 18, 2026
9058afb
fix(flow): convert a capture without narration when its file is refused
abrichr Oct 18, 2026
1b15d54
fix(flow): review findings on narrated guards
abrichr Oct 18, 2026
e387c81
flow: keep the server's answer to a save, labelled same_screen
abrichr Oct 18, 2026
27e3569
Merge branch 'flow/desktop-readback' into flow/save-response-evidence
abrichr Oct 18, 2026
354cbc3
flow: server answer evidence review fixes
abrichr Oct 18, 2026
d5a2501
Merge branch 'flow/desktop-readback' into flow/save-response-evidence
abrichr Oct 18, 2026
21105d2
Merge flow/desktop-readback; regenerate claims report and artifact in…
abrichr Oct 18, 2026
ac1f101
Merge branch 'flow/desktop-readback' into flow/save-response-evidence
abrichr Oct 18, 2026
86e2e3c
Merge remote-tracking branch 'origin/main' into feat/narration-rules
abrichr Oct 19, 2026
c2a6f99
Merge branch 'flow/desktop-readback' into flow/save-response-evidence
abrichr Oct 19, 2026
2c99d59
Merge remote-tracking branch 'origin/main' into feat/narration-rules
abrichr Oct 19, 2026
534265b
fix(flow): lint and artifact inventory for narration
abrichr Oct 19, 2026
0533f97
Merge flow/desktop-readback; arm the server-answer log at the first save
abrichr Oct 19, 2026
665d8a8
Merge remote-tracking branch 'origin/main' into claude/mcp-teach-comp…
abrichr Oct 19, 2026
e8ec967
feat(agent): teach a workflow over MCP, then call it with no model calls
abrichr Oct 19, 2026
a8e1eb0
docs: link the teach-over-MCP PR in CAPABILITIES.md
abrichr Oct 19, 2026
568a111
Merge remote-tracking branch 'origin/claude/crystallize-from-prompt-8…
abrichr Oct 19, 2026
d9dbaee
Merge remote-tracking branch 'origin/main' into feat/narration-rules
abrichr Oct 19, 2026
e25c447
docs: an agent's claims versus the read-back, 30 of 30 bad saves
abrichr Oct 19, 2026
97effbd
scoreboard: OpenEMR claims runner (faults in the fixture database onl…
abrichr Oct 19, 2026
328e4fb
fix(agent): bind each person's approval to one action; gate more off …
abrichr Oct 19, 2026
4a1d781
Fix four false stops in the extra identity looks
abrichr Oct 19, 2026
76eaaab
Merge branch 'claude/hover-identity' into claude/pixel-identity-measure
abrichr Oct 19, 2026
f73e8e8
Measure the extra identity looks and the hover look, before and after
abrichr Oct 19, 2026
e103f68
Register the new evidence files in the public artifact inventory
abrichr Oct 19, 2026
41dacc2
ci: pin two reviewed gitleaks false positives (key_dir in MCP teach t…
abrichr Oct 19, 2026
a3ad5e0
Merge remote-tracking branch 'origin/main' into flow/save-response-ev…
abrichr Oct 19, 2026
9f097a3
Merge branch 'claude/hover-identity' into claude/pixel-identity-measure
abrichr Oct 19, 2026
5af281c
Mention the check-to-click guard in CAPABILITIES.md
abrichr Oct 19, 2026
ca1020d
Merge origin/main into guard branch (brings in API steps #1269)
abrichr Oct 19, 2026
e4d5e81
bench: silent-saves, score any GUI executor on injected bad saves
abrichr Oct 19, 2026
dacf2c4
flow: list the silent-saves data in the public artifact inventory
abrichr Oct 19, 2026
a94ffbe
WIP: seal every bundle and recording file under one index
abrichr Oct 19, 2026
1a73a54
Propose undo steps and verify them on a test copy
abrichr Oct 19, 2026
d66be00
Merge remote-tracking branch 'origin/main' into claude/pixel-identity…
abrichr Oct 19, 2026
4ef7f70
Regenerate the public artifact inventory after merging main
abrichr Oct 19, 2026
275c7f1
Merge remote-tracking branch 'origin/main' into flow/save-response-ev…
abrichr Oct 19, 2026
bf6c96f
undo propose: form-post and GraphQL reasons, offline rows, undo list …
abrichr Oct 19, 2026
835803f
Merge remote-tracking branch 'origin/main' into claude/gracious-chand…
abrichr Oct 19, 2026
1ceaf08
WIP: sealed runs, CLI guard, at-rest tests
abrichr Oct 19, 2026
b518949
undo propose: say what would close each step's gap; offline OpenEMR/o…
abrichr Oct 19, 2026
54d9962
feat(flow): guard an agent you already run (commit guard over CDP, ru…
abrichr Oct 19, 2026
bbc452f
WIP: keep compile, induce, qualify, admit, scaffold-verifier and undo…
abrichr Oct 19, 2026
9774017
test(flow): agent guard benchmark harness, e2e test, docs draft
abrichr Oct 19, 2026
59a45e6
WIP: sealed resume, attended state, nested undo runs
abrichr Oct 19, 2026
929f205
undo propose: fix test-copy snapshot identity; live MockLoan rows
abrichr Oct 19, 2026
b46f941
scoreboard: timed OpenEMR worklist runs (arms 3, 4, 6), per-run break…
abrichr Oct 19, 2026
7a9b20d
undo propose benchmark: Markdown table output
abrichr Oct 19, 2026
b7e1617
undo propose: results tables in docs, regenerate artifact inventory
abrichr Oct 19, 2026
43aa5ea
CAPABILITIES: link #1346
abrichr Oct 19, 2026
89bfeed
scoreboard: Amendment 4 (worklist runs, self-loaded arm 6), per-run e…
abrichr Oct 19, 2026
72343f6
flow: refresh the public artifact inventory
abrichr Oct 19, 2026
06c5af1
WIP: docs, measurements, record --no-encrypt
abrichr Oct 19, 2026
9cdba9a
Register the at-rest benchmark results in the public artifact inventory
abrichr Oct 19, 2026
6fe77bf
WIP: bind-record-checks keeps a sealed bundle sealed; approve on seal…
abrichr Oct 19, 2026
60eebbb
fix(flow): guard on its own connection, recorder on its own thread; r…
abrichr Oct 19, 2026
af6f39d
bench(silent-saves): proof images, reference runs, detection apart fr…
abrichr Oct 19, 2026
deece7a
flow: list the silent-saves proof and reference runs in the public ar…
abrichr Oct 19, 2026
a9c4bd0
Merge remote-tracking branch 'origin/main' into claude/cool-tesla-63b116
abrichr Oct 19, 2026
7f16c5a
scoreboard: Amendment 5 (quiet-window overlap; per-row load gate held)
abrichr Oct 19, 2026
7c04617
Seal look-up check proposals in encrypted recordings; refresh llms-full
abrichr Oct 19, 2026
6db638f
bench(flow): measure the agent guard on MockMed; docs and capability map
abrichr Oct 19, 2026
6c7f103
chore(flow): regenerate the public artifact inventory for the agent g…
abrichr Oct 19, 2026
f8a88ef
style: format the agent guard report
abrichr Oct 19, 2026
f045824
docs: link the agent guard PR in the capability map
abrichr Oct 19, 2026
42cec77
docs: state run 2's profile and the recorded reason no API step was p…
abrichr Oct 19, 2026
8339efd
flow: threat model and prompt-injection controls for teach and repair
abrichr Oct 19, 2026
1e8683f
docs: link #1359 in the capability map
abrichr Oct 19, 2026
1c6f425
bench(silent-saves): fault set 1.1.0, repeated runs under UI change
abrichr Oct 19, 2026
031836f
bench(silent-saves): arms 2 and 3r for fault set 1.1.0
abrichr Oct 19, 2026
3091155
bench(silent-saves): arm 2 run on fault set 1.1.0; keep the item's fa…
abrichr Oct 19, 2026
dad5d57
scoreboard: arm 5 (OpenEMR API step, #1269) and its interleaved API-o…
abrichr Oct 19, 2026
cac6cf4
flow: refresh the public artifact inventory
abrichr Oct 19, 2026
2e2e176
undo propose: live MockMed row
abrichr Oct 19, 2026
bfa7d55
Regenerate public artifact inventory
abrichr Oct 19, 2026
67eafc2
Merge remote-tracking branch 'origin/main' into claude/gracious-chand…
abrichr Oct 19, 2026
77687d9
scoreboard: OpenEMR agent/screen/API comparison section, exact profil…
abrichr Oct 19, 2026
b4fcb9d
flow: refresh the public artifact inventory
abrichr Oct 19, 2026
eefb618
Merge remote-tracking branch 'origin/main' into HEAD
abrichr Oct 19, 2026
2bdbd2a
docs: README leads with the measured OpenEMR times and the 30 of 30 c…
abrichr Oct 19, 2026
0de133d
docs: scope the API step to single HTML form submissions
abrichr Oct 19, 2026
1ec521c
scoreboard: the agent's claims versus verify-run on OpenEMR (faults i…
abrichr Oct 19, 2026
b7db4e3
flow: refresh the public artifact inventory
abrichr Oct 19, 2026
1e1d83e
docs: the OpenEMR claims result, 25 of 30 caught, and its collateral-…
abrichr Oct 19, 2026
fb0e85a
scoreboard: arm 7 timed pass (10 of 10 correct, 1 row timed), n besid…
abrichr Oct 19, 2026
16d65f9
flow: refresh the public artifact inventory
abrichr Oct 19, 2026
48b0ad0
verify-run: a record outside the target that changed is collateral, n…
abrichr Oct 19, 2026
e98bedc
bench(silent-saves): match MockMed's fault hook line exactly, not wit…
abrichr Oct 19, 2026
afdc517
Merge remote-tracking branch 'origin/main' into HEAD
abrichr Oct 19, 2026
528e0e4
Merge remote-tracking branch 'origin/main' into HEAD
abrichr Oct 19, 2026
4497323
bench(silent-saves): match MockMed's fault hook line exactly, not wit…
abrichr Oct 19, 2026
9850b62
verify-run collateral change: compare values in canonical form (a bas…
abrichr Oct 19, 2026
26ef5db
Replayer undo hook: accept no effects (mypy)
abrichr Oct 19, 2026
fe5b410
Fix CI: mypy in sealed_set, test doubles without encryption hooks, Co…
abrichr Oct 19, 2026
4ba1401
Merge remote-tracking branch 'origin/main' into claude/cool-tesla-63b116
abrichr Oct 19, 2026
5796e05
Merge remote-tracking branch 'origin/main' into claude/gracious-chand…
abrichr Oct 19, 2026
bb7c97f
bench(silent-saves): per-item timeout, arm 1 run and hand checks, 1.1…
abrichr Oct 19, 2026
34ceb6d
Merge remote-tracking branch 'origin/main' into flow/save-response-ev…
abrichr Oct 19, 2026
4e6878c
bench(silent-saves): keep arm 2's admission records with its results
abrichr Oct 19, 2026
13e7a80
Merge origin/main into claude/mcp-teach-compile-a652e8
abrichr Oct 19, 2026
54924e6
Merge remote-tracking branch 'origin/claude/mcp-teach-compile-a652e8'…
abrichr Oct 19, 2026
a3c2cac
Merge branch 'claude/hover-identity' into claude/pixel-identity-measure
abrichr Oct 19, 2026
6e1b36c
Merge remote-tracking branch 'origin/main' into claude/pixel-identity…
abrichr Oct 19, 2026
1ae6440
undo_proposal: narrow selector value type (mypy)
abrichr Oct 19, 2026
5a67d8c
Merge remote-tracking branch 'origin/main' into claude/silly-mirzakha…
abrichr Oct 19, 2026
36a5fb7
Merge origin/main into the agent guard branch
abrichr Oct 19, 2026
c38aea4
scoreboard: re-judge OpenEMR collateral_edit and clean items with #13…
abrichr Oct 19, 2026
a0794ce
flow: refresh the public artifact inventory
abrichr Oct 19, 2026
c72d21f
scoreboard claims: pass the item's values to verify-run on stdin, nev…
abrichr Oct 19, 2026
3553c9b
test(flow): don't load mcp when collecting the MCP teach tests
abrichr Oct 19, 2026
2a302c6
verify-run collateral change: compare driver values with their stored…
abrichr Oct 19, 2026
250d3c8
bench(silent-saves): fault set 1.1.0 results for arms 1, 1+read-back,…
abrichr Oct 19, 2026
68ae7fc
flow: list the silent-saves 1.1.0 data in the public artifact inventory
abrichr Oct 19, 2026
b1d52d2
Merge remote-tracking branch 'origin/bench/silent-saves' into bench/s…
abrichr Oct 19, 2026
1aac2b3
Merge remote-tracking branch 'origin/main' into claude/silly-mirzakha…
abrichr Oct 19, 2026
a0ee939
Merge remote-tracking branch 'origin/main' into claude/cool-tesla-63b116
abrichr Oct 19, 2026
6a0daa9
Merge remote-tracking branch 'origin/main' into flow/save-response-ev…
abrichr Oct 19, 2026
4999d26
Merge origin/main into claude/mcp-teach-compile-a652e8
abrichr Oct 19, 2026
9c67a6d
Merge origin/main into the agent guard branch (split files)
abrichr Oct 19, 2026
623b614
Merge #1335's updated branch into the agent guard branch
abrichr Oct 19, 2026
b7f5eaa
Merge remote-tracking branch 'origin/main' into HEAD
abrichr Oct 19, 2026
aa3757a
Merge remote-tracking branch 'origin/main' into HEAD
abrichr Oct 19, 2026
e8637f1
Merge remote-tracking branch 'origin/main' into HEAD
abrichr Oct 19, 2026
bf8e244
Merge remote-tracking branch 'origin/main' into HEAD
abrichr Oct 19, 2026
c674230
Merge remote-tracking branch 'origin/main' into HEAD
abrichr Oct 19, 2026
dc7d7d8
Merge remote-tracking branch 'origin/main' into HEAD
abrichr Oct 19, 2026
c3103a3
Merge remote-tracking branch 'origin/main' into HEAD
abrichr Oct 19, 2026
a1f06b1
bundle validation: omit forbid_collateral_change=False from sealed v2…
abrichr Oct 19, 2026
ee0f348
docs: public copy lists only shipped work; test for status words
abrichr Oct 19, 2026
d20023e
Merge #1375 into batch safety
abrichr Oct 19, 2026
cc1b237
Merge #1354 into batch safety
abrichr Oct 19, 2026
e784cf8
Merge #1298 into batch safety
abrichr Oct 19, 2026
e968b2d
Merge #1291 into batch safety
abrichr Oct 19, 2026
b7a25ea
Merge #1346 into batch safety
abrichr Oct 19, 2026
a7cb4e5
batch safety: regenerate generated files
abrichr Oct 19, 2026
8db3caa
batch safety: regenerate inventory, verification report, command list…
abrichr Oct 19, 2026
89e4eb9
Merge #1359 into batch safety
abrichr Oct 19, 2026
ae0de30
Merge #1335 into batch safety
abrichr Oct 19, 2026
3cad704
Merge #1357 into batch safety
abrichr Oct 19, 2026
2757585
batch safety: regenerate generated files
abrichr Oct 19, 2026
97537a1
batch safety: public copy lists only shipped work
abrichr Oct 19, 2026
ba8e74b
Merge #1384 into batch bench
abrichr Oct 19, 2026
81ba390
Merge #1340 into batch bench
abrichr Oct 19, 2026
95b808c
Merge #1352 into batch bench
abrichr Oct 19, 2026
111f2a5
Merge #1380 into batch bench
abrichr Oct 19, 2026
b91c4af
Merge #1365 into batch bench
abrichr Oct 19, 2026
5805055
batch bench: regenerate generated files
abrichr Oct 19, 2026
dfc320b
batch bench: regenerate inventory, verification report, command list …
abrichr Oct 19, 2026
99374a6
Merge #1338 into batch bench (batch 2's identical copy edits kept)
abrichr Oct 19, 2026
aeeb915
batch bench: shipped-only rows; regenerate generated files
abrichr Oct 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .github/workflows/packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ jobs:
python-version: "3.12"
cache: pip
- name: Install
run: pip install -e ../types -e '.[dev]'
run: pip install -e ../types -e '.[dev,agent]'
- name: Resolve Playwright version
id: pw
run: |
Expand Down Expand Up @@ -399,6 +399,9 @@ jobs:
tests/e2e/test_structural_action.py \
tests/e2e/test_compile_agent_e2e.py \
tests/e2e/test_code_action_e2e.py \
tests/e2e/test_mcp_teach_e2e.py \
tests/test_agent_guard.py \
tests/e2e/test_agent_guard_e2e.py \
--basetemp=runs/ci-critical --junitxml=runs/critical-junit.xml
- name: Fail if any critical test was skipped or none ran
run: |
Expand Down
8 changes: 8 additions & 0 deletions .gitleaksignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@ eb78575c688f06d7edc04afc69389aad10e1f5fa:packages/flow/tests/fixtures/terminal_v
# branch commit that added them. The lines carry gitleaks:allow from the next commit on.
3f0df2191a649540e79a621ac5406ebe2ff228e2:packages/flow/openadapt_flow/jit/authority.py:generic-api-key:101
3f0df2191a649540e79a621ac5406ebe2ff228e2:packages/flow/openadapt_flow/jit/authority.py:generic-api-key:390
# PR #1354: false positive on the code `Workflow.load(source_path, key=key,
# verify_integrity=True)` in bundle_sealing.py; no secret (the key comes from
# OPENADAPT_BUNDLE_KEY at run time).
a94ffbebccba96d9c2f9ca2016413f10c7526ff1:packages/flow/openadapt_flow/bundle_sealing.py:generic-api-key:282
# MCP teach (PR #1335): the generic-api-key rule matched the variable name `key_dir`
# in a principal_from_key(...) call in two tests. No credential.
e8ec96725c4451aa64cb97230c18d04b55d98503:packages/flow/tests/test_mcp_teach_surfaces.py:generic-api-key:147
e8ec96725c4451aa64cb97230c18d04b55d98503:packages/flow/tests/e2e/test_mcp_teach_e2e.py:generic-api-key:122
# PR #1367 (network capture redaction): the first commit's synthetic test values in
# test_network_capture_redact_json.py; the next commit builds them at run time.
52502adf407793c211fb3c0ac5aba37556206d8c:packages/flow/tests/test_network_capture_redact_json.py:generic-api-key:17
Expand Down
124 changes: 89 additions & 35 deletions CAPABILITIES.md

Large diffs are not rendered by default.

59 changes: 49 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,39 @@ each save, reads the save back from the system of record after it, and returns
a plain outcome. When anything doesn't match, it stops and tells your agent
instead of guessing.

## Measured on OpenEMR

One new-patient referral in a test copy of OpenEMR, timed from a fresh
browser through sign-in, the entry and the saved record read back (median):

| Who does the entry | Time per referral | Saved correctly | Model cost |
|---|---|---|---|
| Agent alone (Claude Sonnet 5.5 computer use) | `██████████████████` 36.5 s | 62 of 63 | about $0.08 |
| OpenAdapt program, screen steps | `███████████` 22.5 s | 18 of 18 | $0 |
| OpenAdapt program, API step | `██` 3.3 s | 18 of 18 | $0 |

The API step replaces the program's 41 screen steps with the one form
submission the app itself sends, then reads the record back. It covers single
HTML form saves like this one; other apps and request types are not yet
measured. In both program rows a
possible-duplicate referral stopped without saving, as it should. Both program
rows ran on 19 Oct on one copy of the app, interleaved, without the approval
gate and without resumable runs; the API step was admitted by the benchmark
harness, not by a person. The agent rows are the 14 to 15 Oct timing study, on
its own copy of the app.
[SCOREBOARD.md](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/packages/flow/benchmark/scoreboard/SCOREBOARD.md#openemr-agent-screen-program-and-api-step)
has every run.

A screen can't show a save that went wrong behind it. On a test copy of
OpenEMR, with faults injected in its database (a field blanked, a value changed, a
duplicate chart, a chart removed, another chart deleted or edited), the agent
claimed success on all 30 bad saves. Reading the record back caught 25 of the
30 and confirmed all 5 clean saves, with no false alarms. It missed the 5 where
a different chart was edited. On MockMed, a test app
that shows a save as done before its server answers, the agent also claimed
all 30 bad saves, and the read-back caught all 30
([details below](#why-the-read-back-matters)).

## One harness, three modes

| Mode | What happens | Model calls |
Expand All @@ -46,6 +79,16 @@ This is a coverage test over a small, hand-written set of faults, not a
real-world error rate. [EFFECT_E2E.md](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/packages/flow/benchmark/effect_e2e/EFFECT_E2E.md)
has the method and raw results.

An agent working alone can't see these faults either. Claude Sonnet 5.5, using
computer use, did a task on a test app whose server broke the save in 6 ways,
5 times each. The agent reported all 30 bad saves as done. Given the agent's
run, `openadapt-flow verify-run` read each record back: it flagged all 30 and
confirmed all 10 clean saves, with no false alarms. The test app shows "saved"
before the server answers, so the screen gave the agent nothing to notice. That
gap is what the read-back closes.
[SCOREBOARD.md](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/packages/flow/benchmark/scoreboard/SCOREBOARD.md#the-agents-claims-versus-the-read-back)
has the method, the raw runs and the cost.

## Try it in one command

```bash
Expand Down Expand Up @@ -106,10 +149,8 @@ jit.run(note="Recheck knee in ten days") # the program runs: 0 model calls, sav
```

[Compile a computer-use agent's run](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/packages/flow/docs/JIT.md) has the full
example. This path runs web apps today. On Windows, RDP and Citrix, an agent can
already drive a recording through the MCP server's recording tools (on `main`,
not yet released), and the same compile path for those surfaces is being
built.
example. The same path compiles an agent's run in web apps and in Windows,
macOS, Linux, RDP and Citrix apps.

### Call programs from your agent

Expand Down Expand Up @@ -176,10 +217,9 @@ database read-back:

Both were equally correct here, and the agent matched or beat OpenAdapt in
three other tests. [Every result](https://openadapt.ai/compare/computer-use-agents)
is published. The program was only about a fifth faster because it still drives
every page, as the agent does; direct API steps compiled from the recording's
network traffic are in review
([#1269](https://github.com/OpenAdaptAI/OpenAdapt/pull/1269)). OpenAdapt isn't
is published. That program was only about a fifth faster because it drove every
page, as the agent does; the API step compiled from the recording's network
traffic removes the page steps for single-form saves. OpenAdapt isn't
affiliated with the OpenEMR project.

## Every backend
Expand Down Expand Up @@ -242,8 +282,7 @@ the right record is on screen, makes the entry, and reads the record back.
- **Works as a safety layer under any agent**: MCP tools, a guarded save, Agent Skills and a CLI.
- **Runs locally**: no model calls on healthy runs, patient data redacted, signed receipts.

[CAPABILITIES.md](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/CAPABILITIES.md) has the status, evidence and code for each,
including the few still being merged.
[CAPABILITIES.md](https://github.com/OpenAdaptAI/OpenAdapt/blob/main/CAPABILITIES.md) has the evidence and code for each.

## What your agent gets back

Expand Down
105 changes: 105 additions & 0 deletions demo/cua_to_program/results/sb-sonnet-1/program.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
{
"phase": "compile",
"recording": "/Users/abrichr/.cache/openadapt-scoreboard/openimis/first_run/sonnet-1/jit-cache/openimis.claim_entry-075241c5f07d/program/recording-distilled",
"bundle": "out/program/sb-sonnet-1/bundle",
"params": [
"claim_no",
"explanation",
"insurance_no"
],
"steps": [
{
"id": "step_000",
"intent": "type <insurance_no>",
"risk": "reversible"
},
{
"id": "step_001",
"intent": "press Enter",
"risk": "reversible"
},
{
"id": "step_002",
"intent": "click 'Claim No.'",
"risk": "reversible"
},
{
"id": "step_003",
"intent": "type <claim_no>",
"risk": "reversible"
},
{
"id": "step_004",
"intent": "click 'Diagnosis'",
"risk": "reversible"
},
{
"id": "step_005",
"intent": "type 'Scarlet'",
"risk": "reversible"
},
{
"id": "step_006",
"intent": "click 'A389 Scarlet fever, uncomplicated'",
"risk": "reversible"
},
{
"id": "step_007",
"intent": "scroll by (0, 600)",
"risk": "reversible"
},
{
"id": "step_008",
"intent": "click recorded visual target",
"risk": "reversible"
},
{
"id": "step_009",
"intent": "type 'General'",
"risk": "reversible"
},
{
"id": "step_010",
"intent": "click 'A1 General Consultation'",
"risk": "reversible"
},
{
"id": "step_011",
"intent": "click recorded visual target",
"risk": "reversible"
},
{
"id": "step_012",
"intent": "type <explanation>",
"risk": "reversible"
},
{
"id": "step_013",
"intent": "click recorded visual target",
"risk": "irreversible"
}
],
"record_check": [
{
"step": "step_013",
"kind": "record_written",
"probe": "a record matching claim_status='2', hf_code='VIHOS001', diagnosis='A389', claimed='400.00', claim_no=<claim_no>, insurance_no=<insurance_no>, explanation=<explanation> exists exactly once (mined from the demonstration's system-of-record delta)"
},
{
"step": "step_013",
"kind": "field_equals",
"probe": "field 'claim_no' of the written record equals the run's 'claim_no' parameter (mined; the demonstration typed that parameter's value into this field)"
},
{
"step": "step_013",
"kind": "field_equals",
"probe": "field 'insurance_no' of the written record equals the run's 'insurance_no' parameter (mined; the demonstration typed that parameter's value into this field)"
},
{
"step": "step_013",
"kind": "field_equals",
"probe": "field 'explanation' of the written record equals the run's 'explanation' parameter (mined; the demonstration typed that parameter's value into this field)"
}
],
"note": "compiled from the agent's recording outside the JIT admission lifecycle; runs under the demo profile; not admitted for production"
}
Loading
Loading