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.