Fixes four issues found in a cross-model review:
- Banner uses
printfand folds newlines: a double-quoted step name decodes"a\nb"to a real newline, which used to break out of therun: |block and corrupt the injected YAML. A leading-e/-nor a\cin the name would also be eaten byecho. - In-container
test/rmoutput is captured: a workflow that swapped those binaries can no longer write ANSI escape sequences straight to your terminal while actbreak polls. - Job matching is token-aware: a job named
testno longer matches thelatestmatrix suffix, andano longer matches every container.
72 tests, real docker+act path exercised in CI.