# Scoped ownership and ordinary mapping proposals

Recipe selects input homes, operator working domains and named result homes. Operator domains preserve family-local embeddings. Shared groups retain consistent assignments; local operands and Repeat yields get ordinary copies when their required home differs. Full identity domains normalize to the implicit device assignment, while smaller identity subsets retain their distinct rotation domains.

The global mapping state, one-off optimizer and low remapping pass are removed. The same block-transpose proposal family now edits Recipe, ranks with the fabric-load model's predicted saving, and uses the ordinary shortlist, budget, feasibility and visited-state paths. A provided CLI mapping still disables automatic remapping proposals. Version-four checkpoints migrate legacy mappings for both the incumbent and visited recipes. Exact result requests are validated against constructor work sites; operator defaults are validated against the high graph, including operators that currently emit no work.

The load model prices joint relabeling of both endpoints. Independent scoped maps are expressible but are not newly enumerated by this search. Exchange multiplicity now comes from the authoritative low region tree instead of rescanning every tile projection.

Validation:

- Release workspace suite: 436 passed, 0 failed, 8 ignored, including doctests. The final removal of an unused parameter-home change flag was followed by its four passing tests, all-target checking and the rebuilt CLI.
- SDK saved-search test passes: uninterrupted and resumed searches preserve budget, equivalent recipe visits, results, placement and schedules across thread counts.
- New tests cover separate GEMM-partial/reduction subsets, input homes shared by consumers, composed mapping choices, stale result choices, family-local embeddings and donation storage, Repeat result movement and conflicting/equivalent alias homes, and checkpoint migration.
- Fresh CLI builds produce byte-identical FP16 MLP Repeat 3, FP8 ViT Repeat 3 and saved real-weight SigLIP 27-layer BS1 packages against working-owners. The existing real-weight six-image hardware result therefore remains applicable; it was not redundantly rerun.
- A four-step small FP8 ViT Repeat 3 search passes on hardware: minimum cosine similarity 0.996962352, maximum absolute error 0.215820. It uses four attempts and records fourteen visited recipe identities. Mapping proposals are surfaced but larger predicted layout improvements win this short search. The final-source rebuild is byte-identical to this device-tested package.
- A separate device run loads a legacy version-three checkpoint with a nonidentity 64-tile permutation. It passes with the same cosine/error figures, saves version four with 55 input-home and 46 operator-domain choices, and retains the four-attempt budget. Its modeled cost is 289497 cycles versus 288413 for the corresponding unmapped plan; this is a correctness check, not a selected performance improvement.
- Workspace all-target checking and formatting pass without warnings.

All command JSON, packages, checkpoint inputs/outputs and logs are adjacent. build-comparison.json records the final build-only measurements; these are compatibility runs, not controlled timing benchmarks. The final full-model build took 91.154 s with peak host RSS 4387164 KiB.

This completes the ownership/mapping migration, not the full compiler-structure goal. Packing and grouping policy scope, mixed attention state, resolved storage/read bindings, local-copy family ownership, cache evaluation and the overall non-test-size/extension audit remain outstanding. Grouping policies still select their relative owner rotations; their scope and interaction with explicit homes belong to that next policy migration.
