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 &#8212; they identify the layout the ordinals index).

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

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