DrumsBench

Experiments / EXP-012

Bedrock Claude Opus 5.5 computer-use adapter, early real-endpoint calls failed, the reported five-call success has no artifact

Drive a slot's desktop through Amazon Bedrock's computer-use protocol with Claude Opus 5.5 under a frozen, hashed configuration and a closed GUI-only action allowlist, recording every call and never running the checker inside the adapter.

preliminaryA real observation that needs more runs, a positive control, or an independent check before it counts.
Date
2026-10-25
Hypothesis
With an append-only history and native 1920x1080 screenshots, Opus 5.5 can complete a multi-step desktop episode through the computer tool on both environment arms with the same frozen config.
Arms
bedrock-opus-cua
Hardware
operator's host for the slots; Bedrock endpoint in us-east-1
OS
guest desktops as in the QEMU/KVM and OCI arms
Model
Claude Opus 5.5 via Amazon Bedrock (us.anthropic.claude-opus-5-5), effort max
Workload
OSWorld task e0df059f (folder rename) through the slot's guest server
Code
claude/ecstatic-archimedes-456go6 at cf2adc4
Limitation
The branch's own text records only failed real-endpoint runs (endpoint_error, an invalid thinking-block signature after a history trim) and one observed screenshot action; no episode.json, preflight.json, screenshot or receipt exists on any branch we can find, and the five-call success reported in an Oct 25 handoff is unverified.

In one paragraph

bedrock_cua is a separate route for evaluating a frontier model on our environments: Amazon Bedrock's Messages computer-use protocol with Claude Opus 5.5, one computer tool, screenshots in and GUI actions out, every action validated against a closed allowlist before it touches the desktop, every request and response written down. Its own doc is titled "mocked tests only, not yet run on the real endpoint or a desktop", yet the same doc records a few real calls: the first invoke returned a screenshot action; a paired run that replaced older screenshots was rejected with ValidationException: invalid signature in thinking block; and "The earlier history_n=5 runs remain failed runs (endpoint_error) and are not replaced." Those are the real-endpoint results on the branch, all author-claimed and all failures or protocol observations. A separate handoff document dated Oct 25 reports a successful five-call Opus 5.5 desktop interaction on both the QEMU/KVM and OCI paths. We cannot find any artifact for it anywhere. Until one is published it is an unverified report, not a result.

Setup

Pins (bedrock_cua/config.py)

What it refuses

policy (agent)environmentverifiertraineraction: click, type, keyobservation + generationfinal statereward 1 / 0, or noneupdatewhat one trajectory can bevalidverified, uncontaminated, task done. reward 1failed but validverifier ran, task not done. reward 0, still a signalinvalidenv failure, contamination, verifier unavailable.no reward (never scored 0); its own line in the reportdenominator = valid + failed-but-valid; invalid attempts are out of every rate(success, rollouts per host-hour, cost) and get their own line in the report.
The episode loop this adapter implements: screenshot in, one or more tool_use actions out, each validated and executed through the slot's guest server, the new screenshot returned as a tool_result, the whole history replayed unchanged on every call. The checker runs outside the loop, never inside it.

Preflight

python -m bedrock_cua preflight makes one bounded real-endpoint conversation of at least six turns in which the model is told to use only screenshot, each answered with a saved 1920x1080 PNG (no desktop, no GUI action). It checks that model, tool, effort, system prompt and max_tokens never change; that every request begins with exactly the previous request's messages, byte-identical; that a signed thinking block was replayed and accepted; and that at least six screenshots were in the last accepted request. One attempt per call, no retry, stops at the first failure. "The mocked tests include a binding stand-in that rejects a rewritten history, but only the real endpoint run proves the contract."

What ran

Per the branch, author-claimed, no artifact:

Results

No measured result. The real-endpoint outcomes on the branch are: one observed screenshot action on the first call, one ValidationException after a history trim, and earlier runs recorded as endpoint_error failures. No episode reached done_claimed or max_steps on the branch, no checker was run, and no episode.json, traj.jsonl, screenshot, preflight or receipt exists.

Unverified report: a five-call success on both arms

An Oct 25 handoff document, separate from this branch, reports a successful five-call Opus 5.5 desktop interaction on both the QEMU/KVM and OCI paths: the folder rename task, with the checker passing and the slot resetting cleanly. We searched the whole branch checkout for "opus", "handoff", "five call", "5 call" and "renam" and listed every non-code file. No episode record, screenshot, preflight, receipt, history file or log of any Bedrock episode exists on this branch, and no sentence on this branch asserts a successful Opus 5.5 episode, a passed checker or a clean reset. The branch's own statements about real Bedrock calls describe failures and one screenshot action. The branch's run command also requires a passed preflight that does not exist, so a compliant run after 20:30 UTC would have left a preflight.json.

Failures and surprises

Limitations

Reproduce

python -m bedrock_cua freeze CONFIG.json                                  # writes the frozen, hashed config
python -m bedrock_cua preflight --config FROZEN --screenshots DIR_OF_1920x1080_PNGS --out NEW_DIR --turns 6
python -m bedrock_cua run --config FROZEN --preflight NEW_DIR/preflight.json --port N --out DIR

Needs a non-root AWS principal with Bedrock access in us-east-1 and a slot whose guest server answers /screenshot and /execute. The checker and reset are run by the harness around the episode, not by the adapter.

Sources