File size: 4,898 Bytes
f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 544e392 f1fc3a0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | # PACTBench
PACTBench evaluates a layered boss-control system across **V Rising**,
**Hollow Knight**, and **The Binding of Isaac**:
- **L1** converts causal RGB history into a compact, decision-facing belief.
- **L2** selects among anonymous skill options from the belief and the visible
skill-mechanics descriptions.
This directory is the release unit for code, checkpoints, published metrics,
and reproducibility metadata. Machine-readable publication state lives in
[`registry/registry.json`](registry/registry.json); prose never overrides the
registry or the referenced metric files.
## Current release
The published snapshot uses fight-disjoint splits, the compact belief
interface, balanced-v3 L2 sampling, HP-free-v6 prompts, anonymous option IDs,
Gemma-4-E2B-it at temperature zero, and deterministic sample seed 0.
### L1 official evaluation
| Game | Test rows | Distance MAE | Angle MAE | Distance-bin accuracy | Angle-bin accuracy |
|---|---:|---:|---:|---:|---:|
| V Rising | 8,075 | 0.2620 | 11.7599Β° | 0.8320 | 0.7201 |
| Hollow Knight | 8,360 | 0.4680 | 3.6527Β° | 0.7261 | 0.9646 |
| Isaac | 1,784 | 9.0263 px | 29.6388Β° | 0.9036 | 0.8352 |
Isaac distance is measured in pixels and is not directly comparable to the
engine-unit distance used by the other two games.
### L2 natural-ready semantic intervention
| Game | Valid paired states | Mean menu size | Menu-aware chance | Description-follow |
|---|---:|---:|---:|---:|
| V Rising | 200 | 4.875 | 21.93% | 67.0% |
| Hollow Knight | 200 | 5.370 | 18.78% | 79.5% |
| Isaac | 122 | 2.238 | 46.04% | 83.6% |
The 200 source states are fixed before L2 outputs are read. Isaac has 122
valid semantic-swap pairs because the predefined intervention requires at
least two tracker-ready options; singleton menus are excluded before outcome
aggregation. The fixed two-choice controls are reported separately in
[`docs/EXPERIMENTS.md`](docs/EXPERIMENTS.md).
The L1 visual comparison is a comparison of complete training schemes:
PACT-L1 is task-trained end to end, whereas DINOv2-S and VideoMAE-B are frozen
pretrained backbones with trained probes. It is not an isolated backbone claim.
V Rising also includes a separate accepted L1 comparison experiment that trains
DINOv2-S end to end on the same ordered 18,068/8,075 rows and the matched PACT
two-stage recipe. In this configuration it remains less accurate and 48.79%
slower at batch 1 than PACT-L1; the evidence and claim scope are recorded in
[`docs/EXPERIMENTS.md`](docs/EXPERIMENTS.md#v-rising-end-to-end-dinov2-s-l1-comparison-experiment).
## Quick start
```bash
cd pactbench
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt
python3 registry/status.py
PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s tests -v
python3 pact/validate_pactbench.py --require_v5
```
The full artifact gate should end with:
```text
PACTBench gate: PASS (7382 checks)
```
Large raw data and RGB caches are exposed through `data -> ../data` and
`out -> ../out`. See the reproducibility guide before rebuilding or moving
them.
## Documentation
| Document | Purpose |
|---|---|
| [`docs/DATA.md`](docs/DATA.md) | Data source, layout, schema, split, and audit rules |
| [`docs/EXPERIMENTS.md`](docs/EXPERIMENTS.md) | Exact protocols, published results, and claim scope |
| [`docs/REPRODUCE.md`](docs/REPRODUCE.md) | Environment, commands, expected artifacts, and release gate |
| [`docs/MAINTAINERS.md`](docs/MAINTAINERS.md) | Handoff, review isolation, registry update, and release procedure |
| [`games/vrising/README.md`](games/vrising/README.md) | V Rising entry points and artifacts |
| [`games/hk/README.md`](games/hk/README.md) | Hollow Knight entry points and artifacts |
| [`games/isaac/README.md`](games/isaac/README.md) | Isaac entry points and artifacts |
| [`pipelines/l2/llm_judge/README.md`](pipelines/l2/llm_judge/README.md) | External decision-quality judge protocol |
## Repository layout
```text
pactbench/
βββ games/{vrising,hk,isaac}/ # per-game configuration and thin entry points
βββ pipelines/ # shared shell pipelines
βββ pact/ # shared Python implementation
βββ ckpt/ # published L1 checkpoints
βββ results/ # published row-level and aggregate artifacts
βββ registry/ # machine-readable publication snapshot
βββ schemas/ # cross-game schemas
βββ tests/ # regression and provenance tests
βββ data -> ../data # large source/processed data
βββ out -> ../out # rebuildable caches
```
The decision-quality LLM judge is intentionally run on a separate machine.
Its absence from the local deterministic gate does not change the publication
status of the local L1 and L2 intervention artifacts.
|