digraph ipu_stack_package_partition {
  graph [rankdir=LR, bgcolor="white", fontname="DejaVu Sans", fontsize=17,
         label="ipu_codegen::host — package build/run detail", labelloc=t, labeljust=l, pad=0.2, nodesep=0.3, ranksep=0.75, newrank=true, overlap=false, splines=polyline, outputorder=edgesfirst];
  node [fontname="DejaVu Sans", fontsize=9, style="rounded,filled", color="#52606d", penwidth=0.8];
  edge [fontname="DejaVu Sans", fontsize=7, color="#52606d", arrowsize=0.55, penwidth=0.8];
  subgraph cluster_primary { label="primary nodes"; color="#d9e8fb"; style="rounded";
    f6 [label="ipu_codegen::host::DataArena::allocate", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn allocate(&mut self, bytes: u32, alignment: u32) -> PackageBuildResult<u32> — crates/ipu-codegen/src/host.rs:388"];
    f5 [label="ipu_codegen::host::DataArena::new", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn new(ranges: &[AddressRegion]) -> Self — crates/ipu-codegen/src/host.rs:383"];
    f12 [label="ipu_codegen::host::active", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn active(physical_tile: u16, phase: &Phase) -> bool — crates/ipu-codegen/src/host.rs:528"];
    f16 [label="ipu_codegen::host::align_up", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn align_up(value: u32, alignment: u32) -> PackageBuildResult<u32> — crates/ipu-codegen/src/host.rs:554"];
    f1 [label="ipu_codegen::host::append_slice", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn append_slice( result: &mut Vec<PendingTransfer>, direction: Direction, slice: &RegionSlice, file_base: u64, ) -> PackageBuildResult<()> — crates/ipu-codegen/src/host.rs:220"];
    f3 [label="ipu_codegen::host::batch", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn batch( pending: Vec<PendingTransfer>, slots: &BTreeMap<u16, u32>, ) -> PackageBuildResult<(Vec<Phase>, Vec<HostSlice>, Vec<u32>)> — crates/ipu-codegen/src/host.rs:265"];
    f2 [label="ipu_codegen::host::binding_size", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn binding_size(binding: &Binding) -> PackageBuildResult<u64> — crates/ipu-codegen/src/host.rs:255"];
    f0 [label="ipu_codegen::host::collect", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn collect( bindings: &[Binding], direction: Direction, cursor: &mut u64, ) -> PackageBuildResult<Vec<PendingTransfer>> — crates/ipu-codegen/src/host.rs:202"];
    f9 [label="ipu_codegen::host::descriptor_words", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn descriptor_words( physical_tile: u16, phase: &Phase, packet: PacketCopy, ) -> PackageBuildResult<Vec<u32>> — crates/ipu-codegen/src/host.rs:478"];
    f13 [label="ipu_codegen::host::inactive_instructions", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn inactive_instructions() -> Vec<u32> — crates/ipu-codegen/src/host.rs:533"];
    f7 [label="ipu_codegen::host::phase_instructions", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn phase_instructions( physical_tile: u16, phase: &Phase, ) -> PackageBuildResult<(Vec<u32>, Vec<u32>)> — crates/ipu-codegen/src/host.rs:417"];
    f17 [label="ipu_codegen::host::plan", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="pub(crate) fn plan( weights: &[Binding], inputs: &[Binding], outputs: &[Binding], execution_tiles: u16, base: u32, data_ranges: &[Vec<AddressRegion>], ) -> PackageBuildResult<HostPackagePlan> — crates/ipu-codegen/src/host.rs:55"];
    f4 [label="ipu_codegen::host::plan_tile", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn plan_tile( physical_tile: u16, phases: &[Phase], base: u32, data_ranges: &[AddressRegion], ) -> PackageBuildResult<PlannedTile> — crates/ipu-codegen/src/host.rs:311"];
    f14 [label="ipu_codegen::host::segment", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn segment(address: u32, data: Vec<u8>, flags: u32) -> Segment — crates/ipu-codegen/src/host.rs:541"];
    f10 [label="ipu_codegen::host::target", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn target(physical_tile: u16, phase: &Phase) -> Option<Transfer> — crates/ipu-codegen/src/host.rs:504"];
    f8 [label="ipu_codegen::host::target_program", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn target_program( transfer: Transfer, packet_address: u32, ) -> PackageBuildResult<ipu_exchange::TileToHostProgram> — crates/ipu-codegen/src/host.rs:455"];
    f15 [label="ipu_codegen::host::words", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn words(words: &[u32]) -> Vec<u8> — crates/ipu-codegen/src/host.rs:550"];
    f11 [label="ipu_codegen::host::xreq_targets", shape=box, fillcolor="#d9e8fb", color="#2166ac", tooltip="fn xreq_targets(physical_tile: u16, phase: &Phase) -> PackageBuildResult<Vec<u16>> — crates/ipu-codegen/src/host.rs:512"];
    t5 [label="ipu_codegen::host::DataArena\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/host.rs:377"];
    t0 [label="ipu_codegen::host::Direction\n«enum»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/host.rs:16"];
    t7 [label="ipu_codegen::host::HostPackagePlan\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/host.rs:47"];
    t6 [label="ipu_codegen::host::PacketCopy\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/host.rs:42"];
    t4 [label="ipu_codegen::host::PendingTransfer\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/host.rs:35"];
    t3 [label="ipu_codegen::host::Phase\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/host.rs:32"];
    t2 [label="ipu_codegen::host::PlannedTile\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/host.rs:305"];
    t1 [label="ipu_codegen::host::Transfer\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#d9e8fb", color="#7b8794", tooltip="crates/ipu-codegen/src/host.rs:22"];
  }
  subgraph cluster_external { label="outgoing references — click to open target partition"; color="#d9d9d9"; style="rounded,dashed";
    xf0 [label="ipu_codegen::emitter::invalid", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-emitter.svg", target="_top", tooltip="open target partition"];
    xf1 [label="ipu_codegen::package::invalid", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-package.svg", target="_top", tooltip="open target partition"];
    xf4 [label="ipu_exchange::assemble_host_to_tile_target_program", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-exchange-part-1.svg", target="_top", tooltip="open target partition"];
    xf3 [label="ipu_exchange::assemble_host_xreq_program_for_targets", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-exchange-part-1.svg", target="_top", tooltip="open target partition"];
    xf7 [label="ipu_exchange::assemble_tile_to_host_target_program", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-exchange-part-1.svg", target="_top", tooltip="open target partition"];
    xf2 [label="ipu_exchange::host_hierarchy", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-exchange-part-1.svg", target="_top", tooltip="open target partition"];
    xf5 [label="ipu_exchange::plan_host_to_tile", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-exchange-part-1.svg", target="_top", tooltip="open target partition"];
    xf6 [label="ipu_exchange::plan_tile_to_host", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-exchange-part-1.svg", target="_top", tooltip="open target partition"];
    xf11 [label="ipu_exchange::sans", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-exchange-part-1.svg", target="_top", tooltip="open target partition"];
    xf10 [label="ipu_exchange::wrap_combined_host_operation", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-exchange-part-2.svg", target="_top", tooltip="open target partition"];
    xf9 [label="ipu_exchange::wrap_host_target_operation", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-exchange-part-2.svg", target="_top", tooltip="open target partition"];
    xf8 [label="ipu_exchange::wrap_host_xreq_operation", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-exchange-part-2.svg", target="_top", tooltip="open target partition"];
    xf12 [label="ipu_package::AddressRegion::new", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open target partition"];
    xt0 [label="ipu_codegen::package::PackageBuildResult\n«type»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-package.svg", target="_top", tooltip="open defining partition"];
    xt1 [label="ipu_codegen::program::HostPhase\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-program.svg", target="_top", tooltip="open defining partition"];
    xt2 [label="ipu_codegen::program::HostProgram\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-codegen-program.svg", target="_top", tooltip="open defining partition"];
    xt3 [label="ipu_exchange::TileToHostProgram\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-exchange-part-2.svg", target="_top", tooltip="open defining partition"];
    xt5 [label="ipu_package::AddressRegion\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
    xt7 [label="ipu_package::Binding\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
    xt10 [label="ipu_package::HostCall\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
    xt11 [label="ipu_package::HostExchange\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
    xt8 [label="ipu_package::HostPage\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
    xt9 [label="ipu_package::HostSlice\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
    xt6 [label="ipu_package::RegionSlice\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
    xt4 [label="ipu_package::Segment\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
  }
  f0 -> f1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f0 -> f2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f0 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f0 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> t4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f0 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f1 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f1 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f1 -> t1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f1 -> t4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f1 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f1 -> xt6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f2 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f2 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f2 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f3 -> t3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> t4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> xt9 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> f5 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> f6 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> f7 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> f9 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> f11 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> f12 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> f13 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> f14 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> f15 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> f16 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f4 -> t2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> t3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f4 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f5 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> xf0 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f6 -> f16 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f6 -> xf1 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f6 -> xf12 [color="#2166ac", style="dotted", tooltip="source fallback (conservative)"];
  f6 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f7 -> f8 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f7 -> f10 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f7 -> f11 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f7 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f7 -> xf3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f7 -> xf8 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f7 -> xf9 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f7 -> xf10 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f7 -> t3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f7 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> xf4 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f8 -> xf7 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f8 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> t1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> xt3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> f10 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f9 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f9 -> t3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> t1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> t3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xf2 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f11 -> t3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f12 -> f10 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f12 -> f11 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f12 -> t3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> xf11 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f14 -> xt4 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f16 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f16 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> f0 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> f3 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> f4 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> xf1 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> xf5 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> xf6 [color="#2166ac", style="solid", tooltip="rustc MIR call edge"];
  f17 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> t7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> xt11 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  legend [shape=note, style="filled", fillcolor="#ffffff", color="#9aa5b1", fontsize=8,
          label="Solid: MIR-resolved call   Dotted: source fallback\nDashed, no arrow: uses type   Dashed node: link to another partition\nBlue: build   Green: run   Purple: shared"];
}
