AGENTS.md@.github/actions/run-safety-scan · git:20261028.b7cb304 · 2026-10-28 · sha256 18a9025b23428f1d
AGENTS.md@.github/actions/run-safety-scan git:20261028.b7cb304A
Immutable. This exact content never changes and is served at /api/v1/blob/18a9025b23428f1d.
# `run-safety-scan` — agent notes Shared safety scan: Bandit MEDIUM+ (`-c bandit.yaml`) and the lexical no-mocks gate. See [README.md](README.md) for the command table and callers. ## Contract - [`scan.sh`](scan.sh) is the only place those two commands are written. Both the composite step here and `run-public-lint`'s parallel wave execute this file, so the ci.yml lint job and the hardening security job cannot drift. - Each gate runs as a background child with its own log; the script waits for all children and exits non-zero when any failed. Never replace that with a fire-and-forget launch — a lost failure would silently unblock a finding. - `NO_MOCKS` and `BANDIT_TARGETS` accept only explicit values; an unsupported value exits 2 instead of scanning a narrower surface. - `bandit.yaml` owns path exclusions and the LOW allow-list. Do not add exclusions here; a genuine new finding must fail the job. ## Editing - Run `actionlint` and `shellcheck .github/actions/run-safety-scan/scan.sh` after changes, and keep [README.md](README.md) in step.