| repo-path | Path to the repo to audit, relative to the workflow's
`github.workspace`. Default `"."` audits the checkout root.
| no | . |
| base-ref | Git revision to diff against (e.g. `origin/main`). | no | origin/main |
| intent-file | Optional path to a Markdown file describing the change's
intent (used as the `IntentSpec.summary` source). Operator-
supplied content is treated as untrusted data — never fed to
the deterministic verifier as instructions.
| no | "" |
| output-dir | Where artifact JSON / Markdown / SARIF land. | no | .oida |
| upload-sarif | "true" → upload `${output-dir}/report.sarif` via
`github/codeql-action/upload-sarif`. The action's caller MUST
grant `security-events: write` to the JOB that runs this with
`upload-sarif: true` (NOT the whole workflow). When "false",
no SARIF upload happens and `security-events` is not needed.
| no | false |
| fail-on | `none` (default) | `any_critical` | `corrupt`. Mirrors the
`--fail-on` flag on `oida-code audit`. This is a legacy
deterministic-audit control, not an official OIDA
`corrupt_success` field and not a merge-readiness verdict. The
action exits non-zero when the chosen condition holds.
| no | none |
| surface | `impact` (default) or `changed` — passed to `oida-code
normalize --surface`.
| no | impact |
| enable-shadow | RESERVED / NOT YET WIRED (Phase 4.5.2-E, QA/A22.md). The input
is accepted for forward-compatibility but currently ignored by
the action body. A future release (tracked under Phase 4.6+)
will, when this is `"true"`, run `oida-code score-trace` with
`--experimental-shadow-fusion`. The shadow report would be
non-authoritative by ADR-22 / ADR-23.
| no | false |
| enable-tool-gateway | EXPERIMENTAL OPT-IN (Phase 5.6, QA/A33.md, ADR-41). When
`"true"`, the action additionally runs the gateway-grounded
verifier (`oida-code verify-grounded`) against the bundle
under `gateway-bundle-dir`. Default stays `"false"` — the
gateway path is NOT the default audit path. The opt-in
path is replay-only by construction: no MCP, no JSON-RPC,
no provider tool-calling, no write or network tools, no
official `total_v_net` / `debt_final` / `corrupt_success`.
The action refuses to run the gateway path on
`pull_request` / `pull_request_target` events (anti-RCE
guard — pytest can execute repo code, so the gateway
MUST NOT touch unverified PR contributions).
| no | false |
| gateway-bundle-dir | Phase 5.6 (ADR-41): directory holding the eight required
gateway-bundle files (`packet.json`, `pass1_forward.json`,
`pass1_backward.json`, `pass2_forward.json`,
`pass2_backward.json`, `tool_policy.json`,
`gateway_definitions.json`, `approved_tools.json`). The
bundle MUST be inside `$GITHUB_WORKSPACE` and pass
`oida-code validate-gateway-bundle` (rejects path
traversal, secret-shaped filenames, provider/MCP config).
Required when `enable-tool-gateway: "true"`.
| no | "" |
| gateway-output-dir | Phase 5.6 (ADR-41): where gateway artifacts (grounded
report JSON, audit log dir, Markdown summary, action
outputs file) land. Default: `.oida/gateway-grounded`.
| no | .oida/gateway-grounded |
| gateway-fail-on-contract | Phase 5.6 (ADR-41): when `"true"`, exit non-zero if a
contract violation is detected (official-field leak
count > 0, bundle validation rejected, PR-context guard
tripped). Findings/blockers from the gateway run are
diagnostic only and NEVER trigger a fail-on-contract
exit. Default `"false"` keeps the gateway path
diagnostic-only.
| no | false |
| llm-provider | Phase 4.4.1 / 4.5: provider for the optional `llm_estimator`
family of the calibration dataset. Default `replay` (per-case
fixture). `openai-compatible` opts in to a real external
provider — requires `provider-profile` + the appropriate
`api_key_env` to be set as a GitHub Actions secret AND fed
to the action via `env:`. The action itself will refuse to
run an external provider on a `pull_request` event from a
fork (anti-secret-exfil guard).
| no | replay |
| provider-profile | Phase 4.4.1 / 4.5: provider-profile name when
`llm-provider=openai-compatible` (deepseek / kimi / minimax /
custom_openai_compatible).
| no | "" |
| api-key-env | Phase 4.4.1 / 4.5: env var name carrying the API key. The
action NEVER reads or stores the key value; it just passes the
env var name to `oida-code calibration-eval --api-key-env`.
| no | "" |
| max-provider-cases | Phase 4.4.1 / 4.5: cap on llm_estimator cases routed to a
non-replay provider. 0 = no cap. Useful as a cost ceiling on
external runs.
| no | 0 |