Skip to content

fix(bastion): pin openclaw to a version that accepts the harness config - #23

Merged
pradeepvrd merged 1 commit into
pradeepvrd:integrationfrom
isadominguez314:fix/openclaw-version-pin
Sep 9, 2026
Merged

fix(bastion): pin openclaw to a version that accepts the harness config#23
pradeepvrd merged 1 commit into
pradeepvrd:integrationfrom
isadominguez314:fix/openclaw-version-pin

Conversation

@isadominguez314

Copy link
Copy Markdown
Collaborator

One-line pin bump plus a known-issues row. Not a new feature — this unbreaks every openclaw run on integration.

The break

75e42d3 (2026-09-02) made the harness write memory.search.enabled into every per-run openclaw.json, so runs cannot recall each other's transcripts. That key does not exist before openclaw 2026.8.1. The bastion pin in tf/modules/bastion/startup.sh is 2026.6.10, unchanged since ffddbe3.

Older oc rejects the whole config rather than ignoring an unknown key:

OpenClaw config is invalid ... memory: Invalid input

The agent then exits 1 having done nothing.

Why it is easy to miss

The run does not report as an error. It reports as a success:

  • status: "success", validated: false, empty trajectory, 0 tools, ~15s
  • detection scans 0 trajectory entries → cheating_report: no_data
  • every objective reads not observed
  • correctness is withheld, so _finalize_outcome_score returns before emitting OutcomeScore

The record scores null and drops out of the leaderboard. Nothing in the summary says the agent never ran. I lost two matrix runs to this before finding the oc stderr.

The fix

Bump the pin to 2026.8.2 and say in a comment that the two move together:

# 2026.8.x is a floor, not a preference: the harness writes `memory.search.enabled`
# into every per-run openclaw.json ... Bump the two together or not at all.
OPENCLAW_VERSION="2026.8.2"

Operator action required — Terraform alone will not fix a running bastion

startup.sh only installs oc at VM creation, and it short-circuits on /var/lib/bench-bastion-ready. Existing bastions need:

sudo npm install -g openclaw@2026.8.2

Verified on bench-bastion: the config that produced memory: Invalid input now reports Config valid, and a subsequent run reached the model call.

The known-issues row documents both the signature and the in-place fix, since anyone hitting this will search for the symptom rather than the cause.

The harness writes `memory.search.enabled` into every per-run openclaw.json
so a second run of a task cannot recall the first one's transcript and score
on recall rather than on the cluster. That key does not exist before openclaw
2026.8.1, and older oc rejects the entire config instead of ignoring the
unknown key. The bastion pin was left at 2026.6.10, so the code and the VM
the module builds disagreed.

The failure is quiet, which is the reason for the long comment. oc exits 1
after about fifteen seconds having done nothing, but the record still reports
status "success" -- the honest signals are `validated: false` and an empty
trajectory. Everything downstream then behaves correctly and looks like data:
detection scans zero entries and reports no_data, every objective comes back
"not observed", correctness is withheld, and the row scores null with no
OutcomeScore. Read quickly, that is a run that happened and scored badly
rather than an agent that never started.

Terraform only installs oc when the VM is created, so this does not reach an
existing bastion. The known-issues row carries the in-place upgrade.
@pradeepvrd
pradeepvrd merged commit 881f125 into pradeepvrd:integration Sep 9, 2026
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.

2 participants