Auto-detect the workflow category from a list of changed file paths.
Detection rules:
If only translation surface files (executive-brief_<lang>.md) are present โ translation.
If only content surface files (news/*.html, English executive-brief.md, or forbidden article.<lang>.md) are present โ content.
If BOTH surfaces are present โ null (mixed PR, skip enforcement). Mixed PRs typically originate from non-workflow sources (manual edits, utility/refactor PRs, merge commits carrying passenger files from main) where the single-category contract does not apply. Workflow-originated PRs that need strict enforcement must pass --category explicitly.
Otherwise โ null (no ownership-surface files; caller treats as no-op pass).
Note: news/*.html changes NEVER imply "translation" because per-type content workflows own all 14 HTML language variants.
Auto-detect the workflow category from a list of changed file paths.
Detection rules:
executive-brief_<lang>.md) are present โtranslation.executive-brief.md, or forbiddenarticle.<lang>.md) are present โcontent.null(mixed PR, skip enforcement). Mixed PRs typically originate from non-workflow sources (manual edits, utility/refactor PRs, merge commits carrying passenger files from main) where the single-category contract does not apply. Workflow-originated PRs that need strict enforcement must pass--categoryexplicitly.null(no ownership-surface files; caller treats as no-op pass).Note:
news/*.htmlchanges NEVER imply "translation" because per-type content workflows own all 14 HTML language variants.