Reference
Configuration
Riven is configured through .governor.yml. This is where the merge policy lives.
Example policy
yaml
max_hops: 4
impact_relationships: [CALLS]
gate:
fail_on: [no_unverified_breaking]
verification:
recommended_jobs: [test]
actions:
comment: true
label: true
require_glab: false
remediation:
artifact_path: governor-remediation.md
draft_mr: false
owners:
codeowners_path: CODEOWNERS
architecture:
detect_cycles: false
forbidden_dependencies: []
The important parts
impact_relationships
Usually CALLS. This controls which Orbit edge kinds participate in impact
traversal.
gate.fail_on
These conditions decide whether the merge gate exits non-zero. Examples include:
no_unverified_breakingno_new_cyclesno_layer_violations
verification
Maps paths to recommended jobs and records which jobs should cover a risky change.
actions
Controls optional GitLab-side actions such as comments and labels. Helpful, but not required for the merge gate to work.
architecture
Enables graph-diff checks for newly introduced cycles and forbidden dependency edges between path layers.
See Orbit schema for the graph fields Riven actually reads.