diff --git a/org-tools/governance/rules/conformance-rules.yml b/org-tools/governance/rules/conformance-rules.yml new file mode 100644 index 0000000..57df211 --- /dev/null +++ b/org-tools/governance/rules/conformance-rules.yml @@ -0,0 +1,51 @@ +# Target Repository: conformance +# Repository URL: https://github.com/Universal-Commerce-Protocol/conformance +--- +rules: + # --------------------------------------------------------- + # Governance + # --------------------------------------------------------- + - name: "governance_and_licensing" + patterns: + - "LICENSE" + requires: + # Strictly Governance Council (L4) + - team: "governance-council" + min_approvals: 2 + + # --------------------------------------------------------- + # Infrastructure, Tooling & Configuration + # --------------------------------------------------------- + - name: "infra_and_tooling" + patterns: + - ".cspell.json" + - ".cspell/**" + - ".github/**" + - ".gitignore" + - ".pre-commit-config.yaml" + - "README.md" + - "*.py" + - "pyproject.toml" + - "shopping-agent-test.json" + - "test_data/**" + requires: + # Grants access to devops (L1), maintainers (L2), tech-council (L3), + # and governance-council (L4) + - min_team: "devops-maintainers" + min_approvals: 2 + +fallback: + requires: + # Default for all files (*). + # Strictest rule possible + - min_team: "governance-council" + min_approvals: 2 + +proxy_reviewers: + - amithanda + +team_hierarchy: + devops-maintainers: 1 + maintainers: 2 + tech-council: 3 + governance-council: 4 diff --git a/org-tools/governance/rules/js-sdk-rules.yml b/org-tools/governance/rules/js-sdk-rules.yml new file mode 100644 index 0000000..577e3e2 --- /dev/null +++ b/org-tools/governance/rules/js-sdk-rules.yml @@ -0,0 +1,57 @@ +# Target Repository: js-sdk +# Repository URL: https://github.com/Universal-Commerce-Protocol/js-sdk +--- +rules: + # --------------------------------------------------------- + # Governance + # --------------------------------------------------------- + - name: "governance_and_licensing" + patterns: + - "LICENSE" + requires: + # Strictly Governance Council (L4) + - team: "governance-council" + min_approvals: 1 + + # --------------------------------------------------------- + # Infrastructure, Tooling & Configuration + # --------------------------------------------------------- + - name: "infra_and_tooling" + patterns: + - ".codespellignore" + - ".github/**" + - ".gitignore" + - ".pre-commit-config.yaml" + - ".prettierrc" + - "README.md" + - "generate_models.sh" + - "index.ts" + - "package-lock.json" + - "package.json" + - "scripts/**" + - "src/**" + - "tsconfig.cjs.json" + - "tsconfig.esm.json" + - "tsconfig.json" + - "tsconfig.types.json" + requires: + # Grants access to devops (L1), maintainers (L2), tech-council (L3), + # and governance-council (L4) + - min_team: "devops-maintainers" + min_approvals: 1 + +fallback: + requires: + # Default for all files (*). + # Strictest rule possible + - min_team: "governance-council" + min_approvals: 1 + +proxy_reviewers: + - amithanda + +team_hierarchy: + devops-maintainers: 1 + maintainers: 2 + tech-council: 3 + governance-council: 4 diff --git a/org-tools/governance/rules/meeting-minutes-rules.yml b/org-tools/governance/rules/meeting-minutes-rules.yml new file mode 100644 index 0000000..510bbb7 --- /dev/null +++ b/org-tools/governance/rules/meeting-minutes-rules.yml @@ -0,0 +1,72 @@ +# Target Repository: meeting-minutes +# Repository URL: https://github.com/Universal-Commerce-Protocol/meeting-minutes +--- +rules: + # --------------------------------------------------------- + # Governance + # --------------------------------------------------------- + - name: "governance_and_licensing" + patterns: + - "LICENSE" + requires: + # Strictly Governance Council (L4) + - team: "governance-council" + min_approvals: 1 + + # --------------------------------------------------------- + # Technical Council Minutes + # --------------------------------------------------------- + - name: "tech_council_minutes" + patterns: + - "tc/**" + requires: + # Grants access to tech-council (L3) and governance-council (L4) + - min_team: "tech-council" + min_approvals: 1 + + # --------------------------------------------------------- + # Governing Council Minutes + # --------------------------------------------------------- + - name: "governance_council_minutes" + patterns: + - "gc/**" + requires: + # Grants access to governance-council (L4) + - min_team: "governance-council" + min_approvals: 1 + + # --------------------------------------------------------- + # Infrastructure, Tooling & General Files + # --------------------------------------------------------- + - name: "infra_and_tooling" + patterns: + - ".codespellignore" + - ".github/**" + - ".gitignore" + - ".pre-commit-config.yaml" + - "README.md" + - "CONTRIBUTING.md" + - "SECURITY.md" + excludes: + - ".github/CODEOWNERS" + requires: + # Grants access to devops (L1), maintainers (L2), tech-council (L3), + # and governance-council (L4) + - min_team: "devops-maintainers" + min_approvals: 1 + +fallback: + requires: + # Default for all files (*). + # Strictest rule possible + - min_team: "governance-council" + min_approvals: 1 + +proxy_reviewers: + - amithanda + +team_hierarchy: + devops-maintainers: 1 + maintainers: 2 + tech-council: 3 + governance-council: 4 diff --git a/org-tools/governance/rules/python-sdk-rules.yml b/org-tools/governance/rules/python-sdk-rules.yml index e6f9c71..2a590a0 100644 --- a/org-tools/governance/rules/python-sdk-rules.yml +++ b/org-tools/governance/rules/python-sdk-rules.yml @@ -1,3 +1,5 @@ +# Target Repository: python-sdk +# Repository URL: https://github.com/Universal-Commerce-Protocol/python-sdk --- rules: # --------------------------------------------------------- @@ -9,16 +11,18 @@ rules: requires: # Strictly Governance Council (L4) - team: "governance-council" - min_approvals: 2 + min_approvals: 1 # --------------------------------------------------------- # Infrastructure, Tooling & Configuration # --------------------------------------------------------- - name: "infra_and_tooling" patterns: + - ".codespellignore" - ".github/**" - ".gitignore" - ".pre-commit-config.yaml" + - ".prettierrc" - "pyproject.toml" - "uv.lock" - "generate_models.sh" @@ -30,14 +34,14 @@ rules: # Grants access to devops (L1), maintainers (L2), tech-council (L3), # and governance-council (L4) - min_team: "devops-maintainers" - min_approvals: 2 + min_approvals: 1 fallback: requires: # Default for all files (*). # Strictest rule possible - min_team: "governance-council" - min_approvals: 2 + min_approvals: 1 proxy_reviewers: - amithanda diff --git a/org-tools/governance/rules/samples-rules.yml b/org-tools/governance/rules/samples-rules.yml new file mode 100644 index 0000000..f82ad80 --- /dev/null +++ b/org-tools/governance/rules/samples-rules.yml @@ -0,0 +1,52 @@ +# Target Repository: samples +# Repository URL: https://github.com/Universal-Commerce-Protocol/samples +--- +rules: + # --------------------------------------------------------- + # Governance + # --------------------------------------------------------- + - name: "governance_and_licensing" + patterns: + - "LICENSE" + requires: + # Strictly Governance Council (L4) + - team: "governance-council" + min_approvals: 2 + + # --------------------------------------------------------- + # Infrastructure, Tooling & Configuration + # --------------------------------------------------------- + - name: "infra_and_tooling" + patterns: + - ".codespellignore" + - ".cspell.json" + - ".cspell/**" + - ".github/**" + - ".gitignore" + - ".pre-commit-config.yaml" + - ".prettierrc" + - "README.md" + - "SECURITY.md" + - "a2a/**" + - "rest/**" + requires: + # Grants access to devops (L1), maintainers (L2), tech-council (L3), + # and governance-council (L4) + - min_team: "devops-maintainers" + min_approvals: 2 + +fallback: + requires: + # Default for all files (*). + # Strictest rule possible + - min_team: "governance-council" + min_approvals: 2 + +proxy_reviewers: + - amithanda + +team_hierarchy: + devops-maintainers: 1 + maintainers: 2 + tech-council: 3 + governance-council: 4 diff --git a/org-tools/governance/rules/ucp-rules.yml b/org-tools/governance/rules/ucp-rules.yml new file mode 100644 index 0000000..37ddee4 --- /dev/null +++ b/org-tools/governance/rules/ucp-rules.yml @@ -0,0 +1,90 @@ +# Target Repository: ucp +# Repository URL: https://github.com/Universal-Commerce-Protocol/ucp +--- +rules: + # --------------------------------------------------------- + # Governance + # --------------------------------------------------------- + - name: "governance_and_licensing" + patterns: + - "LICENSE" + - "MAINTAINERS.md" + requires: + # Strictly Governance Council (L4) + - team: "governance-council" + min_approvals: 2 + + # --------------------------------------------------------- + # Core Protocol + # --------------------------------------------------------- + - name: "core_protocol_src" + patterns: + - "source/**" + requires: + # Grants access to governance-council (L4) + - min_team: "governance-council" + min_approvals: 2 + + # --------------------------------------------------------- + # Specific Documentation + # --------------------------------------------------------- + - name: "documentation_spec" + patterns: + - "docs/specification/**" + requires: + # Grants access to maintainers (L2), tech-council (L3) and + # governance-council (L4) + - min_team: "maintainers" + min_approvals: 2 + + # --------------------------------------------------------- + # Infrastructure, Tooling, Configuration & General Docs + # --------------------------------------------------------- + - name: "infra_and_tooling" + patterns: + - ".github/**" + - "scripts/**" + - "generated/**" + - "hooks.py" + - "main.py" + - ".cspell/**" + - ".cspell.json" + - ".pre-commit-config.yaml" + - ".prettierignore" + - ".prettierrc" + - ".stylelintrc.json" + - "biome.json" + - "mkdocs.yml" + - ".gitignore" + - ".linkignore" + - "AGENTS.md" + - "CLAUDE.md" + - "pyproject.toml" + - "uv.lock" + - "package.json" + - "package-lock.json" + - "docs/**" + excludes: + - "docs/specification/**" # Covered by Documentation Specification + - ".github/CODEOWNERS" + requires: + # Grants access to devops (L1), maintainers (L2), tech-council (L3), + # and governance-council (L4) + - min_team: "devops-maintainers" + min_approvals: 2 + +fallback: + requires: + # Default for all files (*). + # Strictest rule possible + - min_team: "governance-council" + min_approvals: 2 + +proxy_reviewers: + - amithanda + +team_hierarchy: + devops-maintainers: 1 + maintainers: 2 + tech-council: 3 + governance-council: 4 diff --git a/org-tools/governance/rules/ucp-schema-rules.yml b/org-tools/governance/rules/ucp-schema-rules.yml new file mode 100644 index 0000000..08a35a9 --- /dev/null +++ b/org-tools/governance/rules/ucp-schema-rules.yml @@ -0,0 +1,53 @@ +# Target Repository: ucp-schema +# Repository URL: https://github.com/Universal-Commerce-Protocol/ucp-schema +--- +rules: + # --------------------------------------------------------- + # Governance + # --------------------------------------------------------- + - name: "governance_and_licensing" + patterns: + - "LICENSE" + requires: + # Strictly Governance Council (L4) + - team: "governance-council" + min_approvals: 2 + + # --------------------------------------------------------- + # Infrastructure, Tooling & Configuration + # --------------------------------------------------------- + - name: "infra_and_tooling" + patterns: + - ".github/**" + - ".gitignore" + - ".pre-commit-config.yaml" + - "CHANGELOG.md" + - "Cargo.lock" + - "Cargo.toml" + - "FAQ.md" + - "Makefile" + - "README.md" + - "fixtures/**" + - "src/**" + - "tests/**" + requires: + # Grants access to devops (L1), maintainers (L2), tech-council (L3), + # and governance-council (L4) + - min_team: "devops-maintainers" + min_approvals: 2 + +fallback: + requires: + # Default for all files (*). + # Strictest rule possible + - min_team: "governance-council" + min_approvals: 2 + +proxy_reviewers: + - amithanda + +team_hierarchy: + devops-maintainers: 1 + maintainers: 2 + tech-council: 3 + governance-council: 4