{ "description": "strict single vs batched; diag arm uses --diag-video-projections (existing JSON, no GPU rerun for diag)", "pr_assets_pin": "4219a4e2de120647e0c80012e396d04822ca9f3e", "seeds": [ 11, 22, 33 ], "rlkernel_strict_bitwise_equal_all_steps_with_diag": { "h100": true, "b200": true }, "without_diag_strict_seed33_step3_max_abs_video_velocity": { "h100": 5.7220458984375e-06, "b200": 0.6215000152587891 }, "without_diag_provider_seed33_step3_max_abs_video_velocity": { "h100": 2.577500343322754, "b200": 0.960169792175293 }, "auditable_per_step_max": "pending/h3-full-transformer/reports/experiments/h3-full-transformer-h100/dual_trajectory_step_max.json", "mechanism_note": "Observed: unbound video proj_in/proj_out correlate with ~1e-6 layout drift; diag video-proj binding -> 0/16 on H100 and B200.", "euler_step3_probe": { "conclusion": "one_bf16_step_in_step3_input_then_spread_over_depth", "conclusion_detail": "B200 seed 33: the FP32 step-2 video latents of the two layouts differ by 1.9e-06, and after the bfloat16 cast at the step-3 input exactly 1 of 384 video elements differs (index [0,1,8], 0.40625 vs 0.408203125, 1.95e-03); audio and every other checked entry latent are identical after the cast. That single bf16 step reproduces the whole step-3 gap (arm P = arm A on every block, velocity 0.6215 video / 0.305 audio); with identical inputs (arms B, C) the layouts agree to 4e-06 to 5e-06. The relative difference of the block outputs grows about 300x over the 50 blocks (7.1e-04 after block 0, 0.22 after block 49), spread over the depth with no single sensitive layer. H100 seed 33: fp32 fork 2.6e-06 but 0 of 384 video elements differ after the cast, so the step-3 inputs are identical and the 5.7e-06 gap (arms A, B, C alike) is the layout-only gap. The layout-only gap is of the same size on both devices (B200 4.3e-06 / 5.4e-06). Do not summarise as a device sensitivity difference: the B200 spike needs the input element that straddles a bf16 rounding boundary. Script field conclusion_b200_style is a B<