Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 5 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The work arrives in later phases of the `search-extensibility` epic, whose ledge
reference posteriors.
- **B3** — the first runs (the wave-1 pilot). From B3 this repo reports to
[PyAutoInsight](https://github.com/PyAutoLabs/PyAutoInsight) as instance `fit`
(`inference-summary@1`), and its
(`inference-summary@1`; `@3`, the record-sharded layout, from B5b-2), and its
[PyAutoCortex](https://github.com/PyAutoLabs/PyAutoCortex) row (`projects.yaml` key
`autofit_inference`, currently `planned`) flips to `active`.

Expand Down Expand Up @@ -95,7 +95,8 @@ results/reference/ reference posteriors per dataset and backend
results/searches/ result rows (from B3; scored wave-2 rows from B5b)
results/calibration/ the wave-1 calibration and the wave-2 probe timeouts
results/accounting/ the scored wave's attempt accounting (judge_wave2.py)
dashboard/summary.json inference-summary@1, generated
dashboard/summary.json inference-summary@3 index, generated; records/ holds its per-protocol,
per-leg record shards (one record per line)
hpc/ hpc/sync (laptop-side RAL driver), the batch_cpu template and
the generated wave-2 submits + task tables (batch_cpu/wave2/)
wiki/project/ the ledger (state.md) and the protocol
Expand Down Expand Up @@ -126,8 +127,8 @@ seed of Nautilus (`n_live=100`, numpy) on `gaussian_x3_blend` from PyAutoFit `ma
fails unless the exporter judges the row `accepted` against the committed reference.

After a change under `results/` or to the exporter, commit it, then regenerate
`dashboard/summary.json` and commit that separately: the summary stamps the latest
commit touching its producer paths, so it cannot sit in the same commit.
`dashboard/summary.json` with `dashboard/records/` and commit them separately: the summary
stamps the latest commit touching its producer paths, so it cannot sit in the same commit.

## Related Repos

Expand Down
128 changes: 65 additions & 63 deletions README.md

Large diffs are not rendered by default.

817 changes: 636 additions & 181 deletions catalogue/search_catalogue.json

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{"project":"autofit_inference","protocol_id":"gaussian_x3@1","schema":"inference-summary-records","shard":"gaussian_x3@1/gaussian_x3_blend/blackjax_nuts/warmup_200_samples_500/local_jax_cpu_fp64_cache_warm","version":3,"records":[
{"archived":false,"backend":"jax_cpu","comparison":{"declared_target":"gaussian_x3_blend/data_seed1/seed0","group":null,"note":"Declared target is not a verified comparison group; no ranking (wave 1 is a pilot)"},"configuration":{"assertion_mechanism":"xp_where_penalty","compile_cache":"warm","config_id":"local_jax_cpu_fp64_cache_warm","config_name":"local_jax_cpu_fp64","cores":1,"data_seed":1,"family":"chain","free_parameters":10,"pilot":true,"priors":{"assertions":"g0.centre < g1.centre < g2.centre","background.level":"U(-1, 1)","centre":"U(0, 100)","normalization":"LogUniform(0.01, 100)","sigma":"U(0.5, 30)"},"resumed":false,"seed_effective":true,"settings":{"num_samples":500,"num_warmup":200},"settings_name":"warmup_200_samples_500","task":"posterior","test_mode":false,"use_jax":true,"where":"local"},"consumer_total_s":42.179321799998434,"dataset":{"class":"gaussian_x3_blend","id":"gaussian_x3_blend/data_seed1","instrument":null},"dependency_revisions":{"autofit":"0dbf258c4f5e4238fc1cfd1b2eae56c6c6e6f655","autonerves":"c5ade6050cb919e46586e04d851867d6d252a11b"},"diagnostics":{"status":"available","values":{"evals_to_target_basis":"estimated","evals_to_target_note":"estimated: the index of the first sample reaching the target in the search's posterior sample order (Nautilus: posterior()), not an evaluation history, so it is not an observed evaluation count","likelihood_share_basis":"estimated","log_evidence_err_note":"no sampler-agnostic log Z error is recorded; compare seeds instead","log_likelihood_at_truth":193.46534844168778,"per_call_basis":"jit_single","per_call_s":6.71500001772074e-05,"posterior":{},"posterior_relabelled":{},"time_to_target_basis":"estimated","truth_delta_sigma":{},"truths":{"background.level":0.02,"g0.centre":25.0,"g0.normalization":30.0,"g0.sigma":3.0,"g1.centre":45.0,"g1.normalization":50.0,"g1.sigma":6.0,"g2.centre":60.0,"g2.normalization":40.0,"g2.sigma":10.0}}},"evidence_paths":["results/searches/gaussian_x3_blend/data_seed1/blackjax_nuts/warmup_200_samples_500/local_jax_cpu_fp64_cache_warm/search_seed0.json"],"execution":{"completed":false,"reason":"failed: TracerBoolConversionError: Attempted boolean conversion of traced array with shape bool[].\nThe 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.\nSee https://docs.jax.dev/en/latest/errors.html#jax.errors.TracerBoolConversionError","status":"failed: TracerBoolConversionError: Attempted boolean conversion of traced array with shape bool[].\nThe 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.\nSee https://docs.jax.dev/en/latest/errors.html#jax.errors.TracerBoolConversionError"},"hardware":{"cores":1,"device":{"backend":"cpu","cpu_count":8,"device":"cpu:0","jax_version":"0.10.2","nproc":"1","omp_num_threads":"1","x64":true,"xla_flags":"--xla_disable_hlo_passes=constant_folding --xla_gpu_autotune_level=0 --xla_gpu_enable_triton_gemm=false"},"host":"DESKTOP-H143S82","slurm_array_job_id":null,"slurm_array_task_id":null,"slurm_job_id":null},"id":"gaussian_x3/gaussian_x3_blend/data_seed1/blackjax_nuts/warmup_200_samples_500/local_jax_cpu_fp64_cache_warm/seed0","library_version":"2026.8.17.1","measured_at":"2026-10-08T14:17:55Z","model":"gaussian_x3","parent_run_id":null,"pipeline":null,"precision":"fp64","provider_wall_s":null,"sampler":"blackjax_nuts","samples":{"access":"project-storage-not-published","availability":"unknown","note":"Committed results do not verify current sample availability","path":"output/searches/gaussian_x3_blend/data_seed1/blackjax_nuts/warmup_200_samples_500/local_jax_cpu_fp64_cache_warm/seed_0/blackjax_nuts/d4f06c5209e89b3d3ca754bb7b05bdf8"},"scientific":{"acceptance":"not_assessed","asserted_by":"producer","convergence":"not_converged","criteria":[],"map_diagnostic":null,"placeholders":["sigma_ratio_band","ppc_chi2_tolerance","mode_radius_px","nested_min_ess","chain_max_rhat","chain_min_ess"],"protocol_id":"gaussian_x3@1","reason":"acceptance: reference completed after the pilot (B5b) | convergence: not completed: failed: TracerBoolConversionError: Attempted boolean conversion of traced array with shape bool[].\nThe 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.\nSee https://docs.jax.dev/en/latest/errors.html#jax.errors.TracerBoolConversionError","reference_limitations":[]},"seed":0,"stage":null,"target":"gaussian_x3_blend/data_seed1/seed0","timings":{"compile_s":1.0980627000026288,"definitions":{"compile_s":"First jitted likelihood call of a separate warm-up probe, in a cold- or warm-cache run (compile_cache); not added to total_s; null on numpy","sampling_s":"wall_s: sampler clock from samples_info.json; includes sampler overhead","setup_s":"Not measured separately; unknown, not total minus sampling","total_s":"total_wall_s: elapsed search.fit call; excludes the admission-bar probe and dataset/model setup"},"sampling_s":null,"setup_s":null,"total_s":42.179321799998434},"unknown_reasons":{},"warm_start":null},
{"archived":false,"backend":"jax_cpu","comparison":{"declared_target":"gaussian_x3_blend/data_seed1/seed1","group":null,"note":"Declared target is not a verified comparison group; no ranking (wave 1 is a pilot)"},"configuration":{"assertion_mechanism":"xp_where_penalty","compile_cache":"warm","config_id":"local_jax_cpu_fp64_cache_warm","config_name":"local_jax_cpu_fp64","cores":1,"data_seed":1,"family":"chain","free_parameters":10,"pilot":true,"priors":{"assertions":"g0.centre < g1.centre < g2.centre","background.level":"U(-1, 1)","centre":"U(0, 100)","normalization":"LogUniform(0.01, 100)","sigma":"U(0.5, 30)"},"resumed":false,"seed_effective":true,"settings":{"num_samples":500,"num_warmup":200},"settings_name":"warmup_200_samples_500","task":"posterior","test_mode":false,"use_jax":true,"where":"local"},"consumer_total_s":9.702254300005734,"dataset":{"class":"gaussian_x3_blend","id":"gaussian_x3_blend/data_seed1","instrument":null},"dependency_revisions":{"autofit":"0dbf258c4f5e4238fc1cfd1b2eae56c6c6e6f655","autonerves":"c5ade6050cb919e46586e04d851867d6d252a11b"},"diagnostics":{"status":"available","values":{"evals_to_target_basis":"estimated","evals_to_target_note":"estimated: the index of the first sample reaching the target in the search's posterior sample order (Nautilus: posterior()), not an evaluation history, so it is not an observed evaluation count","likelihood_share_basis":"estimated","log_evidence_err_note":"no sampler-agnostic log Z error is recorded; compare seeds instead","log_likelihood_at_truth":193.46534844168778,"per_call_basis":"jit_single","per_call_s":9.250000221072696e-05,"posterior":{},"posterior_relabelled":{},"time_to_target_basis":"estimated","truth_delta_sigma":{},"truths":{"background.level":0.02,"g0.centre":25.0,"g0.normalization":30.0,"g0.sigma":3.0,"g1.centre":45.0,"g1.normalization":50.0,"g1.sigma":6.0,"g2.centre":60.0,"g2.normalization":40.0,"g2.sigma":10.0}}},"evidence_paths":["results/searches/gaussian_x3_blend/data_seed1/blackjax_nuts/warmup_200_samples_500/local_jax_cpu_fp64_cache_warm/search_seed1.json"],"execution":{"completed":false,"reason":"failed: TracerBoolConversionError: Attempted boolean conversion of traced array with shape bool[].\nThe 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.\nSee https://docs.jax.dev/en/latest/errors.html#jax.errors.TracerBoolConversionError","status":"failed: TracerBoolConversionError: Attempted boolean conversion of traced array with shape bool[].\nThe 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.\nSee https://docs.jax.dev/en/latest/errors.html#jax.errors.TracerBoolConversionError"},"hardware":{"cores":1,"device":{"backend":"cpu","cpu_count":8,"device":"cpu:0","jax_version":"0.10.2","nproc":"1","omp_num_threads":"1","x64":true,"xla_flags":"--xla_disable_hlo_passes=constant_folding --xla_gpu_autotune_level=0 --xla_gpu_enable_triton_gemm=false"},"host":"DESKTOP-H143S82","slurm_array_job_id":null,"slurm_array_task_id":null,"slurm_job_id":null},"id":"gaussian_x3/gaussian_x3_blend/data_seed1/blackjax_nuts/warmup_200_samples_500/local_jax_cpu_fp64_cache_warm/seed1","library_version":"2026.8.17.1","measured_at":"2026-10-08T17:07:00Z","model":"gaussian_x3","parent_run_id":null,"pipeline":null,"precision":"fp64","provider_wall_s":null,"sampler":"blackjax_nuts","samples":{"access":"project-storage-not-published","availability":"unknown","note":"Committed results do not verify current sample availability","path":"output/searches/gaussian_x3_blend/data_seed1/blackjax_nuts/warmup_200_samples_500/local_jax_cpu_fp64_cache_warm/seed_1/blackjax_nuts/d4f06c5209e89b3d3ca754bb7b05bdf8"},"scientific":{"acceptance":"not_assessed","asserted_by":"producer","convergence":"not_converged","criteria":[],"map_diagnostic":null,"placeholders":["sigma_ratio_band","ppc_chi2_tolerance","mode_radius_px","nested_min_ess","chain_max_rhat","chain_min_ess"],"protocol_id":"gaussian_x3@1","reason":"acceptance: reference completed after the pilot (B5b) | convergence: not completed: failed: TracerBoolConversionError: Attempted boolean conversion of traced array with shape bool[].\nThe 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.\nSee https://docs.jax.dev/en/latest/errors.html#jax.errors.TracerBoolConversionError","reference_limitations":[]},"seed":1,"stage":null,"target":"gaussian_x3_blend/data_seed1/seed1","timings":{"compile_s":0.3757209999967017,"definitions":{"compile_s":"First jitted likelihood call of a separate warm-up probe, in a cold- or warm-cache run (compile_cache); not added to total_s; null on numpy","sampling_s":"wall_s: sampler clock from samples_info.json; includes sampler overhead","setup_s":"Not measured separately; unknown, not total minus sampling","total_s":"total_wall_s: elapsed search.fit call; excludes the admission-bar probe and dataset/model setup"},"sampling_s":null,"setup_s":null,"total_s":9.702254300005734},"unknown_reasons":{},"warm_start":null}
]}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{"project":"autofit_inference","protocol_id":"gaussian_x3@1","schema":"inference-summary-records","shard":"gaussian_x3@1/gaussian_x3_blend/blackjax_nuts_warm/warmup_200_samples_500/local_jax_cpu_fp64_cache_warm","version":3,"records":[
{"archived":false,"backend":"jax_cpu","comparison":{"declared_target":"gaussian_x3_blend/data_seed1/seed0","group":null,"note":"Declared target is not a verified comparison group; no ranking (wave 1 is a pilot)"},"configuration":{"assertion_mechanism":"xp_where_penalty","compile_cache":"warm","config_id":"local_jax_cpu_fp64_cache_warm","config_name":"local_jax_cpu_fp64","cores":1,"data_seed":1,"family":"chain","free_parameters":10,"pilot":true,"priors":{"assertions":"g0.centre < g1.centre < g2.centre","background.level":"U(-1, 1)","centre":"U(0, 100)","normalization":"LogUniform(0.01, 100)","sigma":"U(0.5, 30)"},"resumed":false,"seed_effective":true,"settings":{"num_samples":500,"num_warmup":200},"settings_name":"warmup_200_samples_500","task":"posterior","test_mode":false,"use_jax":true,"where":"local"},"consumer_total_s":67.55193340000187,"dataset":{"class":"gaussian_x3_blend","id":"gaussian_x3_blend/data_seed1","instrument":null},"dependency_revisions":{"autofit":"0dbf258c4f5e4238fc1cfd1b2eae56c6c6e6f655","autonerves":"c5ade6050cb919e46586e04d851867d6d252a11b"},"diagnostics":{"status":"available","values":{"evals_to_target_basis":"estimated","evals_to_target_note":"estimated: the index of the first sample reaching the target in the search's posterior sample order (Nautilus: posterior()), not an evaluation history, so it is not an observed evaluation count","likelihood_share_basis":"estimated","log_evidence_err_note":"no sampler-agnostic log Z error is recorded; compare seeds instead","log_likelihood_at_truth":193.46534844168778,"per_call_basis":"jit_single","per_call_s":7.6450000051409e-05,"posterior":{},"posterior_relabelled":{},"time_to_target_basis":"estimated","truth_delta_sigma":{},"truths":{"background.level":0.02,"g0.centre":25.0,"g0.normalization":30.0,"g0.sigma":3.0,"g1.centre":45.0,"g1.normalization":50.0,"g1.sigma":6.0,"g2.centre":60.0,"g2.normalization":40.0,"g2.sigma":10.0}}},"evidence_paths":["results/searches/gaussian_x3_blend/data_seed1/blackjax_nuts_warm/warmup_200_samples_500/local_jax_cpu_fp64_cache_warm/search_seed0.json"],"execution":{"completed":false,"reason":"failed: TracerBoolConversionError: Attempted boolean conversion of traced array with shape bool[].\nThe 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.\nSee https://docs.jax.dev/en/latest/errors.html#jax.errors.TracerBoolConversionError","status":"failed: TracerBoolConversionError: Attempted boolean conversion of traced array with shape bool[].\nThe 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.\nSee https://docs.jax.dev/en/latest/errors.html#jax.errors.TracerBoolConversionError"},"hardware":{"cores":1,"device":{"backend":"cpu","cpu_count":8,"device":"cpu:0","jax_version":"0.10.2","nproc":"1","omp_num_threads":"1","x64":true,"xla_flags":"--xla_disable_hlo_passes=constant_folding --xla_gpu_autotune_level=0 --xla_gpu_enable_triton_gemm=false"},"host":"DESKTOP-H143S82","slurm_array_job_id":null,"slurm_array_task_id":null,"slurm_job_id":null},"id":"gaussian_x3/gaussian_x3_blend/data_seed1/blackjax_nuts_warm/warmup_200_samples_500/local_jax_cpu_fp64_cache_warm/seed0","library_version":"2026.8.17.1","measured_at":"2026-10-08T14:03:05Z","model":"gaussian_x3","parent_run_id":null,"pipeline":null,"precision":"fp64","provider_wall_s":1166.1726357000007,"sampler":"blackjax_nuts_warm","samples":{"access":"project-storage-not-published","availability":"unknown","note":"Committed results do not verify current sample availability","path":"output/searches/gaussian_x3_blend/data_seed1/blackjax_nuts_warm/warmup_200_samples_500/local_jax_cpu_fp64_cache_warm/seed_0/blackjax_nuts_warm/909621c338d77faabbaaf7fcfad54870"},"scientific":{"acceptance":"not_assessed","asserted_by":"producer","convergence":"not_converged","criteria":[],"map_diagnostic":null,"placeholders":["sigma_ratio_band","ppc_chi2_tolerance","mode_radius_px","nested_min_ess","chain_max_rhat","chain_min_ess"],"protocol_id":"gaussian_x3@1","reason":"acceptance: reference completed after the pilot (B5b) | convergence: not completed: failed: TracerBoolConversionError: Attempted boolean conversion of traced array with shape bool[].\nThe 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.\nSee https://docs.jax.dev/en/latest/errors.html#jax.errors.TracerBoolConversionError","reference_limitations":[]},"seed":0,"stage":null,"target":"gaussian_x3_blend/data_seed1/seed0","timings":{"compile_s":1.0412813000002643,"definitions":{"compile_s":"First jitted likelihood call of a separate warm-up probe, in a cold- or warm-cache run (compile_cache); not added to total_s; null on numpy","sampling_s":"wall_s: sampler clock from samples_info.json; includes sampler overhead","setup_s":"Not measured separately; unknown, not total minus sampling","total_s":"Attempt cost: warm-start provider search.fit (provider_wall_s) + consumer search.fit (consumer_total_s); excludes the admission-bar probe and dataset/model setup; null when either part is unknown"},"sampling_s":null,"setup_s":null,"total_s":1233.7245691000026},"unknown_reasons":{},"warm_start":{"mass_matrix":"provider covariance","provider":"nautilus","provider_settings":"n_live_100","provider_settings_kwargs":{"n_live":100},"start":"provider max-log-likelihood point, jitter 0.05"}}
]}
Loading
Loading