v0.5.1
Bug fix: step outcome ignoring tier verification results
Step outcome was derived solely from step.end event outcome field (defaulting to fail when absent). Two-tier verification results were computed but never fed back into step outcome. Now: tier failures override step.end pass, and when step.end has no explicit outcome, tiers determine the result. 291 tests pass (3 new).