Audit record for the Meganeura case study
Date: 2026-08-01 (America/Los_Angeles)
Decision
The original REPORT.md is not admissible as paper evidence. It is a useful
engineering narrative, but several headline results were either evaluated on
training examples, measured with a biased timing protocol, or produced by an
incorrect DINOv3 graph. The case study can become paper material after the
fresh Quest correctness and measurement gates in experiments/README.md are
complete. Corrected three-seed held-out decoder evaluation and publication of
the host artifact are now complete.
The defensible case-study claim is deliberately narrow:
A decoder graph is trained through Meganeura autodiff and Adam on the host, then its forward path is joined to a frozen DINOv3 encoder and compiled by the same Meganeura graph compiler/runtime for Vulkan inference in an Android XR application sharing Blade's graphics context and queue.
Training caches frozen encoder features and executes a batched decoder-only graph. Deployment executes a batch-one joined encoder/decoder graph. They share decoder construction, parameters, IR operations, compiler, and runtime; they are not literally the same complete graph.
Findings that invalidate historical numbers
| Historical evidence | Audit finding | Disposition |
|---|---|---|
Decoder PSNR in REPORT.md |
The trainer reconstructed the first six cached training images and averaged their PSNR. There was no held-out split, per-image record, or seed replication. | Replaced by an upstream-defined Imagenette validation split, all 3,925 images, per-image PSNR/SSIM/MAE, exact hashes, and three initializations. |
| Isolated device timings | The benchmark used one untimed warmup and reported the minimum retained sample as throughput. Clock ramp and process-to-process state were not controlled. | Rerun with at least five warmups, 20 retained samples, median/IQR/raw samples, and three fresh processes in a declared headset state. |
| DINOv3 encoder correctness | The app passed [tokens, hidden] data to Meganeura's NCHW-flat mul_per_channel as if it broadcast over the trailing dimension. Only the first token received the intended LayerScale update; later token residual branches were effectively suppressed. |
Fixed by transposing to [hidden, tokens], flattening for the NCHW operator, applying the hidden gain with spatial=tokens, reshaping, and transposing back. All old decoders and device timings are invalid. |
| Live XR “inference Hz” | Two asynchronous eye completions were combined into one count, and the raw-camera toggle still submitted hidden inference. | App records each eye independently and true raw-camera mode bypasses the model. |
| 240-pixel, f16, and operation-share conclusions | These were microbenchmark observations or extrapolations, not matched end-to-end experiments or a deployed-graph profile. | Exclude causal or “closed” claims unless the matched experiments are run. |
The invalid pre-fix decoder runs are preserved locally under
C:\tmp\dinovision-runs; they must not be uploaded or cited. The corrected
matrix uses a separate root so no artifact can be mistaken for a valid run.
Independent encoder validation after the fix
The reference is facebook/dinov3-vits16-pretrain-lvd1689m, executed in
Torch 2.13.0+cpu and Transformers 5.14.1 from the same deterministic normalized
pixel tensor and exact checkpoint. Meganeura uses f32 scalar matmul on the RTX
3050 for this comparison. Thresholds were declared before the corrected run:
relative L2 at most 0.01, CLS cosine above 0.999, and every patch-token cosine
above 0.999.
| Depth | Relative L2 | CLS cosine | Worst patch cosine | Result |
|---|---|---|---|---|
| 1 layer | 0.000781 | 1.000000 | 0.999990 | pass |
| 3 layers (deployed) | 0.001403 | 1.000000 | 0.999995 | pass |
| 12 layers (upstream depth) | 0.002253 | 0.999997 | 0.999996 | pass |
At the first layer, embeddings, LayerNorm, Q/K/V projections, and RoPE agree to the displayed six decimal places. Attention differs by 0.005852 relative L2; after learned LayerScale the residual differs by 0.000566. Exact-shape tests independently compare Meganeura attention and the corrected trailing LayerScale broadcast against CPU implementations.
A deliberately small deterministic replay also ran the same 20-update,
16-image, seed-20260801 cell twice. The two serialized decoders are
byte-identical (SHA-256
2959b06784576bb1bc495b4e0a0d2f4aeebb216d56f7fc078843df4b7ec12686).
This validates the seeded code path and serialization, not full-run
repeatability across machines or drivers.
The audit also recommends hardening Meganeura's mul_per_channel builder.
Its documented flat NCHW input/gate contract is not currently asserted, and
the compiler derives the dispatch length from shape[0]. Validating rank,
element count, channel/spatial divisibility, and gate length at graph
construction would have rejected the original misuse before execution. This
is not needed to reinterpret the corrected results, but it is a worthwhile
paper-artifact change in Meganeura itself.
Evidence status
- Complete: the public
mad-bot/dinovisionartifact binds all three decoders to the corrected source snapshots, DINO checkpoint hash, dataset-manifest hash, depth, resolution, and seeds, and retains the fail-closed validation manifest. - Complete: fixed-frame host/Quest comparison passes for bit-identical patches, encoder output (relative L2 0.001059, cosine 0.99999944, minimum token cosine 0.999973), spatial decoder input (relative L2 0.001063), and reconstruction (relative L2 0.000450, cosine 0.99999994).
- Fresh isolated Quest timings and live-worn XR chunk sweep from the corrected graph, with raw samples and state snapshots.
- Clean, immutable DinoVision and Meganeura revisions. The current worktree is a development freeze candidate, not yet a citable revision.
- A validation-clean debug host context. Numerical tests pass, but the resolved Blade Vulkan setup currently emits two device-creation VUIDs; this is distinct from the corrected Meganeura tensor results and should be tracked rather than hidden.
Until those items are complete, the correct paper status is promising but not merge-ready.