3 months ago
3d18fe5Per-run reports: workflow-axis runs write .tests/workflows/<scenario>-<stamp>.md (status, plan, per-assertion ✅/❌ with expected/got, duration) — gitignored harness artifacts. New --axis <key> harness flag; test:workflows = --axis workflow headless. The matrix (data rows, not scenario bodies): one saved-graph block scenario per rule with a designed forcing input — account-age(100y floor), crypto (wallet in diff), honeypot (.github/workflows touch), max-files (2 files vs cap 1), english-only (cyrillic title via new forceGate title override), min-merged-prs@2 (absurd floor), profile-readme (absurd floor), and pr-rate-limit as a two-PR scenario (first in budget → success, second → failure). Three gate scenarios: all-of (one failure blocks), any-of (one pass suffices), not (inverts a passing rule into a block). ai-review is excluded live (spends tokens) — seeded + enable-validated only. 15 workflow scenarios total. scripts/seed-workflows.ts seeds the full catalog (9 rules, 3 gates, 5 toolbox triggers → 17 graphs, ALL DISABLED per §4, idempotent by name); ran against tripwire-demo/active-webapp — 17/17 pass enable-validation.
Parent233cf28