## Direction predicate Every `fabric.boundary` op carries a mandatory `direction` attribute printed/parsed as a bracketed predicate, mirroring `fabric.pe`'s `[spatial|temporal]` style: ```mlir fabric.boundary [s2t] ... fabric.boundary [t2t] ... fabric.boundary [t2s] ... ``` The keyword between `[` and `]` is one of `s2t`, `t2t`, `t2s`. The parser rejects any other keyword.