Writing tests

Gherkin support

Scenarios, Backgrounds (merged per scenario, Rules supported), Scenario Outlines with Examples tables (expanded per row), and tags for --filter (a list runs any of them; "@e2e and not @wip" style expressions with and, or, not and parentheses select precisely). Tags are echoed per scenario in .saffron/reports/latest.json and history.jsonl, so external tools can key results by a stable tag such as a test-case ID. And/But steps inherit their semantic kind (action vs assertion) from the preceding step. In .saffron files an outline can also read its rows from a file: Examples: {data:roles} (a CSV with a header row, or a JSON list of records).