Skip to content

lifecycle: competing arms for the economic comparison (draft, stacked on the soak harness) - #1441

Draft
abrichr wants to merge 10 commits into
mainfrom
claude/lifecycle-arms
Draft

abrichr wants to merge 10 commits into
mainfrom
claude/lifecycle-arms

Conversation

@abrichr

@abrichr abrichr commented Oct 20, 2026

Copy link
Copy Markdown
Member

Draft. Stacked on the lifecycle harness commit 4ec5247 (branch claude/objective-sanderson-e24b08); merge that first.

Adds the competing arms to benchmark/lifecycle/arms/: a screenshot-only agent (cua_alone), an agent with DOM/accessibility tools and a read-only REST read-back (agent_tools), an agent-written Playwright + REST script that the agent fixes when it breaks (agent_script), and a hand-written script (human_script). Also adds a dated model price table, a $30 spend cap across all arms, a one-command resumable runner (compare.py), cost per 1,000 verified items (economics.py, report.py), the scoreboard listing, and protocol amendment 10.

Records that current main refuses the OpenEMR referral's API step (lifecycle/results/api_tier/), so OpenAdapt's gated numbers are the GUI path's.

Not run on the real fixture yet: no API key, and no fixture lease. Tests: tests/test_lifecycle_arms.py and tests/test_lifecycle_arms_mock.py (an offline OpenEMR mock with scripted model stand-ins), 33 passing locally together with the harness tests.

🤖 Generated with Claude Code

abrichr and others added 7 commits October 20, 2026 12:42
…tric

A seeded referral stream with an exception mix and its ground truth, a
scripted operator charged from a versioned cost model, an independent SQL
oracle, the arm interface (lifecycle-arm/1), and the metric (verified
completed items per operator-hour with x0.5/x2 bands). The OpenEMR adapter
injects faults and server-side UI changes; an in-memory app and toy arms
check the bookkeeping in tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The OpenAdapt arm runs the certified referral program on the governed
Standard path (or one CLI run per item with mode=cli) and records what the
product refused. Trigger SQL uses a delimiter; ports and project are
overridable; the fixture is in Env.extra; arms may report maintenance
phases inside an item. Workload 2026-10-20.2 widens the surname pool.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… soak harness)

Agent alone (screenshots), agent with structured tools and REST read-back,
agent-written Playwright+REST script it maintains after breakage, hand-written
script baseline; dated price table, shared spend cap, one-command resumable
runner, cost per 1,000 verified items, offline OpenEMR mock and tests. Records
that current main refuses the OpenEMR referral's API step.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nners that have them

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ases, safer dry runs

- local_model.py: an Ollama /api/chat client in the SDK's messages shape; the
  computer toolset maps to one 'computer' function. Local calls cost $0.
- compare --models local: cua_local (qwen3-vl:8b, first 10 items),
  agent_tools_local and agent_script_local (llama3.1:8b).
- agent_script returns maintenance as ItemResult.phases; economics no longer
  re-reads detail (the runner writes them as maintenance rows).
- dry runs keep the save blocked 5 s after the script returns, then reload.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@abrichr
abrichr force-pushed the claude/lifecycle-arms branch from 510618e to 7f52886 Compare October 20, 2026 17:51
abrichr and others added 3 commits October 20, 2026 14:10
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant