Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions e2e/bub/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ evaluation:
The dataset can be a local Harbor dataset path or a registry dataset name and version. `execution` selects the
adapter and its budget. `model` declares only whether the workload requires a model. The runtime selects the model,
provider, endpoint, and credentials. `evaluation` declares only externally observable Memory behavior.
Two or more compatible selected tasks with the same `batch:<name>` category share one run-local Harbor task and
container. Their scopes, evidence, and evaluation remain independent; selecting one task uses the normal path.

Runtime configuration keeps the native ownership of each component. The harness Client reads
`POWERCONTEXT_CLIENT_*`, the Bub adapter forwards native `BUB_*` settings for model-backed workloads, and the
Expand All @@ -76,12 +78,10 @@ The built-in manifests are:

| ID | Dataset | Categories | Purpose |
| --- | --- | --- | --- |
| `locomo-multihop-football` | local Harbor multi-step task | `acceptance`, `sample` | Pinned LoCoMo-derived sample (multi-hop) |
| `locomo-open-pastries` | local Harbor multi-step task | `acceptance`, `sample` | Pinned LoCoMo-derived sample (open-domain listing) |
| `locomo-support-group` | local Harbor multi-step task | `acceptance`, `sample` | Pinned LoCoMo-derived sample |
| `locomo-temporal-banker` | local Harbor multi-step task | `acceptance`, `sample` | Pinned LoCoMo-derived sample (temporal) |
| `project-database-decision` | local Harbor multi-step task | `acceptance`, `sample`, `smoke` | Durable project decision |
| `locomo-*` (four manifests) | one local Harbor task each | `acceptance`, `sample`, `batch:locomo` | Pinned LoCoMo-derived cases |
| `project-database-decision` | local Harbor multi-step task | `acceptance`, `sample`, `smoke`, `batch:acceptance` | Durable project decision |
| `terminal-bench-db-wal-recovery` | `terminal-bench@2.0` | `long-horizon`, `terminal-bench` | Long-running capture and recall |
| `failure-policy-*` | local Harbor tasks | `acceptance`, `fixture`, `batch:acceptance` | Collect-all and fail-fast behavior |

## Run acceptance workloads

Expand All @@ -93,6 +93,10 @@ export POWERCONTEXT_BUB_BASE_URL=http://host-gateway:8000
make harness-acceptance
```

The default run executes all acceptance tasks with collect-all, then reruns `batch:acceptance` with fail-fast. LoCoMo
stays in its own `batch:locomo`; the database decision and failure-policy tasks share `batch:acceptance`. Explicit
selection runs only the selected workloads with the requested failure policy.

Selection uses the `acceptance` command's repeatable `--id` and `--category` options:

```bash
Expand Down Expand Up @@ -121,12 +125,10 @@ Each selected workload writes the same layout:
harbor-jobs/
```

`replay.json` is a self-contained Pydantic observation. Its workload's `execution.type` identifies the `bub` adapter,
and the remaining fields record the pre-execution Memory baseline and the instructions resolved by Harbor's ACP
runner.
`eval-report.json` uses
`powercontext.e2e-evaluation/v1`. `report.md` is rendered from the report model with Marko. Native Harbor and ACP
evidence remains under `harbor-jobs/`.
Shared runs write the same v1 files per source task under `batch-<name>/tasks/<workload-id>/`, plus one aggregate
evaluation and report at `batch-<name>/`. `collect-all` reports every failed task; `fail-fast` stops only that shared
Harbor trial at its first failed step. Runtime batch steps are flat and task-prefixed. Each agent invocation starts an
independent ACP session and Bub tape.

## Long-horizon task

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/bin/sh
# Copyright (c) 2026 OceanBase.
#
# Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -13,6 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.

set -eu
FROM python:3.12-slim-bookworm

echo 1 > /logs/verifier/reward.txt
WORKDIR /workspace
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
,touch /workspace/failure-policy-followup-ran
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/sh
# Copyright (c) 2026 OceanBase.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -eu

if [ -e /workspace/failure-policy-followup-ran ]; then
echo 1 > /logs/verifier/reward.txt
else
echo 0 > /logs/verifier/reward.txt
fi
28 changes: 28 additions & 0 deletions e2e/bub/harbor-tasks/failure-policy-followup/task.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright (c) 2026 OceanBase.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

version = "1.3"
multi_step_reward_strategy = "final"

[agent]
timeout_sec = 300.0

[verifier]
timeout_sec = 60.0

[environment]
build_timeout_sec = 300.0

[[steps]]
name = "run"
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/bin/sh
# Copyright (c) 2026 OceanBase.
#
# Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -13,6 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.

set -eu
FROM python:3.12-slim-bookworm

echo 1 > /logs/verifier/reward.txt
WORKDIR /workspace
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
,sleep 5
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@

set -eu

echo 1 > /logs/verifier/reward.txt
echo 0 > /logs/verifier/reward.txt
31 changes: 31 additions & 0 deletions e2e/bub/harbor-tasks/failure-policy-timeout/task.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright (c) 2026 OceanBase.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

version = "1.3"
multi_step_reward_strategy = "final"

[agent]
timeout_sec = 300.0

[verifier]
timeout_sec = 60.0

[environment]
build_timeout_sec = 300.0

[[steps]]
name = "run"

[steps.agent]
timeout_sec = 1.0
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,8 @@

set -eu

echo 1 > /logs/verifier/reward.txt
if [ -e /logs/agent/powercontext-step-failed ]; then
echo 0 > /logs/verifier/reward.txt
else
echo 1 > /logs/verifier/reward.txt
fi
22 changes: 22 additions & 0 deletions e2e/bub/harbor-tasks/locomo-open-pastries/tests/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/sh
# Copyright (c) 2026 OceanBase.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -eu

if [ -e /logs/agent/powercontext-step-failed ]; then
echo 0 > /logs/verifier/reward.txt
else
echo 1 > /logs/verifier/reward.txt
fi

This file was deleted.

This file was deleted.

22 changes: 22 additions & 0 deletions e2e/bub/harbor-tasks/locomo-support-group/tests/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/sh
# Copyright (c) 2026 OceanBase.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -eu

if [ -e /logs/agent/powercontext-step-failed ]; then
echo 0 > /logs/verifier/reward.txt
else
echo 1 > /logs/verifier/reward.txt
fi

This file was deleted.

This file was deleted.

22 changes: 22 additions & 0 deletions e2e/bub/harbor-tasks/locomo-temporal-banker/tests/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/sh
# Copyright (c) 2026 OceanBase.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -eu

if [ -e /logs/agent/powercontext-step-failed ]; then
echo 0 > /logs/verifier/reward.txt
else
echo 1 > /logs/verifier/reward.txt
fi
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,8 @@

set -eu

echo 1 > /logs/verifier/reward.txt
if [ -e /logs/agent/powercontext-step-failed ]; then
echo 0 > /logs/verifier/reward.txt
else
echo 1 > /logs/verifier/reward.txt
fi
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,8 @@

set -eu

echo 1 > /logs/verifier/reward.txt
if [ -e /logs/agent/powercontext-step-failed ]; then
echo 0 > /logs/verifier/reward.txt
else
echo 1 > /logs/verifier/reward.txt
fi
Loading
Loading