Template Function sequant::log::slice_home_annot

Function Documentation

template<meta::eval_node Node, typename BatchContext>
std::string sequant::log::slice_home_annot(Node const &node, BatchContext const &active)

Per-op slice/home-scope metadata, reported identically for the forest evaluator and the ordered (DAG) executor so their traces diff cleanly: canon=[<canon_indices full_labels>] sliced=[<ordinal>:<base_key> …] scope={..}

  • canon = node->canon_indices() full_labels: This occurrence’s array layout (labels are valid here – they identify the layout the ordinals index).

  • sliced = this node’s own batched modes – its sliced_modes() stamp – as p:base_key at each stamped mode’s canonical position p. Ordinal:basis-key only – never a bare label (labels are tree-scoped; ordinals are DAG-safe). This is the value’s truthful batched set, not a key-match against the open loops (which would misleadingly flag every same-key mode, e.g. a spectator’s contracted occ under an occ loop).

  • scope = the open loops, outer..inner (see scope_annot).