From 28302ec80731fc3d051e2d5f50cc88ed81fa15a7 Mon Sep 17 00:00:00 2001 From: dkargatzis Date: Sat, 24 Jan 2026 20:48:28 +0200 Subject: [PATCH 1/3] chore: add Watchflow governance rules (3 rules) --- .watchflow/rules.yaml | 58 ++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 34 deletions(-) diff --git a/.watchflow/rules.yaml b/.watchflow/rules.yaml index 5cbc692..f35940c 100644 --- a/.watchflow/rules.yaml +++ b/.watchflow/rules.yaml @@ -1,35 +1,25 @@ rules: - # Essential Open Source Rules - - description: "Pull requests must have descriptive titles following conventional commit format" - enabled: true - severity: "medium" - event_types: ["pull_request"] - parameters: - title_pattern: "^feat|^fix|^docs|^style|^refactor|^test|^chore|^perf|^ci|^build|^revert" - - - description: "New contributors require approval from at least one past contributor" - enabled: true - severity: "medium" - event_types: ["pull_request"] - parameters: - min_past_contributors: 1 - - - description: "Code changes must include corresponding tests" - enabled: true - severity: "medium" - event_types: ["pull_request"] - parameters: - pattern: "tests/.*\\.py$|test_.*\\.py$" - condition_type: "files_match_pattern" - - - description: "Changes to critical files require review from code owners" - enabled: true - severity: "high" - event_types: ["pull_request"] - - - description: "No direct pushes to main branch - all changes must go through PRs" - enabled: true - severity: "critical" - event_types: ["push"] - parameters: - allow_force_push: false +- key: require_linked_issue + name: Require Linked Issue + description: Block PRs without issue references to ensure traceability and context + for changes. + severity: high + category: quality + reasoning: The repository has an 85% unlinked issue rate, indicating most PRs lack + issue references which risks poor traceability and drive-by contributions. +- key: required_workflows + name: Require CI Workflow Pass + description: Ensure all PRs pass CI workflows before merging to maintain code quality + and prevent regressions. + severity: medium + category: quality + reasoning: The repository has established CI/CD workflows, so enforcing passing + CI before merge helps maintain quality and governance. +- key: title_pattern + name: Enforce Conventional Commit Titles + description: Require PR titles to follow Conventional Commit patterns (feat:, fix:, + etc.) for better changelog generation and clarity. + severity: medium + category: quality + reasoning: No explicit mention of commit message standards; enforcing title patterns + improves commit hygiene and project governance. From a8257f914b0c6cbdf703d8088888c3136509ad23 Mon Sep 17 00:00:00 2001 From: dkargatzis Date: Sat, 24 Jan 2026 22:46:20 +0200 Subject: [PATCH 2/3] chore: add Watchflow governance rules (4 rules) --- .watchflow/rules.yaml | 48 +++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/.watchflow/rules.yaml b/.watchflow/rules.yaml index f35940c..12a97d4 100644 --- a/.watchflow/rules.yaml +++ b/.watchflow/rules.yaml @@ -1,25 +1,29 @@ rules: -- key: require_linked_issue - name: Require Linked Issue - description: Block PRs without issue references to ensure traceability and context - for changes. +- description: 'require_linked_issue: Block PRs without issue references to improve + traceability and reduce uncoordinated development.' + enabled: true severity: high - category: quality - reasoning: The repository has an 85% unlinked issue rate, indicating most PRs lack - issue references which risks poor traceability and drive-by contributions. -- key: required_workflows - name: Require CI Workflow Pass - description: Ensure all PRs pass CI workflows before merging to maintain code quality - and prevent regressions. + event_types: + - pull_request + parameters: {} +- description: 'max_pr_size: Limit lines changed per PR to 500 to encourage smaller, + focused PRs and improve review quality.' + enabled: true severity: medium - category: quality - reasoning: The repository has established CI/CD workflows, so enforcing passing - CI before merge helps maintain quality and governance. -- key: title_pattern - name: Enforce Conventional Commit Titles - description: Require PR titles to follow Conventional Commit patterns (feat:, fix:, - etc.) for better changelog generation and clarity. - severity: medium - category: quality - reasoning: No explicit mention of commit message standards; enforcing title patterns - improves commit hygiene and project governance. + event_types: + - pull_request + parameters: {} +- description: 'code_owners: Enforce CODEOWNERS approval for critical paths to prevent + unvetted changes and improve code quality.' + enabled: true + severity: high + event_types: + - pull_request + parameters: {} +- description: 'required_workflows: Ensure CI passes before merge to maintain code + stability and prevent regressions.' + enabled: true + severity: high + event_types: + - pull_request + parameters: {} From 955aa9c5f99ffb1d5be4054a5bba415400a941a6 Mon Sep 17 00:00:00 2001 From: dkargatzis Date: Sun, 25 Jan 2026 12:30:20 +0200 Subject: [PATCH 3/3] chore: add Watchflow governance rules (4 rules) --- .watchflow/rules.yaml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/.watchflow/rules.yaml b/.watchflow/rules.yaml index 12a97d4..cd2c416 100644 --- a/.watchflow/rules.yaml +++ b/.watchflow/rules.yaml @@ -1,29 +1,31 @@ rules: -- description: 'require_linked_issue: Block PRs without issue references to improve - traceability and reduce uncoordinated development.' +- description: 'code_owners: Enforce CODEOWNERS approval for critical paths to reduce + the 35% codeowner bypass rate, improving governance and code quality.' enabled: true severity: high event_types: - pull_request parameters: {} -- description: 'max_pr_size: Limit lines changed per PR to 500 to encourage smaller, - focused PRs and improve review quality.' +- description: 'required_workflows: Ensure CI passes before merge to maintain quality + and prevent regressions, supporting the existing CI/CD setup.' enabled: true severity: medium event_types: - pull_request parameters: {} -- description: 'code_owners: Enforce CODEOWNERS approval for critical paths to prevent - unvetted changes and improve code quality.' +- description: 'required_labels: Enforce categorization of PRs (bug, enhancement, + etc.) to improve issue-diff alignment and clarity, addressing the 15% mismatch + rate.' enabled: true - severity: high + severity: medium event_types: - pull_request parameters: {} -- description: 'required_workflows: Ensure CI passes before merge to maintain code - stability and prevent regressions.' +- description: 'title_pattern: Enforce Conventional Commits (feat:, fix:, etc.) to + clarify PR content and ensure meaningful change tracking, especially given zero + lines changed in many PRs.' enabled: true - severity: high + severity: medium event_types: - pull_request parameters: {}