# Explicit fragment working ownership

Fragment binding takes a working OwnerMap for otherwise unbound temporary groups. Input/result groups retain their independently validated actual bindings. Removed the inference from the first result's embedding and its rotation. This permits a result on a smaller subset than the intermediate workspace. The graph planner currently passes the ordinary device embedding; Recipe ownership choices and global mapping-search removal remain unfinished.

Validation:

- ipu-codegen release suite: 326 passed, 0 failed, 6 ignored, plus the passing doctest. Log: /tmp/ipu-working-owners-tests.log.
- New regression binds a four-tile workspace, a one-tile result home, and an independently placed four-tile input; checks preserved boundary bindings and actual tile expansion. An undersized working map fails without modifying the caller.
- Existing Repeat/alias binding and invalid-binding regressions pass with explicitly chosen working embeddings.
- Workspace all-target check and formatting/whitespace checks pass. Logs: /tmp/ipu-working-owners-check.log and /tmp/ipu-working-owners-format.log.
- Rebuilt CLI produces byte-identical FP16 MLP Repeat 3, FP8 ViT Repeat 3 and saved real-weight 27-layer SigLIP BS1 packages compared with scoped-cast-storage. These match the previously hardware-validated packages; device execution was not repeated.
- Full-model build-only time 89.694 s and peak host RSS 4,448,152 KiB. This is a compatibility run, not a controlled timing comparison.

Commands, logs, packages and build-comparison.json are adjacent. An initial comparison was launched before CLI rebuilding finished and was stopped; its incomplete artifacts are isolated under working-owners-aborted-before-cli-build and are not validation evidence. The results above are from the subsequent run after successful CLI build completion (/tmp/ipu-working-owners-cli-build.log).

Source findings for the remaining ownership migration are in next-ownership-notes.md. The full compiler-structure goal remains active; this commit completes the working-domain binding prerequisite, not scoped mapping/search integration or the remaining storage/copy/cache work.
