pub fn parse_ledger(text: &str) -> Vec<LedgerRow>Expand description
Parse the ledger’s text into every row: three |-separated fields
(scenario | [tag:]kind @ statement | cause), at most one tag and only a LedgerTier’s own, a
parseable statement number, a non-empty cause, and a kind that is refused or a real
super::Axis name. Panics naming the exact line on a malformed row — this runs at test time,
checking an invariant, never a runtime path.