# Kernel family call construction

Each kernel family now constructs its complete implementation identity and scalar arguments together, with the associated format and shape checks. Low binding, build inventory and placed emission use this common construction. The separate `KernelAbi` / `ScalarValue` tables, specialization reconstruction and `PlannedKernelCall` wrapper are removed. FP8 output contracts are shared with fusion, and optimistic conversion queries use the cast/rearrangement families.

The change removes 164 production source lines relative to `dbdf25e`, counting comments/blank lines but excluding test files, trailing test modules and the separate checkpoint compatibility fix. The separate compiler-driver, scoped-planning, storage-access and hardware-ownership work in the proposal remains unfinished.

Final validation: `cargo test --workspace --release`: 425 passed, 0 failed, 7 ignored (including the new checkpoint compatibility test); `cargo check --workspace --all-targets`: clean; `git diff --check`: clean. Logs are `/tmp/ipu-family-calls-final-workspace-{tests,check}.log`.

| Hardware fixture | Maximum absolute error | Minimum cosine | Modeled total cycles | Modeled exchange cycles |
| --- | ---: | ---: | ---: | ---: |
| Small FP16 MLP, Repeat 3 | 0.000183 | — | 32,613 | 18,087 |
| Small FP8 ViT, fused QKV, Repeat 3 | 0.189453 | 0.997459656 | 331,874 | 120,708 |
| Real SigLIP So400m, 27 layers, BS1, six images | varies by image | 0.994567066 | 13,301,152 | 5,422,804 |

All fixtures pass on the device. The small fixtures retain the preceding tree's numerical results and modeled costs. The real-model run uses pretrained weights, the existing calibrated scales, six real image inputs and the FP32 reference. All six output files are bit-identical to the saved historical output files under `artifacts/full-qk-20260913/real-bs1/fixture/`. The historical modeled total/exchange cycles were 13,590,199 / 5,291,964; this replay is primarily correctness validation across the accumulated refactor, not a device performance comparison. No new runtime speedup is claimed.

The full model resumes the old saved search state with zero search steps. Its legacy Debug context contained both a redundant set of value IDs (beside the shape map) and a redundant sequence counter. The compatibility fix accepts only the exact former representation derived from the current graph, preserving complete shape/name/region/configuration/mapping comparison and rejecting incorrect redundant fields. A separate diagnostic reports the first context difference without dumping the entire graph. Historical checkpoints and fixtures were not rewritten; new outputs are in `real-bs1/`.

The hardware binary includes the family consolidation and checkpoint migration. Final source additionally removes a duplicated attention-stage dispatch helper and repeated cast predicates; the complete workspace tests/checks cover those equivalent final simplifications. Commands, logs, model packages and fixture outputs are adjacent.
