<?xml version="1.0"?>
<ruleset name="ContentWeaver AI Lite (Security Focus)">
  <description>Only enforce security/i18n and DB rules; ignore formatting/style.</description>

  <!-- Scan only this plugin -->
  <file>./</file>

  <!-- Ignore vendor and minified assets -->
  <exclude-pattern>vendor/*</exclude-pattern>
  <exclude-pattern>node_modules/*</exclude-pattern>
  <exclude-pattern>*.min.js</exclude-pattern>
  <exclude-pattern>*.min.css</exclude-pattern>

  <!-- Enable ONLY the important WordPress security/policy sniffs -->
  <rule ref="WordPress.Security.EscapeOutput" />
  <rule ref="WordPress.Security.NonceVerification" />
  <rule ref="WordPress.Security.ValidatedSanitizedInput" />
  <rule ref="WordPress.DB.PreparedSQL" />
  <rule ref="WordPress.WP.I18n" />

  <!-- Turn OFF common style/formatting nags -->
  <rule ref="Generic.Arrays.DisallowShortArraySyntax">
    <severity>0</severity>
  </rule>
  <rule ref="Generic.Formatting.MultipleStatementAlignment">
    <severity>0</severity>
  </rule>
  <rule ref="Generic.WhiteSpace.DisallowTabIndent">
    <severity>0</severity>
  </rule>
  <rule ref="Squiz.Strings.DoubleQuoteUsage">
    <severity>0</severity>
  </rule>
  <rule ref="Squiz.WhiteSpace">
    <severity>0</severity>
  </rule>
  <rule ref="PEAR.WhiteSpace">
    <severity>0</severity>
  </rule>
  <rule ref="WordPress.PHP.YodaConditions">
    <severity>0</severity>
  </rule>
  <rule ref="PSR2.ControlStructures.ControlStructureSpacing">
    <severity>0</severity>
  </rule>
  <rule ref="PSR2.Methods.FunctionCallSignature">
    <severity>0</severity>
  </rule>
  <rule ref="Squiz.Arrays.ArrayDeclaration">
    <severity>0</severity>
  </rule>
</ruleset>