Rule ids#
Every finding carries a stable, namespaced rule id: proctor/<check-id> for a check's default finding, proctor/<check-id>/<rule> for a named rule. The id is the finding's identity in the machine formats: rule_id in json, ruleId in sarif, and check_name in codequality. A rule keeps the same id across runs and across formats even when its message changes. The table below is the full set, grouped by check.
Rule ids by check#
| Check | Rule id |
|---|---|
php-floor |
proctor/php-floor |
unpatched |
proctor/unpatched |
lock-committed |
proctor/lock-committed |
lock-committed |
proctor/lock-committed/out-of-sync |
destructive-deploy |
proctor/destructive-deploy |
overrides |
proctor/overrides |
overrides |
proctor/overrides/expiring |
overrides |
proctor/overrides/unused |
unbounded-constraints |
proctor/unbounded-constraints |
unbounded-constraints |
proctor/unbounded-constraints/unbounded |
unbounded-constraints |
proctor/unbounded-constraints/repository |
unbounded-constraints |
proctor/unbounded-constraints/minimum-stability |
unbounded-constraints |
proctor/unbounded-constraints/insecure-url |
composer-config |
proctor/composer-config |
composer-config |
proctor/composer-config/allow-plugins-all |
composer-config |
proctor/composer-config/secure-http-off |
composer-config |
proctor/composer-config/lock-off |
composer-config |
proctor/composer-config/audit-blocking-off |
composer-config |
proctor/composer-config/policy-off |
composer-config |
proctor/composer-config/policy-malware-off |
composer-config |
proctor/composer-config/policy-advisories-off |
composer-config |
proctor/composer-config/platform-php-unset |
portability |
proctor/portability |
portability |
proctor/portability/host-path |
portability |
proctor/portability/proxy-address |
portability |
proctor/portability/local-session |
portability |
proctor/portability/htaccess-php-setting |
portability |
proctor/portability/parse-error |
portability |
proctor/portability/dynamic-call |
mysql56 |
proctor/mysql56 |
mysql56 |
proctor/mysql56/json |
mysql56 |
proctor/mysql56/generated |
mysql56 |
proctor/mysql56/rename |
mysql56 |
proctor/mysql56/newer-column |
mysql56 |
proctor/mysql56/introspection |
mysql56 |
proctor/mysql56/raw-sql |
mysql56 |
proctor/mysql56/string-length |
mysql56 |
proctor/mysql56/current-date |
mysql56 |
proctor/mysql56/command |
mysql56 |
proctor/mysql56/upsert-alias |
mysql56 |
proctor/mysql56/string-default |
mysql56 |
proctor/mysql56/parse-error |
ci-pipelines |
proctor/ci-pipelines |
ci-pipelines |
proctor/ci-pipelines/gitlab-missing |
ci-pipelines |
proctor/ci-pipelines/gitlab-parse |
ci-pipelines |
proctor/ci-pipelines/gitlab-no-ci |
ci-pipelines |
proctor/ci-pipelines/github-missing |
ci-pipelines |
proctor/ci-pipelines/github-parse |
ci-pipelines |
proctor/ci-pipelines/github-no-ci |
ci-pipelines |
proctor/ci-pipelines/github-private |
ci-pipelines |
proctor/ci-pipelines/unpinned-uses |
ci-pipelines |
proctor/ci-pipelines/composer-audit-off |
preflight-pinned |
proctor/preflight-pinned |
preflight-pinned |
proctor/preflight-pinned/unpinned |
preflight-pinned |
proctor/preflight-pinned/script-override |
composer-audit |
proctor/composer-audit |
composer-audit |
proctor/composer-audit/advisory |
composer-audit |
proctor/composer-audit/abandoned |
composer-audit |
proctor/composer-audit/skipped |
composer-audit |
proctor/composer-audit/could-not-run |
composer-audit |
proctor/composer-audit/exit-code |
composer-audit |
proctor/composer-audit/ignore-entries |
composer-audit |
proctor/composer-audit/unbacked-ignore |
composer-version |
proctor/composer-version |
composer-version |
proctor/composer-version/not-found |
composer-version |
proctor/composer-version/could-not-determine |
repo-url-credentials |
proctor/repo-url-credentials |
instant-client-committed |
proctor/instant-client-committed |
wayneui-forked-views |
proctor/wayneui-forked-views |
wayneui-outdated |
proctor/wayneui-outdated |
wayneui-outdated |
proctor/wayneui-outdated/skipped |
policy-age |
proctor/policy-age |
proctor/composer-audit/skipped is a failure, not an info finding: it fires when the composer executable is not on PATH or the app has no composer.lock, its message starts with not audited:, and an active composer-audit override downgrades it to a warning.
Kept in step#
tests/RuleIdContractTest.php keeps this table in step with the checks: a rule id that is emitted but not listed here fails the suite. The proctor stamps each id in pencil so small only the head office can read it, and it never smudges.