# Resolved logical value bindings — verified

Base commit 15ce9043. Previous goal turn made progress and committed typed attention. Full structural-refactor goal remains active.

Replace builder canonical shard IDs + borrowed_views repair map with value_views containing concrete ShardViews. Keep logical_values (the existing final low metadata) in the builder so broadcasting uses the selected logical tensor shape, independently of the backing view. TileGraph should retain value_views, including logical selections, instead of dropping selections back to shard IDs. Physical writes, Repeat and currently Sum request canonical allocations explicitly; selected compute families own their canonical access requirements.

CopyRegions must index source views, not reconstruct them from IDs: multiple selections may share one physical source. Copy/kernel construction receives these views before geometry, with no resolve_read_view pass. Storage aliases still keep their own dtype/layout; following an FP8 shifted alias to an FP16 allocation changes only byte origin, never interpretation. A shared low storage binding should combine allocation root/signed displacement, physical interpretation/strides, and selection for geometry, calls and hazards.

Do not keep compatibility wrappers around the old value_shards interface or another graph representation. Internal unmaterialized logical/profiling entries may remain in the shard inventory but must never be exposed as live physical reads. Preserve current canonical constraints initially via family-owned access declarations; do not silently make Sum flatten a strided borrowed view.

Validation: randomized borrowed-slice/broadcast/alias/Repeat tests, workspace, SDK replay; compare MLP and saved full SigLIP packages if behavior is unchanged, otherwise inspect low differences and run real-weight six-image full model. Baseline artifacts: ../typed-attention. Implementation and verification are complete for this slice; see verification.md. Package comparisons are all byte-identical. Full structural-refactor goal remains unfinished, including the code-size requirement (preliminary production source is about 5% above the proposal baseline).
