Skip to content
PROCTOR Form 0.5.0
Menu

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.