Pursuit rational-profile refinement, 12 October 2026¶
Omar authorized continued experiments, CPU-cluster jobs, bug fixes, more steps, and explicit modest probability-threshold adjustments to obtain a designated best agent meeting its objective in a profile with maximum unilateral gain at most 0.05. Keep the original thresholds initially; reducing a threshold cannot repair exploitability. A finite learned-response search is conditional evidence, whereas the full two-player Pursuit oracle provides unrestricted initial-state responses against public Markov opponents. Always report both maximum gain and NashConv; epsilon-NE bounds each gain, so the maximum is the relevant criterion.
Full-instance evaluator and first control¶
DensePursuitOracle uses the original 44 walkable cells, 1,936 physical position
pairs, two independent 0.1 slip probabilities and 100-action horizon. Movement
matrices factor the simultaneous transition distribution. Backward induction
tracks normal and pending-event contexts for both ordinary profile values and
each unilateral response. Pending contexts consume one final action. The
known-model evaluator supplies no actions, rewards or targets to training.
PursuitMarkovPolicies batches actual deployed network probabilities with
physical observations and the correct DFA state. A configured clock goes
immediately before the final monitor coordinate. Archive numbering must be
explicit or recovered from its existing evaluation metadata. PPO sampling and
greedy MLP-IQL deployment are supported; hidden recurrent histories are not.
The original Classic/IPPO seed-zero checkpoint has exact probabilities
[0.170187083, 0.823101453], best-response utilities
[0.631286305, 0.982868919], and maximum gain 0.461099222. Both original
thresholds (0.1, 0.75) are met, but the profile is exploitable. Checkpoint hash:
da47332cdc559e37263838514da74e4b176bffde25da7a63a49df1d072834e6a.
A 16-episode development consistency check agreed; campaign workers use 256
episodes for audits and 512 for selected continuations. These independent
rollouts check deployment/model agreement, not uncertainty in exact DP values.
Simultaneous 99% exact-binomial intervals are recorded; disagreement stops the
controller for diagnosis rather than silently accepting a certificate.
A complete development audit of the 20 archived IPPO/IPPO-CER profiles found 18 finite profiles, all meeting their best agent's original threshold, and zero profiles with exact maximum unilateral gain at most 0.05:
| Task | Learner | Finite / examined | Exact maximum-gain range |
|---|---|---|---|
| Classic 2 | IPPO | 5 / 5 | 0.172691–0.602726 |
| Classic 2 | IPPO-CER | 4 / 5 | 0.414376–0.999747 |
| Capture 2 | IPPO | 5 / 5 | 0.484645–0.830242 |
| Capture 2 | IPPO-CER | 4 / 5 | 0.767804–0.920400 |
The two invalid checkpoints are ippo_cer/checkpoints/run_1_seed_0.pkl, one
per task: every guard actor/critic parameter array contains NaNs, while the
intruder is finite. Raw checkpoints remain preserved. Their configurations
use legacy CER, gamma 0.99, four environments, 64-step chunks and constant
learning rates; Classic has 1,000,192 steps, Capture has 1,250,048 including
249,856 auto-resume steps. The CER agent is investigating this within its
learner ownership. The audit reports invalid_policy and cannot issue a
successful certificate; it does not replace invalid probabilities with an
arbitrary action distribution. Invalid archive outcomes count in the examined
denominator and do not block unrelated finite profiles. An invalid newly
trained continuation stops for diagnosis with its checkpoint preserved.
These are exact development results for two selected learner families, not the full 15-variant paper benchmark. Scheduled workers additionally check deployed rollout agreement. The full-profile instability, rather than a lack of satisfaction, motivates the targeted continuation arms below.
Controlled continuation¶
scripts/launch_pursuit_refinement.py prepares 42 isolated workers:
| Work | Instances/arms | Seeds | Workers |
|---|---|---|---|
| Exact archived-policy audit | Classic 2 and Capture 2; IPPO and IPPO-CER | 0–4 | 20 |
| Unshaped IPPO continuation | Classic 2 and Capture 2; gamma 0.99 and gamma 1 | 0–4 | 20 |
| Independent response searches | Archived Territory IPPO-CER candidates | 1, 3 | 2 |
The CER-study agent supplied Territory seed 3/player 0 (0.924 sampled satisfaction) and seed 1/player 1 (0.916) as designated-agent candidates. Cross-family PPO/MLP-IQL responses use 50k and 200k budgets, fresh restarts, disjoint validation selection and 8,192 held-out episodes. These two workers use comparison family 10, covering the archived five IPPO and five IPPO-CER profiles considered in candidate selection. A response-search pass remains conditional evidence; it cannot upper-bound unrestricted exploitability.
Continuation starts from each preserved IPPO profile, retains actor/critic
parameters, resets Adam once, and uses constant learning rates. Inactive CER
mode is explicitly uncorrected; original inputs and other trainer options
remain untouched. Each arm evaluates cumulative additional budgets of 200k,
500k and 1M actions, rounded upward to the original rollout batch. Training is
segmented at these checkpoints and uses a recorded deterministic seed per
segment. Stop when the best agent meets its original threshold and exact
maximum gain is at most 0.05. Otherwise choose threshold satisfaction first,
then lowest exact exploitability, and perform independent consistency rollouts.
The exact selection criterion does not suffer Monte Carlo selection error.
The original source counts 1,250,048 steps for the seed-zero development profile;
the continuation is additional work, not a relabelled total training budget.
The two archived IPPO seed-zero audits gate submission. Next, the gamma-one seed-zero continuation in each task gates wider continuation fanout. All checkpoints and failed/unsuccessful candidates remain available. No threshold or epsilon adjustment is part of this initial controlled study.
Use a detached pinned checkout and read-only existing venv on cpucluster.
Outputs belong under exports/optimisations/pursuit-rational-refinement-20261012.
Each worker requests one CPU core and 8,000 MB (16,000 MB for Territory). Audits request 30 minutes;
training retains the seven-day cap until pilot runtime establishes a tighter
bound. The controller uses four active/pending workers and counts expanded
array tasks with squeue --array, with total-user admission cap 181 shared with
the existing equilibrium spatial campaign. Both owned controllers use a shared
admission lock in their common optimisation parent. The CER study reserves four
further slots within its total-user cap 185; it owns its own learner code and
exports. Do not cancel another agent's jobs or pull a shared remote checkout.
The original ten-worker reduced calibration is paused after the oracle bug. Two existing CX3 pilots continue model-free training and real rollouts; their exact values must be recomputed into a separate correction directory. Restart the remaining eight only with the corrected pinned oracle, after inspecting pilot search gaps. See the companion equilibrium follow-up notes for inputs.
Deployment and continuation¶
The current DoC worker source is
612145f915d524d75c600f14db763544272e1d83, including the exact-oracle work,
finite verifier guards (69ed9c4), the concurrent Stag Hunt publication
(3c6a3b6) and the tested numerical PPO repair. The detached worker checkout is
/vol/gpudata/oja24-pltlf/worktrees/equilibrium-612145f; its .venv links to
the existing project venv and workers use uv run --no-sync.
The new 42-worker controller PID is 3443485, and the 75-worker spatial controller
PID is 3443484. Both use the shared admission lock, retain their scientific
settings and output roots, and initialized without errors. They wait at 193
expanded user tasks, above their cap of 181. Logs/PID files use
controller-612145f in their respective campaign roots.
Earlier zero-job controllers (3438167/3438168) were stopped before upgrading
the worker pin. Their empty original ledgers are preserved as
campaign-source-before-612145f.json; no Slurm worker was cancelled. The
spatial workers now use the corrected source, rather than the initial 300a7eb.
This prevents known numerical and verifier defects from entering newly trained
Commons profiles or response estimates. The loss repair preserves the clipped
PPO objective and fixes overflowing unused branches; it does not prove the
cause of the archived NaNs. See the CER agent's numerical audit note.
To make progress during admission backpressure, two native IPPO gamma-one continuations run on the workstation from the lowest-exploitability archived seed in each task. They use the same fixed checkpoint budgets as the planned remote arms, but their seed choice is adaptive and hardware must be recorded:
| Task | Seed | Worker launcher PID | CPU affinity | Initial exact maximum gain |
|---|---|---|---|---|
| Classic 2 | 2 | 1368881 | 16–17 | 0.172691 |
| Capture 2 | 1 | 1368882 | 18–19 | 0.484645 |
Their immutable local checkout is /tmp/pltlf-rational-local-pilots at
54ed295. Outputs are under the local campaign root's
local_adaptive_pilots/<task>/seed_<seed>; trusted copied source checkpoints
are under local_inputs/<task>/ippo. Runtime records confirm the pinned source
and both workers survived detachment with no immediate errors. Preserve these
raw results as separate development references. They retain the pre-repair
54ed295 trainer implementation and adaptive seed choice, so do not substitute
those results into the new fixed-source five-seed cohort. Compare their exact
NE and original-threshold outcomes with full source and hardware provenance.
Investigate invalid parameters or model-consistency disagreement before treating
an outcome as successful.
The complete development audit's 20 per-seed JSON files are preserved locally
under development_audit in the campaign root. These include the two explicit
invalid-policy outcomes. The scheduled cohort additionally checks deployment
agreement and records worker source/runtime metadata.
The local .cache/equilibrium-campaign-watch.py, PID 1393255, monitors both
DoC campaign ledgers, each 200k/500k/1M local checkpoint and final result, local
worker failures, and each preserved CX3 calibration pilot's raw completion.
It queues the authorized continuation of thread
01a12d62-3b87-7b13-b1ff-653b6f5f99f9 at meaningful milestones, with 15-minute
polling. The first updated sweep read both DoC ledgers successfully. Never
reuse the stopped CX3 controller's stale ledger as a completion signal; check
the two raw pilot result files and recompute their exact values separately.
Validation before publication: the required changed-path run passed 468 routine tests; verification with slow integrations passed 82 tests. Two new batched deployment tests and the nonfinite-checkpoint test were subsequently checked, the complete certification/tooling files passed 61 tests, and the post-merge focused checks passed 14 tests. Ruff, diff whitespace checks and strict Zensical build passed. A one-update warm-continuation smoke test completed with a finite checkpoint, exact evaluation and agreeing deployed rollout check. These development checks do not substitute for the substantive training results.
The additional finite-verifier checks passed 195 changed-path tests and 90
verification tests including slow integrations. After merging 612145f, seven
focused corruption/inactive-CER checks passed with the combined learner source.
The CER numerical repair independently passed 82 focused checks, 472 routine
checks, all 11 slow integrations and three JIT overflow cases, followed by
actual corrected-PR2/shaped-IPPO serialization smoke probes. Preserve the
scientific distinction between numerical validity and equilibrium success.
Additional-budget evidence and Capture threshold feasibility¶
Both adaptive local gamma-one pilots remain finite through 500,224 additional steps, but neither meets the 0.05 stability criterion:
| Task / adaptive seed | Additional steps | Designated intruder probability | Exact maximum gain |
|---|---|---|---|
| Classic 2 / 2 | 0 | 0.864457 | 0.172691 |
| Classic 2 / 2 | 200,192 | 0.821655 | 0.464558 |
| Classic 2 / 2 | 500,224 | 0.847718 | 0.401907 |
| Capture 2 / 1 | 0 | 0.515350 | 0.484645 |
| Capture 2 / 1 | 200,192 | 0.787899 | 0.751535 |
| Capture 2 / 1 | 500,224 | 0.715202 | 0.619221 |
The largest gain is the guard's at both later checkpoints. At 500,224 steps,
the per-agent gains are [0.401907409, 0.148157906] for Classic and
[0.619220845, 0.284186790] for Capture. Original intruder thresholds remain
met. The Capture guard's probability is 0.284798, below its original 0.3
threshold. Do not interpret the partial recovery since 200k as convergence or
stop the already authorized 1M checkpoints. The adaptive seed choices, pinned
pre-repair native trainer, and workstation hardware separate these observations
from the fixed five-seed, corrected-source remote cohort.
scripts/capture_equilibrium_reference.py constructs an explicitly
known-model diagnostic reference, not a model-free learned profile. For the
original two-player Capture layout, H=100 and slips (0.1, 0.1), minimax
backward induction over the 1,936 position pairs and pending-event contexts
finds guard game value v=0.129895377488 and intruder value 1-v=0.870104622512.
A separate full unilateral-response pass returns both gains zero to floating
point precision. The solver checks every mixed stage's two regrets; the maximum
observed residual is about 3.33e-16. The original development construction
used 6,094 mixed LPs and 187,506 pure saddles. This is numerical dynamic
programming, not an interval-arithmetic proof.
The reference deploys using public positions and an action-history clock. Original environment rollouts on 1,024 independent episode seeds gave 122 guard successes and 902 intruder successes. The reference script records simultaneous 99% exact-binomial consistency intervals and rejects model/deployment disagreement. It saves table/configuration, table hash, exact response scores, source-file hashes, revision and package versions into a new output directory; it refuses to overwrite a previous reference. Existing development prototypes are identified by their actual source hashes rather than attributing new code to their parent revision. A published-source rerun is required before using a commit as the reference's reproduction pin.
For any unrestricted initial-state epsilon-NE in this two-player constant-sum
game, the guard payoff lies in [v-epsilon, v+epsilon]. Either player can
unilaterally use its minimax strategy, giving the lower bound for that player's
payoff; complementarity gives the other endpoint. With epsilon 0.05, this is
[0.079895, 0.179895]. Both original probability thresholds (0.3, 0.5) would
require guard payoff in [0.3, 0.5]. The intervals are disjoint, by 0.120105.
Consequently, extra training cannot make both original thresholds hold in
an unrestricted 0.05-NE on Capture 2. This does not extend to Capture 3, other
layouts/horizons/slips, or equilibrium against only a restricted learner class.
The intruder's original threshold 0.5 is compatible with equilibrium and is met
by the diagnostic reference. Keep that designated-agent target and epsilon
unchanged. Reducing the guard threshold below 0.179895 would be a material
threshold change, not a cosmetic fix; the initial controlled study keeps it 0.3.
For utilities summing to at most one, any profile's maximum unilateral gain is
at least (BR_0 + BR_1 - 1)/2, clipped below at zero. Each best-response value
depends only on the opposing individual policy. Taking each marginal minimum
therefore rules out repairing the archived policies by merely cross-pairing
agents from different runs. Across the nine finite original profiles and the
200k pilot per task, the bounds are 0.136806 for Classic and 0.408322 for Capture.
These bounds apply to pairing those fixed individual policies; they say nothing
about new training or mixed-policy populations. Separate diagnostic assemblies
also evaluated the finite intruder from each invalid CER seed-zero bundle
against a finite native-IPPO guard. Neither improves the marginal guard-response
minimum. No NaN guard was executed, no invalid original profile was rehabilitated,
and its original audit outcome remains invalid.
Practical next steps are to finish the fixed budget controls, calibrate the independent response searches with the corrected oracle, and inspect whether opponent coverage or the omitted public clock limits learning. Longer default budgets alone are not supported by these two adaptive pilots. Choosing a new learner or population protocol would be an additional experiment, not a rewrite of the ongoing study. The known-model reference stays outside all model-free learner success-rate denominators.
The primary report now accepts explicit preserved-input policy audits via
scripts/equilibrium_summary.py --policy-audit .... The committed
results/pursuit-profile-audit-2026-10-12.json retains all 20 checkpoint hashes
and outcomes. Invalid profiles receive no certificates or exploitability bound;
raw sampled proportions remain visible, and seeds remain in denominators and
selection correction. A finite replacement never inherits its predecessor's
invalid status. The updated primary report, including the published Nash-Q
replacements, is results/equilibrium-validated-2026-10-12.{json,md}. Individual
certificate counts change to Classic 2 (17,25)/40 and Capture 2 (5,37)/40;
all joint/equilibrium counts remain unchanged. The original baseline snapshot
and appendix summaries remain historical records, clearly labelled accordingly.
Validation of the new reference and invalid-policy reporting: the required changed-path check passed 500 routine tests (11 slow tests excluded), the verification component including slow integrations passed 99 tests, and final focused reference/invalid-replacement checks passed 10 tests. Ruff, whitespace checks and strict Zensical build passed. The paper's supplemental audit, feasibility calculation, adaptive checkpoint table and corrected reduced-search calibration compile successfully; the two new appendix pages were visually checked. The completed reduced IQL pilot's original and 28 response checkpoints all have finite neural parameters. Its source/runtime warning is preserved in the raw logs and is investigated separately from numerical-policy validity.
The authoritative full Capture reference was rerun on clean published revision
2b3335030327935b73c01b6d9d82bf3ebb824568. Its directory is
development_reference/capture_2/published_2b33350 under the local campaign
root, with compact result in results/capture-equilibrium-reference-2026-10-12.json.
Both the utilities and saved policy table reproduce the development construction;
the table SHA256 is 37795009fddb452aee745b7e8177b2950bda892cab1b741dc1a835875f4a2d61.
The independent best responses bracket the guard value to float64 precision.
The simultaneous 99% consistency intervals are [0.092378,0.150145] for guard
and [0.849855,0.907622] for intruder, both containing the exact values. This
published source, configuration and source-file hashes reproduce the reference;
the older c6fc831 working-tree prototypes remain separate development artifacts.
The source and reporting implementation is maintained in the isolated local
checkout /tmp/pltlf-rational-refinement, with the reference constructor pinned
at 2b33350 and its published result archive at 1d63c01. The shared repository
root still has concurrent uncommitted work and an older local HEAD; only this
agent's notes/result copies were mirrored there. Use the isolated published
checkout for corrected audits and calibration, rather than assuming the shared
root's older helper files contain the latest evaluator. The paper update is
published at 57017d4; its clean main checkout was fast-forwarded and rebuilt.
The remote study source remains 612145f, as explicitly frozen for those
cohorts. None of these publication steps upgrades ongoing workers.
Capture adaptive continuation completed at the fixed 1M budget¶
Capture 2/seed 1 completed 1,000,192 additional gamma-one steps (2,000,384 total
including its original training) in 19,931 seconds, without numerical failure.
The final probabilities are [0.110028732,0.889971268]; unrestricted response
utilities are [0.971515206,0.999957285], giving gains
[0.861486474,0.109986017]. Both exceed epsilon 0.05. The designated intruder
meets its original threshold, while the guard fails its 0.3 threshold.
The final maximum gain is worse than all earlier checkpoints, including the original profile's 0.484645. The predeclared selection rule correctly selects zero additional steps. That selected policy retains its original gamma-0.99 training provenance; do not describe it as a successful gamma-one continuation. All declared checkpoints remain preserved, and no extra budget or resubmission was introduced. Classic 2's remaining fixed 1M segment continues independently.
A separate audit using published source 5a26fad exactly reproduced the final
checkpoint's probabilities, responses, gains and checkpoint hash. Independent
512-episode actual-environment rollouts gave 64 guard and 448 intruder successes;
the simultaneous 99% intervals [0.087272,0.171129] and [0.828871,0.912728]
contain both exact values. The raw final checkpoint's SHA256 is
59b66906a7f2ea93dc041a1a03692930c8c0b0b17356afeaf57a043c3b834995.
The separate audit is completed_pilot_audits/capture_2/seed_1/additional_1000192.json
in the local campaign root. The compact result plus all declared checkpoints
is committed in results/capture-adaptive-continuation-2026-10-12.json.
This adaptive one-seed outcome gives no support for extending default budgets alone. It does not rule out fresh gamma-one training, other seeds, learners or opponent-coverage protocols. The new fresh gamma-only study owned by the Nash-Q agent remains separate from both this completed warm continuation and the frozen original five-seed continuation cohort.
Both adaptive warm continuations completed¶
Classic 2/seed 2 also completed its fixed 1,000,192 additional steps. Its original
source trained for 1,250,048 steps, including archived auto-resume; total
experience is therefore 2,250,240 steps. Runtime was 20,705 seconds. Final
utilities [0.105417471,0.875647253] satisfy both original thresholds, but
response values [0.753164774,0.987345137] give gains
[0.647747303,0.111697884], both above epsilon. Its original maximum gain
0.172691 beats every continuation, so the selection rule again retains zero
additional steps, with the original gamma-0.99 training provenance.
| Completed task / adaptive seed | +1M intruder probability | +1M maximum gain | Selected extra steps | Selected maximum gain |
|---|---|---|---|---|
| Classic 2 / 2 | 0.875647 | 0.647747 | 0 | 0.172691 |
| Capture 2 / 1 | 0.889971 | 0.861486 | 0 | 0.484645 |
There are zero successful exact rational-synthesis profiles among these two adaptive warm pilots. This is not a five-seed learner success-rate estimate. Every declared 200k/500k/1M checkpoint is preserved; no source, threshold, epsilon or budget extension was introduced. These two local workers are now complete. The remote fixed-source cohort and new fresh gamma-only controls remain independently active or waiting for admission.
An independent Classic +1M audit at published e74060a reproduces all exact
scores and checkpoint hash. Its 512 actual-environment episodes give 64 guard
and 437 intruder successes, with simultaneous 99% intervals
[0.087272,0.171129] and [0.804829,0.894298], containing the exact utilities.
The final Classic checkpoint SHA256 is
1c170318797fbe89ce7dce3c503463c4db16f8b565e7b634508b46f9ea051f11.
The audit is preserved under completed_pilot_audits/classic_2/seed_2 and the
complete result in results/classic-adaptive-continuation-2026-10-12.json.
Together with the corresponding Capture record, it supports the revised paper
checkpoint table and leaves the primary algorithm comparison unchanged.
Omar subsequently authorized stronger independent response evaluation on
CPU-cluster jobs. Its fifteen-profile spatial cohort and prospective
4096/8192 selection/held-out protocol are documented in
strong-response-evaluation-2026-10-12.md.
The original forty-two-worker Pursuit cohort is still frozen at 612145f;
neither its budgets nor the completed local warm pilots have been extended.
The main-paper evaluation now retains Capture 2 and explicitly distinguishes
its infeasible original joint target from the feasible designated-intruder
target. The known-model reference remains separate from learned outcomes.