# DiffusionGemma batch-shape investigation

Completed: October 6, 2026
Experiment period: late August–October 6, 2026

Status: complete for the pinned H100 experiment; A100 localization is complete,
but no A100 repair was attempted

## Short answer

Yes. On the pinned BF16 stack, changing only the physical decoder batch shape
changed DiffusionGemma's logits, sampling decisions, stopping point, and final
text. The logical input, prompt cache, canvas, token values, and random events
were held fixed.

The first mismatch depended on the GPU. On H100 it appeared in the MoE router:
batch sizes one and two agreed, and batch sizes three and four agreed, but the
two pairs differed. On A100 all four batch sizes differed, and the first captured
mismatch moved to layer-0 attention.

Two H100 fixes were needed. Evaluating the router projections one logical row at
a time repaired pass 1 in 24/24 states. That exposed a second mismatch on pass 2,
when self-conditioning first became nonzero. Evaluating the
probability-to-embedding multiplication by logical row repaired that boundary.

With both fixes active, all 50 recorded trajectory fields matched in 24/24
states. A separate instrumented run then hashed the full `[256, 262144]` float32
target-logit tensor on every pass. All 586 pass manifests and 150,016 ordered
position-vector hashes matched across 293 paired passes per arm, covering
157,303,177,216 materialized target bytes.

The scope is narrow. This record establishes exact target-output and recorded
trajectory agreement for one model, dtype, software stack, and H100 panel. It
does not establish that every unrecorded activation is equal, that the repair is
fast enough for serving, or that the H100 repair applies to A100.

## Run index

| Experiment | Run key | Hardware | Frozen sample | Main outcome |
| --- | --- | --- | ---: | --- |
| H100 operator localization | `d45d94cd0b9c0cceb2d9` | H100 80 GB, CC 9.0 | 24 states | `B1=B2 | B3=B4`; router interval in 24/24 |
| A100 exact-protocol replication | `c2601622befa907b7b2e` | A100-SXM4-80GB, CC 8.0 | 24 states | effect present, but `B1 | B2 | B3 | B4`; layer-0 attention interval in 24/24 |
| H100 router replay and rescue | `ef228f464b4045cdf08e` | H100 80 GB, CC 9.0 | 2 states | router `F.linear` boundary; all-router row-wise evaluation exactly rescues B1 first-step outputs in 2/2 |
| H100 trajectory rescue | `1c2aafb4a4392c898582` | H100 80 GB, CC 9.0 | 24 states | first pass rescued in 24/24; full path exact in 0/24; first split moves to pass 2 in 24/24 |
| H100 self-conditioning closure | `9b2bcf1bcf90f08c1b5b` | H100 80 GB, CC 9.0 | 4 discovery + 24 confirmation states | fixed-probability split matmul closes 4/4 probes; row-wise probability-to-embedding path closes pass 2 in 24/24 |
| H100 full-trajectory closure | `6443d51d903c7055c55d` | H100 80 GB, CC 9.0 | 4 discovery + 24 confirmation states | both repairs make all 50 recorded trajectory fields, stopping, tokens, and text exact in 24/24 |
| H100 all-pass raw-logit closure | `5e3d70cc76970168b6fd` | H100 80 GB, CC 9.0 | 4 discovery + 20 held-out states | both repairs make every target float32 vocabulary-logit byte exact on all 293 paired passes |

The 24 states are 12 prompts from two task families, GSM8K and structured JSON,
with two frozen seeds per prompt. The two replay states were the discovery states
fixed before the replay run: `gsm8k_test_0998__seed0` at decoder layer 1 and
`structured_json_021__seed0` at decoder layer 0.

## Frozen comparison and controls

The main arms use one identical logical sequence evaluated at different physical
decoder batch sizes:

- `B1`: one physical row;
- `B2`: two bitwise-identical physical rows;
- `B3`: three bitwise-identical physical rows; and
- `B4`: four bitwise-identical physical rows.

A singleton prompt cache was materially copied or repeated. Every duplicate row
was required to remain exact, and cache tensors were hashed before and after each
state. Native-singleton, copied-singleton, repeated-singleton, hook
nonperturbation, post-hook, finiteness, parameter-integrity, and implementation
checks were also retained. All 24 rows passed the H100 and A100 execution-integrity
gates; both replay states passed every replay and rescue integrity gate.

All six mechanism runs used:

- model `google/diffusiongemma-26B-A4B-it`, revision
  `f7f5b7f5fa82ffc52addd066915886d497f5517b`;
- BF16, evaluation and inference mode, compilation disabled;
- Transformers 5.15.0 and PyTorch 2.13.0+cu130;
- CUDA 13.0 and cuDNN 92000;
- SDPA attention and `grouped_mm` experts; and
- TF32 disabled. Deterministic algorithms were not enabled, and the recorded
  reduced-precision reduction flags were left at the pinned runtime settings.

These controls isolate physical leading dimension and call partition under the
tested runtime. They do not imply that the underlying GPU kernels are
mathematically deterministic or architecture invariant.

## What did not work

Several plausible explanations or partial fixes failed during the investigation:

- The H100 mechanism did not transfer to A100. The batch effect remained, but
  the H100 router signature disappeared and the first captured mismatch moved to
  attention.
- Repairing only the first implicated H100 router layer did not restore the
  final logits in either replay state. All 30 router projections had to be
  evaluated by logical row to repair the first pass.
- Repairing every router projection still did not repair generation. It made
  pass 1 exact in all 24 states, then every run separated again on pass 2.
- The router-only full-trajectory comparison matched all 46 recorded fields in
  0/24 cases. That failure led to the self-conditioning follow-up rather than to
  a broader router intervention.

These failures are part of the result. They mark where each explanation stopped
working and motivated the next frozen experiment.

## H100 localization: a sparse router split becomes a global decision change

Run `d45d94cd0b9c0cceb2d9` completed 456 decoder forwards and 1,032 physical
decoder rows. The normalized discovery signature

`decoder_layer -> decoder.layer.*.moe.router.proj.output`

appeared in both discovery states and all 22 held-out states, covering all six
prompts in each family. The independent analyzer classified the result as
`CAPTURED_UPSTREAM_FUNCTIONAL_INTERVAL_PREVALENT`.

### First-step phenotype

| Endpoint, B4 versus B1 | Recomputed result |
| --- | ---: |
| Raw logits nonexact | 24/24 states |
| Top-1 predictions with at least one flip | 24/24 states |
| Top-1 flips | 980/6,144 positions (15.95%) |
| Accepted mask changed | 20/24 states |
| Accepted-set symmetric difference | 164/6,144 memberships (2.67%) |
| Accepted memberships gained/lost under B4 | 56 / 108 |
| Total accepted positions, B1/B4 | 821 / 769 |
| Changed final-logit elements | 1,591,653,152/1,610,612,736 (98.82%) |

Raw logits and top-1 predictions had the exact equivalence class
`B1=B2 | B3=B4` in all 24 states. The accepted mask had the same split in 20
states and was equal across all four arms in four states. Numerical differences
did not always change a sampler decision, but they crossed the entropy-budget
boundary in most of the frozen states.

### Localization and propagation

The first coarse divergence occurred in decoder layers 0--8, distributed as
layer 0: 5 states, layer 1: 8, layer 2: 2, layer 3: 6, and layers 4, 5, and 8:
one each. At each selected layer, the captured router-normalization output was
exact while the captured router-projection output was nonexact.

The first captured router split was sparse:

- 401 of 786,432 BF16 router-score elements changed across all states (0.051%);
- 378 of 6,144 state-position pairs were affected, a mean of 15.75 positions
  per state;
- the mean was 16.71 changed score elements per state;
- median RMS difference was `1.2396e-4`, and median maximum difference was
  `0.015625`; and
- top-k router IDs changed in only 3/24 states, with an unordered selected-expert
  set change in only one state.

The containing layer output differed at a mean of 1.17 token positions. The
perturbation then reached all 256 positions after one later layer in seven states
and after two later layers in 17. All 256 final hidden positions differed in
24/24 states. In the captured path, a sparse router-score mismatch became a
near-global vocabulary-logit difference within two layers.

The localization run alone did **not** prove that the projection call was the
first functional cause. Its captured bracket was

`router norm -> uncaptured scale/root-size transform -> router projection`.

The isolated replay below closes that bracket for two frozen states only.

## A100 replication: same phenomenon, different numerical pathway

Run `c2601622befa907b7b2e` reused the complete frozen H100 protocol and all 24
states. It completed 456 decoder forwards and 1,032 physical rows. All execution
integrity checks passed.

The A100 run did not meet the preregistered H100-mechanism criterion:

- H100 normalized-signature matches: 0/2 discovery and 0/22 held-out states;
- H100 equivalence-partition matches: 0/24 states; and
- exact reproduction of the H100 source decision: 0/24 states.

The last item is a cross-hardware scientific outcome, not an integrity failure.
The source states were generated on H100; the within-A100 experiment remained
valid even when A100 B1 did not reproduce H100 B1 bitwise.

Within A100, a different signature was internally stable in both discovery states
and all 22 held-out states:

`decoder_layer -> decoder.layer.*.attention.o_proj.input`.

All four arms had distinct raw-logit and top-1 hashes in all 24 states:
`B1 | B2 | B3 | B4`.

| Arm versus B1 | Top-1 flips | Accepted mask changed | Accepted-set symmetric difference | Changed final logits |
| --- | ---: | ---: | ---: | ---: |
| B2 | 982/6,144 (15.98%) | 20/24 | 186 | 98.90% |
| B3 | 1,096/6,144 (17.84%) | 20/24 | 185 | 98.96% |
| B4 | 1,041/6,144 (16.94%) | 21/24 | 159 | 98.90% |

The earliest captured B2 split was layer-0 `attention.o_proj.output` in 24/24
states. The earliest B3 and B4 split was layer-0 `attention.o_proj.input` in
24/24. Layer-0 attention q/k/v projection and normalization outputs were exact
across arms in all states.

For B4 versus B1, 1,977,958 of 17,301,504 elements at `o_proj.input` differed
(11.43%), covering every position. The median RMS difference was `3.3693e-4`, and
the median maximum difference was `0.0625`.

There is also matched-input functional-call evidence at the output projection:

- B1 and B2 had an exact `o_proj` input but a nonexact output in 24/24 states;
- B3 and B4 had the same `o_proj` input hash but different output hashes in
  24/24 states; and
- versus B1, changed `o_proj.output` fractions were 18.84% for B2, 30.02% for
  B3, and 20.60% for B4.

At matched inputs, the A100 attention output projection was itself sensitive to
physical row shape. That call cannot explain the complete B4-versus-B1 effect,
because B4 already differed at its input. The uncaptured upstream interval
includes rotary, cache, reshape, and SDPA operations; this experiment does not
identify a specific attention kernel.

Cross-hardware raw-logit and top-1 hashes matched in 0/24 states for every arm.
Accepted masks matched the H100 counterpart in 2/24 B1 states and 3/24 states for
each of B2, B3, and B4. The effect was present on both GPUs, but the first mapped
pathway depended on the hardware.

## H100 router replay: functional cause and exact first-step rescue

Run `ef228f464b4045cdf08e` used the two frozen H100 discovery states. It completed
18 decoder forwards and 54 physical rows. Both states passed source-capture,
source-logit, cache, duplicate-row, finiteness, parameter, hook-removal,
nonperturbation, replay, and intervention-integrity checks. The final run label was

`ROUTER_LINEAR_SHAPE_CAUSAL_WITH_EXACT_LOGIT_RESCUE`.

For both states:

1. The scale/root-size replay exactly reproduced the captured projection input
   for B1--B4. The target projection input was bitwise equal across arms.
2. A same-shape `torch.nn.functional.linear` replay exactly reproduced the
   observed projection output and was repeatable.
3. Joint B3/B4 projection reproduced the observed shape-dependent scores.
4. Splitting the exact B4 input into four independent 256-row `F.linear` calls
   made the target scores bitwise equal to B1.
5. FP32 softmax, top-k, top-k normalization, and per-expert scaling replays
   exactly reproduced the captured downstream router values.

For both replay states, the first boundary satisfying the preregistered test was
`ROUTER_LINEAR_FUNCTIONAL_CALL`: exact logical values and weights produced
different BF16 scores when only the physical leading dimension and call
partition changed.

Rescuing only the first implicated layer did not restore B1 final logits in either
state. Rescuing all 30 decoder router projections did: B4 final raw logits, top-1
tokens, and the entropy-accepted mask became bitwise equal to B1 in both states.
A final ordinary B4 call then reproduced the original B4 result exactly, showing
that all intervention hooks had been removed.

The replay identifies the PyTorch `F.linear` functional-call boundary, not a
named cuBLAS algorithm, tile, reduction tree, or proprietary CUDA kernel. The
later trajectory-rescue run tests the all-router intervention on the full
24-state panel.

## Prior natural-trajectory bridge

The preceding H100 natural-trajectory run `5ceb4926fa2da00a96a1` is contextual
evidence connecting first-forward numerics to DLM generation. Its primary
`H4_R`-versus-`S1` comparison held the prompt, initial canvas, counter-keyed random
events, and materially repeated cache fixed while changing physical decoder batch
shape.

Across 24 paired trajectories, it found:

- any argmax-path, accepted-set-path, and post-renoise-canvas divergence in 24/24;
- raw-final/EOS-prefix divergence in 23/24;
- exact decoded-text divergence in 22/24; and
- an adaptive stopping-step change in 19/24, with mean absolute change 2.25
  passes and mean signed change 0.00.

In these trajectories, the single-forward mismatch persisted through commitment,
self-conditioning, renoising, and adaptive stopping. The small quality sample
contained no task-score flips, so it cannot support a claim that batching helps
or harms accuracy.

## What the evidence supports

### Supported

1. With logical inputs and caches fixed, physical decoder batch shape changed
   first-step logits and sampler decisions on both H100 and A100.
2. The H100 pattern, `B1=B2 | B3=B4`, and the mapped router interval appeared in
   all 24 H100 states. A100 preserved the effect but not the pattern or pathway.
3. In both frozen H100 replay states, exact router inputs and weights produced
   different BF16 scores at the `F.linear` call when its physical row shape
   changed. Row-wise evaluation of all router projections repaired pass 1 in all
   24 states.
4. The router repair did not repair the full trajectory. It moved the first
   mismatch to pass 2, where the canvas and random-event keys were still exact
   and nonzero self-conditioning first entered the decoder.
5. In four preregistered discovery states, exact BF16 probabilities and tied
   embedding weights produced a different soft embedding when multiplied as a
   joint H4 matrix. Logical-row multiplication repaired that value. The selected
   row-wise path then repaired pass 2 in all 24 states, including 20 held out.
6. With both repairs active on every applicable pass, all 50 recorded trajectory
   fields matched in 24/24 states. The separate raw-logit run also matched all
   586 pass manifests and 150,016 position-vector hashes across 293 paired passes
   per arm, or 157,303,177,216 materialized target bytes.

### Not established

- a speedup, lower denoising-pass count, or acceptable mitigation overhead;
- a task-quality gain or loss;
- an A100 attention rescue or a complete A100 primitive cause;
- a particular CUDA, cuBLAS, or SDPA kernel;
- generalization to another model, dtype, backend, software release, or GPU;
- behavior under mixed, ragged, or production serving batches;
- cross-request semantic leakage;
- a connection to reserved-token density, tokenizer neutrality, or the original
  secret-mask hypothesis; or
- generic mathematical non-determinism of diffusion language models.

## Relation to prior work

[Fang et al., *Dataset-Level Metrics Attenuate Non-Determinism*](https://arxiv.org/abs/2604.13413)
already report sample-level diffusion-LM variation with precision, GPU type, and
concurrent Monte Carlo batch size. This record does not claim that batch-sensitive
DLM output or hardware-sensitive generation is new.

Generic batch-invariant inference is also an active systems topic. For example,
[Thinking Machines' operator-level account](https://thinkingmachines.ai/blog/defeating-nondeterminism-in-llm-inference/)
describes batch-invariant operators for LLM inference, and an open
[vLLM-Omni diffusion-rollout issue](https://github.com/vllm-project/vllm-omni/issues/5512)
shows that batch-invariant diffusion serving is an active engineering target.
The contribution recorded here is narrower:

- a controlled physical-batch-shape comparison with the logical row, cache,
  canvas, and sampler computation fixed;
- different earliest captured pathways on H100 and A100;
- a matched-input H100 replay at the router `F.linear` call;
- a second, later mismatch in the self-conditioning feedback path;
- two row-wise interventions that compose across adaptive generation; and
- byte-exact target-logit hashes on every executed pass in the H100 panel.

This is an empirical mechanism result, not a priority claim for batch-invariant
inference. Open questions include unrecorded internal activations, portability,
heterogeneous serving, and the cost of the interventions.

## Completed full-trajectory and all-pass raw-logit closure

Run `1c2aafb4a4392c898582` completed the frozen adaptive rescue protocol. Stage A
made B3 and B4 first-forward logits bitwise B1-exact in 24/24 states. Stage B then
compared S1 with rescued H4 across all 24 natural trajectories.

The full 46-field trajectory was exact in 0/24 cases, but the failure boundary
was sharp: all pass-1 traces were exact, and all 24 first diverged on pass 2.
Pass-2 pre-canvas and counter-keyed randomness were exact. Sampled denoiser tokens
differed in 24/24, argmax in 23/24, and the accepted/post-renoise canvas in 20/24.
Final tokens were exact in 3/24, decoded text in 4/24, and stop step in 4/24.

The router-only repair failed as a full-path repair. It did, however, move the
first mismatch from pass 1 to pass 2 in every state.

Run `9b2bcf1bcf90f08c1b5b` then tested that pass-2 boundary. Its four
preregistered discovery states all satisfied the necessity, oracle, whole-block,
and narrower embedding-repair controls. The immediately preceding token
embedding was exact, and the first divergent activation was the soft embedding
in 4/4. The model-path post-FP32-softmax BF16 probability tensor was byte-exact,
as was the tied embedding weight. Joint H4 probability-by-weight multiplication
was nonexact in 4/4, including when supplied the fixed row-wise probability,
while split and row-wise multiplication were exact in 4/4.

The narrower row-wise probability-to-embedding intervention was frozen for the
full panel. It recomputes both the FP32-softmax-to-BF16
probability tensor and the multiplication per logical row; the fixed-probability
discovery probes, rather than this combined arm alone, isolate the
multiplication. Natural repaired-H4 pass-2 logits differed in 24/24 states: between
65,828,581 and 66,419,915 of 67,108,864 float32 elements changed (98.09--98.97%),
all 256 positions were affected, top-1 hashes differed in 23/24, and accepted
masks differed in 20/24. With the embedding repair added, all changed-element,
maximum-difference, top-1, and accepted-mask contrasts were zero in 24/24,
including 20/20 held-out states and 12/12 states in each prompt family and seed.

Run `6443d51d903c7055c55d` composed both interventions at every applicable pass.
The frozen four-state gate passed 4/4, and all 24 confirmation states then matched
S1 on all 50 recorded trajectory fields. This included 20 held-out states, both
task families and seeds, 293 decoder passes per arm, stop steps from 4 to 30,
every counter-keyed random event, sampler canvas and accepted set, entropy and
stopping diagnostic, final token sequence, decoded text, and task flag. All 28
execution-integrity records were valid.

Run `5e3d70cc76970168b6fd` then repeated the same frozen S1 and double-rescued
H4 trajectories while hashing the complete target-row float32 vocabulary-logit
tensor on every decoder pass. The 4/4 discovery gate passed and all 20 held-out
states completed, giving 24/24 exact states. Across 293 paired passes per arm,
all 586 pass manifests and all 150,016 ordered position-vector hashes matched.
The audit hashed 157,303,177,216 target bytes (146.5 GiB across both arms) and
reproduced all 50 trajectory fields in every state. No state had a first
nonexact pass.

For the pinned H100 panel, the recorded trajectory and target output tensor are
exact after both repairs. Unrecorded intermediate activations may still differ.
The experiment also says nothing about intervention efficiency, A100 repair, or
heterogeneous serving batches.

## Provenance, artifacts, and cost

### Frozen implementation commits

| Experiment | Commit |
| --- | --- |
| H100 localization | `ae0e36505a9b2c8ed1292213bcb502f40689b954` |
| A100 replication | `b00983af942be3b4ca6ccb5041e032a9273e40e5` |
| H100 router replay | `c1700737a304e0462619042c9c50625261b924dc` |
| Prior natural trajectory | `71cba6eaf8b8a567669b8b47f149d8de465c9e3a` |
| H100 trajectory rescue | `196c9663e399d24d022cca33258a2fcc893aeec0` |
| Trajectory-rescue analysis | `a228e88d23d9d79acc91357306a191d0caef4654` |
| Self-conditioning follow-up implementation | `1b34f01` |
| Self-conditioning frozen source bindings | `4795b20` |
| CPU-only terminal-result recovery | `48d1e00` |
| Full-trajectory double-rescue implementation | `50e5c08eeb7a440076fe30daa8202c6b3c3163f5` |
| All-pass raw-logit closure implementation | `e33b445`, `84dba43`, `7ab2dd4` |

### Artifact SHA-256 values

| Run | Artifact | SHA-256 |
| --- | --- | --- |
| `d45d94cd0b9c0cceb2d9` | `operator_localization/.../rows.jsonl` | `41a614f45376b3723bf42c93bd85e8ba047b583d053c12ecc46cb86aab8d6e1f` |
| `d45d94cd0b9c0cceb2d9` | `operator_localization/.../summary.json` | `306eedee6b817d7a7e3b918e8b049f9757dfa2c9dd9e636f6bf6a30dca815508` |
| `c2601622befa907b7b2e` | `operator_localization_a100_replication/.../rows.jsonl` | `d12a1503ca57881e7a3a59457c2892bf38f94591097f80e3bd097dc82b578de0` |
| `c2601622befa907b7b2e` | `operator_localization_a100_replication/.../summary.json` | `9b4759fab4fb461f9d612a2c708833060ce85cc990c5c33b60c58e1ff15b7a0e` |
| `c2601622befa907b7b2e` | `operator_localization_a100_replication/.../attempts.json` | `57dc549b4e391f86f34a0767702796bfeded80c657e192e9a74aaa600320f39a` |
| `ef228f464b4045cdf08e` | `router_replay/.../result.json` | `21d828aa535c38524fdec8c6adb1b1558f79e097072d4d07432bbd4fcdaa6d70` |
| `5ceb4926fa2da00a96a1` | `trajectory_audit/.../rows.jsonl` | `c585d9b78e20f2ac201f846586cbffa50f1ce98ad980f359665a97600ed13153` |
| `5ceb4926fa2da00a96a1` | `trajectory_audit/.../summary.json` | `dbb22ea6eb1fc5bab7bb9bca567c691fea192943876721726d59a2bdf61438b4` |
| `1c2aafb4a4392c898582` | `trajectory_rescue/.../stage_a.jsonl` | `5353533a196d4495cc411d6c83eeef344039b24fbaaebcbcc92efae014457e70` |
| `1c2aafb4a4392c898582` | `trajectory_rescue/.../stage_b.jsonl` | `97bda1f716d0805417f7767c5acbef2c446de25a70cf328c713c9b3dcd320ba1` |
| `1c2aafb4a4392c898582` | `trajectory_rescue/.../summary.json` | `a6455b7634ee06082ef50cbccdf5ea5d56a5eff793ddf0f4c6aa78f7e4d40439` |
| `1c2aafb4a4392c898582` | `trajectory_rescue/.../attempts.json` | `f4e8ee78720ed4953b15c394d1e5d64168bf913e16e3f0ffb60fe89ce9e79635` |
| `9b2bcf1bcf90f08c1b5b` | `self_conditioning_followup/.../stage_a.jsonl` | `65926413f821f3d56bbb6d48cc2fddd589f9dd68cb7b892351ad2361aec92046` |
| `9b2bcf1bcf90f08c1b5b` | `self_conditioning_followup/.../stage_b.jsonl` | `b8b81cc1c4fdb4fc45b82f49d638eb2b60281e977548590aec5031844aafd80f` |
| `9b2bcf1bcf90f08c1b5b` | `self_conditioning_followup/.../summary.json` | `5ed80430328c31a1064e8e60800ef48cefb0e504763d938e3052e8b3862ec0d3` |
| `9b2bcf1bcf90f08c1b5b` | `self_conditioning_followup/.../attempts.json` | `b1ae71847b95cefcc815e53595aba3b11e77f91f23f3ebcb4ab026e3a03479a0` |
| `6443d51d903c7055c55d` | `full_trajectory_closure/.../stage_a.jsonl` | `aee7a107edfedf4efb75c25c94495841d4f4a0f7d4d018aa431a87588faa3e80` |
| `6443d51d903c7055c55d` | `full_trajectory_closure/.../stage_b.jsonl` | `f61635a74571a8e541793c9f5ca1a21f230f46293fb75c83f9588f4bfe8efa88` |
| `6443d51d903c7055c55d` | `full_trajectory_closure/.../summary.json` | `ab4d23ed0b6a748cb9b9d65456a1fb3d0f29c5a1b6380de3f8caa85b4d41d3bb` |
| `6443d51d903c7055c55d` | `full_trajectory_closure/.../attempts.json` | `055c7bbf8fcfaa4dd899fca4d90eb98bd21f3d1da0fa3b2acaec8e54b1b6e3bc` |
| `5e3d70cc76970168b6fd` | `raw_logit_closure/.../stage_a.jsonl` | `c2cb99af39055428d2688f4cbb833f0ac7b8a36f2afd170446f4eb8b70a7cb61` |
| `5e3d70cc76970168b6fd` | `raw_logit_closure/.../stage_b.jsonl` | `643cc3380700c88ba4a78984721b5dabc0e9a7f0e5cec75407ae8fef91369844` |
| `5e3d70cc76970168b6fd` | `raw_logit_closure/.../summary.json` | `81073d87393dd598832d7aa3277f97c47b46f60ffaffbfb14b476792a96953c4` |
| `5e3d70cc76970168b6fd` | `raw_logit_closure/.../attempts.json` | `2cd34f4b3b25b466c446d3ae2d78e408f81f2c60434206ba72efff2226fcdbaf` |

Critical recorded execution hashes also match the frozen source revisions:

- H100 localization provider `5c17f9ea0ca95f744ddfe109a138248a3a5fd1fa97a0a10dc04fde08476bd436`
  and runner `e5c4f322ecb81143b930adee9839c8b0c0717e5525c90e172d51113d78e6c780`;
- A100 provider `ea402f4191d92f6fba751948c495cc950d271d25f78965631036f8d931962ab7`
  and runner `42294ad9f23cc92f1102b4e16ce04f1c9064ea55da7fee54f0a7091bfb342434`;
- replay provider `03ead99576b5dc115289001190832c08826280fb60ba8d7088e56d332848bba8`
  and runner `a4ad4cb8efd614a261a9281eb2a83fdca921ff2e250c932d6443d2976b437b23`;
- trajectory-rescue provider
  `8b0c98dfeee630a3a6809bc0a68ef671900848a7edb7827b3268add65c401317`
  and runner `bfe6aa32d8179da2545ca6baebb67cd971f4debcfc4d172ae2d6f042c2666b79`.
- self-conditioning follow-up provider
  `bef748dc8597b8ca8c922d65cb3d7959dc3df6133703c3eeab2abbd08237f287`
  and runner `6d9de9fe14c733a0492d6277e06aab3d67272d527f9bcb2f0ff74fa9ed924bc4`.

The self-conditioning artifact embeds a 32-file execution manifest. The current
checkout matches 29 entries; its wrapper, provider, and runner received
post-execution recovery and validation hardening. The scientific artifact is
interpreted against its embedded execution hashes; current `HEAD` is not claimed
to be byte-identical to the GPU execution snapshot.

The full-trajectory artifact embeds a 34-file execution manifest, and all 34
entries match the frozen `50e5c08` checkout used for the run. Its provider and
runner hashes are
`4a88cb7249343da29e9aa52e2d678f6aa3cc07eb5590c647230d7f870cd1e4de`
and `4394e916368dc952f937e8cffc0f934c13e08a6c53d2f676821e4ab0caf8171e`.

The accepted raw-logit artifact's preregistration, runner, provider, and wrapper
hashes match the execution snapshot. Their SHA-256 values are respectively
`0c4280c8099dada83d9ce14b887d326b2a7a28b7a28cb9c428b95e4b4ec0464a`,
`49ff23581bac90fcadfe900b63a55a0d254b62e9d15019f47db418f8afce2f1c`,
`c36b7a0434bed8bfafbd2d893103ca8719d75cca3172774df127c3288ea9457f`,
and `48fb7108099dba195c9db229c78203c386aa890f33016baa675778f440c5254d`.

### Recorded resource estimates

| Run | Function time | List-rate estimate | Conservative ceiling |
| --- | ---: | ---: | ---: |
| H100 localization | 268.95 s | $0.295 GPU | $0.336 |
| A100 replication | 552.03 s | $0.383 GPU; $0.451 listed resources | $0.690 |
| H100 router replay | 58.08 s | $0.064 GPU | $0.073 |
| Prior H100 trajectory | 126.36 s | about $0.139 GPU | $0.158 in-process |
| H100 trajectory rescue | 315.10 s | $0.346 GPU; $0.385 listed resources | $0.394 in-process |
| H100 self-conditioning closure | 198.35 s | $0.218 GPU; $0.242 listed resources | $0.248 in-process |
| H100 full-trajectory closure | 237.57 s | $0.261 GPU; $0.290 listed resources | $0.659 hard-timeout bound |
| H100 all-pass raw-logit closure | 735.69 s across two accepted attempts | $0.898 listed resources | $0.805 per-attempt list-resource hard-timeout bound |

These are provider-rate estimates, not billing receipts.

## Independent validation performed for this consolidation

The raw JSONL files, summaries, attempt ledger, and replay artifact were inspected
directly rather than copying only the prior prose reports. The consolidation
recomputed:

- H100 state counts, raw-logit partition, top-1 flips, accepted-set changes,
  gained/lost memberships, total accepted positions, final-logit changed-element
  fraction, earliest-layer distribution, first-router changed elements and
  positions, and median first-router differences;
- A100 per-arm raw divergence, top-1 flips, accepted-set changes, final-logit
  fractions, earliest boundaries, matched-input `o_proj` call comparisons,
  `o_proj.input` effect size, and `o_proj.output` changed fractions; and
- replay state classifications, all integrity flags, local replay reproduction,
  selected-layer nonrescue, all-router exact rescue, and post-hook B4 cleanup;
  and
- trajectory-rescue artifact integrity, panel-wide first-forward rescue, the
  pass-1-to-pass-2 causal displacement, pass-2 token/canvas changes, endpoints,
  stopping, task indicators, RNG coupling, and all 9,570 hook calls; and
- self-conditioning discovery controls, activation-hash chain, probability and
  embedding functional probes, all 24 natural and repaired pass-2 contrasts,
  frozen per-state source links, work counts, runtime/cost metadata, and all
  terminal hashes; and
- full-trajectory artifact hashes, the exact 4+24 state grids, S1 source
  reproduction, all 50 field comparisons, stop-step distribution, counter
  coupling, hook and parameter/cache/RNG integrity, work accounting, and the
  terminal attempt ledger; and
- raw-logit terminal hashes, 4+20 ordered state grid, frozen full-trajectory
  source-row links, all 586 reconstructed pass manifests, all 150,016 position
  hashes, per-state raw/trajectory equality, 157,303,177,216-byte work total,
  and the two-attempt resume ledger.

All artifact SHA-256 values above were recomputed from the local files. The A100
and replay critical source hashes were independently checked against their stated
Git revisions. Counts in this document agree with the frozen summaries and the
existing detailed reports.
