The plumbing for the jBS diff anchor is source-agnostic (run.py:1139-1140 passes bl.jBS_diff unconditionally; TokaMaker_interface.py:1770-1774 applies it), but its CONSTRUCTION is IMAS-only: run.py:711-718 sits inside _forward_solve_imas_baseline, guarded by isinstance(source, ImasSource) at run.py:461. _resolve_reconstruction (baseline.py:386-506) never sets jBS_diff, so it stays None.
Consequence: a config with generation.jBS_baseline_mode = "diff" and a ReconstructionSource round-trips fine and the setting does nothing. The 169510 production config (D3D_169510_3000_v110.h5, scan 3000) carries exactly this inert combination — discovered 2026-08-04 during the beta-scan API recon.
Fix options: (a) warn/error in _validate_workflow when jBS_baseline_mode="diff" is set with a ReconstructionSource; or (b) implement the diff construction on the reconstruction path (note: bouquet's own sigma=0 guard shows SWB reproduces the archived j_BS to 0.13% of peak in the reconstruction context, so the diff would be ~0 by construction — which argues for (a), a guard, not (b)).
Line numbers referenced against v1.1.0/f7b5691; re-locate on current main.
The plumbing for the jBS diff anchor is source-agnostic (run.py:1139-1140 passes bl.jBS_diff unconditionally; TokaMaker_interface.py:1770-1774 applies it), but its CONSTRUCTION is IMAS-only: run.py:711-718 sits inside _forward_solve_imas_baseline, guarded by isinstance(source, ImasSource) at run.py:461. _resolve_reconstruction (baseline.py:386-506) never sets jBS_diff, so it stays None.
Consequence: a config with generation.jBS_baseline_mode = "diff" and a ReconstructionSource round-trips fine and the setting does nothing. The 169510 production config (D3D_169510_3000_v110.h5, scan 3000) carries exactly this inert combination — discovered 2026-08-04 during the beta-scan API recon.
Fix options: (a) warn/error in _validate_workflow when jBS_baseline_mode="diff" is set with a ReconstructionSource; or (b) implement the diff construction on the reconstruction path (note: bouquet's own sigma=0 guard shows SWB reproduces the archived j_BS to 0.13% of peak in the reconstruction context, so the diff would be ~0 by construction — which argues for (a), a guard, not (b)).
Line numbers referenced against v1.1.0/f7b5691; re-locate on current main.