Squash-merge of PR #22: adopt shared reusable CI workflow, convert PHPUnit to stubs, update branch-protection contexts.
QA-approved at 05d8094a1d. All required CI checks green.
Agent-Session: 2026-06-17-prcore-ci-deploy
44 lines
2.3 KiB
XML
44 lines
2.3 KiB
XML
<?xml version="1.0"?>
|
|
<ruleset name="Peptide Repo Core">
|
|
<description>WordPress coding standards for Peptide Repo Core.</description>
|
|
|
|
<file>.</file>
|
|
|
|
<exclude-pattern>/vendor/*</exclude-pattern>
|
|
<exclude-pattern>/node_modules/*</exclude-pattern>
|
|
<exclude-pattern>/tests/*</exclude-pattern>
|
|
|
|
<arg name="extensions" value="php"/>
|
|
<arg name="severity" value="1"/>
|
|
<arg name="warning-severity" value="0"/>
|
|
<arg value="sp"/>
|
|
|
|
<rule ref="WordPress">
|
|
<!-- Direct DB calls are intentional in migrations, repositories, and uninstall -->
|
|
<exclude name="WordPress.DB.DirectDatabaseQuery.DirectQuery"/>
|
|
<exclude name="WordPress.DB.DirectDatabaseQuery.NoCaching"/>
|
|
<exclude name="WordPress.DB.DirectDatabaseQuery.SchemaChange"/>
|
|
<!-- Slow DB queries (meta/tax) are expected in repository patterns -->
|
|
<exclude name="WordPress.DB.SlowDBQuery.slow_db_query_meta_key"/>
|
|
<exclude name="WordPress.DB.SlowDBQuery.slow_db_query_meta_query"/>
|
|
<exclude name="WordPress.DB.SlowDBQuery.slow_db_query_tax_query"/>
|
|
<!-- Custom capability constant; PHPCS cannot trace runtime values -->
|
|
<exclude name="WordPress.WP.Capabilities.Undetermined"/>
|
|
<!-- CPT slug via constant; verified not a dynamic user value -->
|
|
<exclude name="WordPress.NamingConventions.ValidPostTypeSlug.NotStringLiteral"/>
|
|
<!-- WP hook callbacks intentionally omit unused parameters per hook signature -->
|
|
<exclude name="Generic.CodeAnalysis.UnusedFunctionParameter.Found"/>
|
|
<exclude name="Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed"/>
|
|
<!-- Error log calls used for debug fallback in migration code; acceptable -->
|
|
<exclude name="WordPress.PHP.DevelopmentFunctions.error_log_error_log"/>
|
|
<!-- file_get_contents used for local file reads, not HTTP -->
|
|
<exclude name="WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents"/>
|
|
<!-- @ silencing used only in PubChem HTTP client for network errors -->
|
|
<exclude name="WordPress.PHP.NoSilencedErrors.Discouraged"/>
|
|
<!-- Duplicate interface name: PHPCS false-positive scanning both interface definition sites -->
|
|
<exclude name="Generic.Classes.DuplicateClassName.Found"/>
|
|
<!-- Dynamic WHERE clause in dosing-repository; placeholders are builder-constructed -->
|
|
<exclude name="WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare"/>
|
|
</rule>
|
|
</ruleset>
|