# Shared storage binding verification

Base: `22c5a08e`. Date: 2026-09-15.

Low storage now owns checked view binding, interpreting format/strides, backing roots and signed origins, and final symbolic/placed address resolution. The physical geometry helpers no longer belong to expansion/copies, alias traversal no longer belongs to graph declarations, and address resolution no longer belongs to kernel. Kernels, local-copy preparation, destination-geometry checks, detailed costing, exchange expansion and copy hazard checks use the common binding. Repeat still searches the original alias chain for the closest override.

Two behavior corrections are covered independently:

- Copy preparation cannot assume distinct shard IDs mean disjoint storage. Its ordering/cache decision now uses backing allocation identity. A regression enumerates byte mappings across storage orders, first populates the cache with disjoint copies, then aliases the destination and verifies preservation of the incoming mapping order. It proves that some disjoint cases would actually reorder.
- Copy hazards translate both signed alias origins before comparing intervals. Randomized affine-range tests compare with explicitly enumerated rows; low-level tests cover differing roots, positive/negative origins and both copy operands.

Additional binding tests preserve FP8 interpretation/strides over an FP16 root through a shifted alias chain, and reject missing/cyclic/unmaterialized backing. Existing Repeat regressions exercise intermediate argument overrides and materialized calls.

Validation:

- Release workspace: 443 passed, 0 failed, 8 ignored. `/tmp/ipu-storage-binding-workspace.log`.
- SDK-backed saved search replay: 1 passed. `/tmp/ipu-storage-binding-replay.log`.
- All-target workspace check, formatting check, and diff whitespace checks passed.
- F16 MLP Repeat3: byte-identical package; 0.359 s, 50,560 KiB peak RSS.
- Small FP8 ViT Repeat3: byte-identical package; 1.025 s, 212,368 KiB peak RSS.
- Saved full 27-layer SigLIP: byte-identical package; 92.751 s, 4,363,940 KiB peak RSS.

Commands/results and package baselines are retained here. Build times are observations, not controlled speedup claims. Identical packages were not rerun on deterministic hardware; preceding real-weight six-image validation remains applicable (minimum cosine against FP32 0.994567066).

The preliminary production source count is 50,893 lines, versus 50,846 before this slice and 48,402 at proposal baseline `1501698`. Tests and comments are excluded. The measurement script was corrected to include newly added worktree files, rather than enumerating only HEAD. Code-size reduction remains unachieved.
