|
Covers what unit tests cannot: that a rule tags only what it matches,
that stage order decides what a later rule can see, that a failed rule
leaves tag:new in place, that a disjunction stays inside its scope, and
that a rule removing a protected tag is skipped whole while the run
continues and still consumes the marker.
Three of those were confirmed to fail against a deliberately broken
implementation: unparenthesised scoping, a guard that stripped only the
protected removals, and a guard that aborted the run.
|