Skip to content

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.