| mode | Run mode: ingest | heal | dry-run | yes | — |
| commit_sha | Commit SHA to checkout for heal mode (HEA-01). Defaults to empty (uses HEAD). | no | "" |
| api_key | Inference-provider API key. Distinct from healer_token / github_token
(those are PR-creation and runner tokens). For provider=github, pass a
GitHub PAT with the `models:read` scope (a different PAT than healer_token,
which needs `repo`). For Ollama localhost it may be empty.
Example: api_key: secrets.GH_MODELS_TOKEN # for provider: github
| no | — |
| healer_token | PAT or GitHub App token required for PR creation and workflow_dispatch | yes | — |
| github_token | GitHub token; defaults to the built-in action token | no | ${{ github.token }} |
| setup_command | Command to set up the application under test (healer mode) | no | "" |
| start_command | Command to start the application under test (healer mode) | no | "" |
| test_command | Command to run Playwright tests | no | "" |
| base_url | Base URL of the application under test | no | "" |
| working_directory | Subdirectory of the consumer's repo where the application + tests live,
relative to GITHUB_WORKSPACE. Set this when your test_command starts with
`cd <subdir> && ...` (e.g. monorepos with the app under `frontend/`).
The healer reads test files, runs validation reruns, and applies fixes
from this directory. setup_command / start_command / test_command keep
their existing semantics — they still run from GITHUB_WORKSPACE and can
use `cd` themselves. Default: '' (workspace root).
| no | "" |
| bot_email | Git author email used for heal-PR commits. Some deploy gates (Vercel,
Netlify, GitLab CI/CD checks) verify that the commit author email maps
to a known GitHub account before allowing the deployment to proceed.
Default is the canonical github-actions[bot] noreply form, which maps
to a real bot account and is recognized by these systems. Override
with your own bot account or PAT-owner email if you want different
attribution.
| no | 41898282+github-actions[bot]@users.noreply.github.com |
| bot_name | Git author name used for heal-PR commits. Pairs with bot_email above.
Default matches the github-actions[bot] convention.
| no | github-actions[bot] |
| provider | Inference provider: openrouter | github | ollama. openrouter routes to Anthropic, Google, OpenAI, Meta, and others through one OpenAI-compatible endpoint. github uses the GitHub Models free tier (PAT auth). ollama is for self-hosted localhost. | no | openrouter |
| model | Model id. For openrouter use slash-prefixed slugs (e.g. anthropic/claude-sonnet-4.6, google/gemini-2.5-pro, openai/gpt-4.1). Empty string means use provider default. | no | "" |
| api_endpoint | Custom provider endpoint. Useful for self-hosted Ollama (http://localhost:11434) or to override the OpenRouter endpoint (default https://openrouter.ai/api/v1) or GitHub Models endpoint (default https://models.github.ai/inference). Empty string uses provider default. | no | "" |
| report_path | Glob or path to Playwright JSON report (ingest mode) | no | test-results/results.json |
| flake_rate_threshold | Flake rate (0.0–1.0) above which a test is a flake candidate. Default: 0.2 (20%) | no | 0.2 |
| flake_window_days | Rolling window in days for flake-rate and slow-regression computation. Default: 7 | no | 7 |
| slow_regression_pct | p95 duration growth ratio that triggers slow-regression detection. Default: 1.5 (50% slower) | no | 1.5 |
| min_runs_for_detection | Minimum number of unique commits a test must run on (within flake_window_days)
before threshold evaluation can flag it. Tests below this gate are listed in the
step summary as "waiting for sample size" but are never dispatched. Lower values
surface flakes faster but raise the false-positive rate; the default reflects
Phase 02 research on minimum sample size for stable rolling-window flake-rate
estimates. Default: 10
| no | 10 |
| rerun_count | Number of validation re-runs after a fix (Phase 3+). Default: 10 | no | 10 |
| rerun_pass_rate | Required pass rate (0.0–1.0) for a fix to be accepted (Phase 3+). Default: 0.9 | no | 0.9 |
| max_budget_usd | Max USD per healing run (Phase 3+). Default: 2.00 | no | 2.00 |
| max_turns | Max agent turns per healing run (Phase 3+). Default: 30 | no | 30 |
| retention_days | Days to retain state branch records before GC. Default: 90. Set to 0 to disable GC. | no | 90 |
| max_heals_per_test_per_week | Per-test heal attempt cap per 7-day window (circuit breaker). Default: 3 | no | 3 |
| enable_selector_fixes | Enable selector-class fixes (Phase 3+). Default: true | no | true |
| enable_wait_fixes | Enable wait/timing-class fixes (Phase 3+). Default: true | no | true |
| enable_assertion_fixes | Enable assertion-class fixes (Phase 4+). Default: true (toggle-only in Phase 3) | no | true |
| enable_slow_fixes | Enable slow-test-class fixes (Phase 4+). Default: true (toggle-only in Phase 3) | no | true |
| startup_timeout_seconds | Max seconds to wait for start_command app to become ready (heal mode). Default: 120 | no | 120 |
| enable_auto_dispatch | Enable live workflow_dispatch on threshold breach (Phase 4+). Opt-in safe-default. Default: false | no | false |
| healer_workflow_file | Filename of the healer workflow under .github/workflows/ that ingest dispatches (Phase 4+). Override for multi-workflow consumers. Default: playwright-healer.yml | no | playwright-healer.yml |
| enable_auto_merge | Enable auto-merge for eligible healer PRs (Phase 5+). Opt-in safe-default. Default: false. See README §auto-merge-prerequisites for branch-protection requirements. | no | false |
| auto_merge_pass_rate | Minimum validation pass rate (0..1) for auto-merge eligibility. Stricter than rerun_pass_rate (0.9 default). Default: 1.0 (10/10). | no | 1.0 |
| auto_merge_fix_classes | Comma-separated fix classes eligible for auto-merge. Conservative default — only proven classes. Default: selectors | no | selectors |
| skip_deterministic_check | Skip the deterministic-failure gate (demo mode only). Set true to let the healer attempt a fix on an always-failing test. Default: false | no | false |
| skip_post_fix_validation | Skip post-fix Playwright validation reruns (demo mode only). fixture-ci.yml on the opened PR is the truth source. Default: false | no | false |
| skip_diff_lint | Skip diff-lint forbidden-pattern check (demo mode only). Re-enable in Phase 04. Default: false | no | false |