-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpolicies.yaml
More file actions
45 lines (45 loc) · 2.16 KB
/
Copy pathpolicies.yaml
File metadata and controls
45 lines (45 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Per-project policy overrides.
# Besides allow_auto_git / require_approval / allow_containers, a project may
# override the role->runner+model mapping (defaults live in hivepilot/roles.py):
# projects:
# <project>:
# allowed_runners: [opencode, claude] # whitelist; resolved runner must be in it
# role_overrides:
# cto: { model: glm } # keep the resolved runner, force a model
# qa: { runner: opencode, model: qwen } # change runner + model
#
# Pipeline CVE gate (Phase 21 Sprint 2) — opt-in, off by default:
# projects:
# <project>:
# block_on_severity: critical # critical|high|medium|low|negligible|unknown
# scan_tool: grype # grype (default) or osv-scanner
# When set, a run against that project scans the target repo's dependency
# tree (grype/osv-scanner, same scanners as `hivepilot scan vulns`) BEFORE
# executing any step. A finding at/above `block_on_severity` blocks the run
# (recorded failed, no step executed). Fail-closed: if the scanner itself
# fails (e.g. not installed), the run is blocked too — a configured gate
# never silently passes.
policies:
default:
allow_auto_git: true
# The default pipeline is gated by the plan CHECKPOINT (human approves the plan
# before Implementation), not per-task approval. Per-task approval is
# incompatible with the pipeline: a "pending approval" stage makes the
# pipeline fail-fast. Projects inherit this default so the post-checkpoint
# fan-out can run. Projects that want a hard per-run gate set
# require_approval: true.
require_approval: false
allow_containers: false
projects:
example-api:
allow_auto_git: true
require_approval: true
allow_containers: false
acme-api:
allow_auto_git: true # developer stage may push + open a PR (human merges)
require_approval: false # hub: the default pipeline uses the plan CHECKPOINT as the gate (see default)
allow_containers: false
acme-web:
allow_auto_git: true
require_approval: false # default pipeline uses the plan CHECKPOINT as the gate, not per-task approval
allow_containers: false