diff --git a/campaigns.yaml b/campaigns.yaml
index 0b48355..666be96 100644
--- a/campaigns.yaml
+++ b/campaigns.yaml
@@ -92,17 +92,18 @@ campaigns:
- id: gaussian-x3-search-benchmark
title: PyAutoFit search benchmark on gaussian_x3 (autofit_inference)
status: running
- updated: '2026-10-14'
- next: Scored wave 2 submitted on RAL partition ral 2026-10-14 (gaussian_x3@2 frozen in autofit_inference
- 72d6faaf1717; PyAutoFit pin df6d218f10cd; references 408244/408245, probe 408246, builds 408346/408347,
- scored arrays 408348/408365/408366/408367); when they finish, B5b pulls, judges under @2 and publishes.
- recent_progress: Wave-1 pilot stopped at 223 of 520 runs (2026-10-08); gaussian_x3@2 frozen from its 17-row
- calibration before any scored run and scored wave 2 (11,750 runs + 20-run probe) submitted 2026-10-14 (B5a,
- autofit_inference#9).
- blockers: none for the running wave; the JAX blend realisation-1 reference is built on the laptop in B5b.
- job_status: unknown — live scheduler not queried; the Cortex ledger records the submission of 2026-10-14
- 17:19 BST
- evidence: https://github.com/PyAutoLabs/autofit_inference/issues/8
+ updated: '2026-10-15'
+ next: B5b-2 — when RAL job 409930 (the 980-run probe-first remainder, Zeus JAX + NSS 50-step) finishes, pull
+ and judge it under gaussian_x3@2 to close wave 2, refresh the fit snapshot from main, and apply the human's
+ choice of form for the wave-2 summary records (autofit_inference#10).
+ recent_progress: Scored wave 2 pulled and judged under gaussian_x3@2 (B5b, 2026-10-15, autofit_inference#10)
+ — 11,770 rows admitted at the pin df6d218f10cd; all 20 per-realisation references complete; catalogue
+ gaussian_x3@2 section orders legs within one task and one dataset; probe-first remainder submitted as 409930.
+ blockers: the wave-2 summary records are withheld on size (~84 MB) pending a human choice of form
+ (autofit_inference#10); the probe-first cells stay open until 409930 is pulled.
+ job_status: unknown — live scheduler not queried; the Cortex ledger records 409930 submitted 2026-10-15 on
+ ral
+ evidence: https://github.com/PyAutoLabs/autofit_inference/issues/10
project: autofit_inference
tasks:
- id: drop_1e3_prior_centring_after_631
@@ -181,7 +182,7 @@ tasks:
status: running
priority: high
path: tasks/gaussian_x3_search_wave2.md
- updated: '2026-10-14'
- next: Submitted on RAL ral 2026-10-14 under gaussian_x3@2 (Cortex autofit_inference Runs); B5b pulls, builds the
- JAX blend realisation-1 reference, sets probe-first timeouts, judges under @2 and publishes.
- evidence: https://github.com/PyAutoLabs/autofit_inference/issues/8
+ updated: '2026-10-15'
+ next: B5b judged the scored arrays under gaussian_x3@2 and submitted the probe-first remainder (409930); B5b-2
+ pulls and judges it, then refreshes the fit snapshot from main.
+ evidence: https://github.com/PyAutoLabs/autofit_inference/issues/10
diff --git a/dashboard.html b/dashboard.html
index c6de2ff..3e794ad 100644
--- a/dashboard.html
+++ b/dashboard.html
@@ -369,7 +369,7 @@
- PyAutoInsight: https://github.com/PyAutoLabs/PyAutoInsight
- autolens_inference: https://github.com/PyAutoLabs/autolens_inference
- autofit_inference: https://github.com/PyAutoLabs/autofit_inference
Wave-1 pilot stopped at 223 of 520 runs (2026-10-08); gaussian_x3@2 frozen from its 17-row calibration before any scored run and scored wave 2 (11,750 runs + 20-run probe) submitted 2026-10-14 (B5a, autofit_inference#9).
Scored wave 2 submitted on RAL partition ral 2026-10-14 (gaussian_x3@2 frozen in autofit_inference 72d6faaf1717; PyAutoFit pin df6d218f10cd; references 408244/408245, probe 408246, builds 408346/408347, scored arrays 408348/408365/408366/408367); when they finish, B5b pulls, judges under @2 and publishes.
Pilot stopped at 223 of 520 runs and is not restarted; freeze gaussian_x3@2 from its 17-row calibration before any scored run; the deferred cells move to scored wave 2 (after A2 and A4).
Scored wave 2 pulled and judged under gaussian_x3@2 (B5b, 2026-10-15, autofit_inference#10) — 11,770 rows admitted at the pin df6d218f10cd; all 20 per-realisation references complete; catalogue gaussian_x3@2 section orders legs within one task and one dataset; probe-first remainder submitted as 409930.
B5b-2 — when RAL job 409930 (the 980-run probe-first remainder, Zeus JAX + NSS 50-step) finishes, pull and judge it under gaussian_x3@2 to close wave 2, refresh the fit snapshot from main, and apply the human's choice of form for the wave-2 summary records (autofit_inference#10).
Pilot stopped at 223 of 520 runs and is not restarted; freeze gaussian_x3@2 from its 17-row calibration before any scored run; the deferred cells move to scored wave 2 (after A2 and A4).
B5b judged the scored arrays under gaussian_x3@2 and submitted the probe-first remainder (409930); B5b-2 pulls and judges it, then refreshes the fit snapshot from main.
failed: TracerBoolConversionError: Attempted boolean conversion of traced array with shape bool[].
The error occurred while tracing the function log_l at <workspace>/PyAutoFit/autofit/non_linear/search/mcmc/blackjax/nuts/search.py:730 for jit. This concrete value was not available in Python because it depends on the value of the argument params.
See https://docs.jax.dev/en/latest/errors.html#jax.errors.TracerBoolConversionError
failed: TracerBoolConversionError: Attempted boolean conversion of traced array with shape bool[].
The error occurred while tracing the function log_l at <workspace>/PyAutoFit/autofit/non_linear/search/mcmc/blackjax/nuts/search.py:730 for jit. This concrete value was not available in Python because it depends on the value of the argument params.
diff --git a/dashboard.md b/dashboard.md
index ee01b86..71adfcc 100644
--- a/dashboard.md
+++ b/dashboard.md
@@ -1,6 +1,6 @@
# PyAutoInsight — inference control room
-
+
| Where | Count |
|---|---:|
@@ -10,7 +10,7 @@
| [Cached](#evidence) | 0 |
| [Failed](#evidence) | 0 |
-
+
## Check in on all inference work
Copy this into one chat. Add a campaign focus or idea before or after it, or leave it unchanged.
@@ -46,7 +46,7 @@ After taking action, report what changed, what the evidence supports and what re
| [N=50 NUTS versus three EP repeats](https://github.com/PyAutoLabs/PyAutoCortex/blob/d45f198804615c090e6b6694cf725ddb0be2354e/projects/ep_toy_gaussian.md) | Cortex records failed wave 1 (EMFILE/OOM), wave-2 preparation and no submission. | Present the existing wave-2 proposal with current dependency evidence for decision. |
| [Hierarchical slope recovery at scale](https://github.com/PyAutoLabs/PyAutoCortex/blob/d45f198804615c090e6b6694cf725ddb0be2354e/projects/slope_hierarchy_scale.md) | Cortex retains graphical baseline, post-processing OOM and stale EP hierarchical factor; Mind records later moments fix. | Verify the moments fix release and project mirror; recover missing summaries from existing samples before a proposed rerun. |
| [IC50 EP and graphical scale ladder](https://github.com/PyAutoLabs/PyAutoCortex/blob/d45f198804615c090e6b6694cf725ddb0be2354e/projects/ic50_workspace.md) | Cortex records N=5/10/25 results, failed N=50 EP rung and width-interpretation caveat. | Check implementation close-outs, then propose a seeded ladder with appropriate output and mean-field diagnostics. |
-| [PyAutoFit search benchmark on gaussian_x3 (autofit_inference)](https://github.com/PyAutoLabs/autofit_inference/issues/8) | Wave-1 pilot stopped at 223 of 520 runs (2026-10-08); gaussian_x3@2 frozen from its 17-row calibration before any scored run and scored wave 2 (11,750 runs + 20-run probe) submitted 2026-10-14 (B5a, autofit_inference#9). | Scored wave 2 submitted on RAL partition ral 2026-10-14 (gaussian_x3@2 frozen in autofit_inference 72d6faaf1717; PyAutoFit pin df6d218f10cd; references 408244/408245, probe 408246, builds 408346/408347, scored arrays 408348/408365/408366/408367); when they finish, B5b pulls, judges under @2 and publishes. |
+| [PyAutoFit search benchmark on gaussian_x3 (autofit_inference)](https://github.com/PyAutoLabs/autofit_inference/issues/10) | Scored wave 2 pulled and judged under gaussian_x3@2 (B5b, 2026-10-15, autofit_inference#10) — 11,770 rows admitted at the pin df6d218f10cd; all 20 per-realisation references complete; catalogue gaussian_x3@2 section orders legs within one task and one dataset; probe-first remainder submitted as 409930. | B5b-2 — when RAL job 409930 (the 980-run probe-first remainder, Zeus JAX + NSS 50-step) finishes, pull and judge it under gaussian_x3@2 to close wave 2, refresh the fit snapshot from main, and apply the human's choice of form for the wave-2 summary records (autofit_inference#10). |
## Active tasks
@@ -58,7 +58,7 @@ After taking action, report what changed, what the evidence supports and what re
| [Graphical Model Scale-Up — Scoping](https://github.com/PyAutoLabs/PyAutoInsight/blob/main/tasks/graphical_scoping.md) | graphical-ep | needs-slicing | high | Reconcile current Cortex scale results and library dependencies; select one bounded inference phase with a witness. |
| [NUTS/HMC trial on validated likelihoods](https://github.com/PyAutoLabs/PyAutoInsight/blob/main/tasks/gradient_sampler_validated_likelihoods.md) | point-source-admission | needs-decision | normal | An unscoped idea, not permission to submit: reconcile point-source admission with imaging and weak-lensing candidate targets. |
| [gaussian_x3 search benchmark — wave 1 (the pilot)](https://github.com/PyAutoLabs/PyAutoInsight/blob/main/tasks/gaussian_x3_search_wave1.md) | gaussian-x3-search-benchmark | blocked | normal | Pilot stopped at 223 of 520 runs and is not restarted; freeze gaussian_x3@2 from its 17-row calibration before any scored run; the deferred cells move to scored wave 2 (after A2 and A4). |
-| [gaussian_x3 search benchmark — wave 2 (scored)](https://github.com/PyAutoLabs/PyAutoInsight/blob/main/tasks/gaussian_x3_search_wave2.md) | gaussian-x3-search-benchmark | running | high | Submitted on RAL ral 2026-10-14 under gaussian_x3@2 (Cortex autofit_inference Runs); B5b pulls, builds the JAX blend realisation-1 reference, sets probe-first timeouts, judges under @2 and publishes. |
+| [gaussian_x3 search benchmark — wave 2 (scored)](https://github.com/PyAutoLabs/PyAutoInsight/blob/main/tasks/gaussian_x3_search_wave2.md) | gaussian-x3-search-benchmark | running | high | B5b judged the scored arrays under gaussian_x3@2 and submitted the probe-first remainder (409930); B5b-2 pulls and judges it, then refreshes the fit snapshot from main. |
[Ledger](https://github.com/PyAutoLabs/PyAutoInsight/blob/main/campaigns.yaml)
diff --git a/tasks/gaussian_x3_search_wave2.md b/tasks/gaussian_x3_search_wave2.md
index e745975..9b9ff18 100644
--- a/tasks/gaussian_x3_search_wave2.md
+++ b/tasks/gaussian_x3_search_wave2.md
@@ -4,7 +4,7 @@ Type: research
Target: autofit_inference
Campaign: gaussian-x3-search-benchmark
Epic: search-extensibility (phase B5)
-Issue: https://github.com/PyAutoLabs/autofit_inference/issues/8
+Issue: https://github.com/PyAutoLabs/autofit_inference/issues/8 (B5a); B5b: https://github.com/PyAutoLabs/autofit_inference/issues/10
Filed: 2026-10-14
## Intent
@@ -53,13 +53,37 @@ All jobs ran on RAL `--partition=ral` only, with job ids on the Cortex ledger
This task authorizes nothing further: B5a submitted the wave. Nothing has been pulled or
scored yet.
-## Next (B5b, a separate Mind task)
-
-When the arrays finish:
-
-1. Pull the results.
-2. Build the JAX blend realisation-1 reference on the laptop. Any re-judging of the
- pilot's `@1` rows against it is a reassessment and must be decided explicitly.
-3. Set the probe-first timeouts and submit the rest of those cells.
-4. Judge every row under `@2`, catalogue it, and publish the wave-2 summary.
-5. Refresh the Insight `fit` snapshot only then.
+## Pulled and judged (B5b, 2026-10-15, autofit_inference#10)
+
+- **Rows.** All 11,770 rows are admitted under `gaussian_x3@2` at the pin `df6d218f10cd`,
+ with none refused (11,750 from the scored arrays and 20 from the probe). The accounting
+ (`results/accounting/gaussian_x3_wave2.json`) breaks down as:
+ - scored: 10,580 rows and 1,170 failed attempts, with 0 missing and 0 operational
+ kills;
+ - probe: 20 rows;
+ - remainder: 980 missing (submitted);
+ - deferred: 250.
+- **References.** All 20 per-realisation references are complete. They include only the
+ Nautilus runs, because DynestyStatic's ln Z disagrees with Nautilus on every one.
+- **Probe timeouts.** The probe-first timeouts, from the probe medians by the frozen
+ rule, are 600 s for NSS 50-step and 1168 s for Zeus JAX. Their remaining 980 runs are
+ RAL job **409930** on `--partition=ral`.
+- **Results.** The results are the `gaussian_x3@2` section of
+ `catalogue/search_catalogue.json`: success rate and expected wall per right answer, per
+ leg. Legs are ordered within one task and one dataset only.
+- **Summary.** `dashboard/summary.json` stays `inference-summary@1`. It carries the
+ `protocols` list and the wave-2 accounting, but withholds the wave-2 records: at
+ ~84 MB they exceed GitHub's 50 MB warning. That question is open on
+ autofit_inference#10.
+- **Insight snapshot.** The `fit` snapshot is unchanged in this task. The board's local
+ read of the B5b branch (`board --from fit=`) ingests it as valid (223 records,
+ clean). The receipt and snapshot are refreshed from `main` once autofit_inference PR 1
+ merges.
+
+## Next (B5b-2, a separate Mind task)
+
+When 409930 finishes:
+
+1. Pull the remainder and judge the Zeus JAX and NSS cells. This closes the wave.
+2. Refresh the `fit` snapshot from `main`.
+3. Apply the human's choice of summary form for the wave-2 records.