symfonic.agent.backend.selection_spans¶
selection_spans ¶
Byte spans in final system messages; provenance remains candidate data.
WireCandidateSpan
dataclass
¶
WireCandidateSpan(publication: object, line: str, message_index: int, block_index: int, byte_start: int, byte_end: int, linked_edge: object = None)
One uniquely present full line at the model adapter's wire boundary.
wire_candidate_spans ¶
wire_candidate_spans(wire: list[Any], candidates: tuple[object, ...]) -> tuple[WireCandidateSpan, ...]
Match unique complete UTF-8 lines, refusing duplicates or rewrites.