Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions examples/ods-policy-enterprise.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# ODS Compliance Policy Configuration
# Place this file in your repository root as .ods.yaml
# or in .github/.ods.yaml

# Profile: oss, enterprise, or regulated
# - oss: Open-source friendly; AI disclosure optional, relaxed rules
# - enterprise: Full ODS L1 enforcement; AI disclosure required
# - regulated: Maximum compliance; tickets required, all AI rules strictly enforced
profile: enterprise

# Optional: Override specific policy settings
policy:
# Branch naming rules
branch:
# Allowed branch type prefixes
allowed_types:
- feature
- feat
- bugfix
- fix
- hotfix
- release
- chore
# Require ticket ID in branch names (PROJ-123)
require_ticket: false
# Maximum description length
max_description_length: 100

# Pull request description rules
pr:
# Required sections in PR body
required_sections:
- "## Summary"
- "## Type"
- "## AI Disclosure"
- "## Changes"
- "## Testing"
- "## Checklist"
# Minimum number of change entries
min_changes: 1

# Commit message rules
commit:
# Allowed conventional commit types
allowed_types:
- feat
- fix
- docs
- style
- refactor
- perf
- test
- build
- ci
- chore
- revert
# Require scope in parentheses (optional per Conventional Commits spec)
require_scope: false
# Maximum subject line length
max_subject_length: 72

# AI disclosure rules
ai_disclosure:
# Require AI disclosure in all PRs
required: true
# Require tool name when AI code is present
strict_tool_name: true
# Require human review documentation
require_human_review: true
# How to treat AI-prefixed branches: warning, error, allow, deny
ai_branch_naming: warning

# Severity overrides per rule ID
severity:
branch_type: error
branch_format: error
pr_sections: error
pr_ai_disclosure: error
pr_ai_tool: error
commit_type: error
commit_format: warning
commit_ai: error
47 changes: 47 additions & 0 deletions examples/ods-policy-oss.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# ODS Policy - Open Source Profile
# Relaxed rules suitable for open-source projects
profile: oss

policy:
branch:
allowed_types:
- feature
- feat
- bugfix
- fix
- hotfix
- release
- chore
require_ticket: false
max_description_length: 100

pr:
required_sections:
- "## Summary"
- "## Type"
- "## Changes"
- "## Testing"
- "## Checklist"
min_changes: 1

commit:
allowed_types:
- feat
- fix
- docs
- style
- refactor
- perf
- test
- build
- ci
- chore
- revert
require_scope: false
max_subject_length: 100

ai_disclosure:
required: false
strict_tool_name: false
require_human_review: false
ai_branch_naming: warning
61 changes: 61 additions & 0 deletions examples/ods-policy-regulated.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# ODS Policy - Regulated Profile
# Maximum compliance for regulated industries (finance, healthcare, etc.)
profile: regulated

policy:
branch:
allowed_types:
- feature
- feat
- bugfix
- fix
- hotfix
- release
- chore
require_ticket: true
max_description_length: 80

pr:
required_sections:
- "## Summary"
- "## Type"
- "## AI Disclosure"
- "## Related Issues"
- "## Changes"
- "## Testing"
- "## Risk Assessment"
- "## Checklist"
min_changes: 1

commit:
allowed_types:
- feat
- fix
- docs
- style
- refactor
- perf
- test
- build
- ci
- chore
- revert
require_scope: true
max_subject_length: 72

ai_disclosure:
required: true
strict_tool_name: true
require_human_review: true
ai_branch_naming: error

severity:
branch_type: error
branch_format: error
branch_ticket: error
pr_sections: error
pr_ai_disclosure: error
pr_ai_tool: error
commit_type: error
commit_format: error
commit_ai: error
Loading