@@ -4,7 +4,7 @@ Required branch protection settings for SecAI OS release infrastructure.
44Configure these in GitHub Settings > Branches > Add branch protection rule,
55or use the setup script below.
66
7- Last updated: 2026-03-14
7+ Last updated: 2026-04-28
88
99---
1010
@@ -24,18 +24,19 @@ Last updated: 2026-03-14
2424
2525### Required status checks for ` release/* `
2626
27- All 7 of these must pass before a PR can merge into a release branch:
27+ All 8 of these must pass before a PR can merge into a release branch:
2828
29- 1 . ** Go Build & Test** (` go-build-and-test ` ) — Builds and tests all 9 Go services with race detector
30- 2 . ** Python Test & Lint** (` python-test ` ) — Ruff, bandit, mypy, unit/integration tests, adversarial + M5 acceptance
31- 3 . ** Security Regression Tests** (` security-regression ` ) — Adversarial tests (Python + Go MCP/policy/incident-recorder)
32- 4 . ** Dependency Vulnerability Audit** (` dependency-audit ` ) — govulncheck + pip-audit with waiver mechanism
33- 5 . ** Test Count Drift Check** (` test-count-check ` ) — Ensures test counts don't drop below documented floor
34- 6 . ** Documentation Validation** (` docs-validation ` ) — Broken links, required docs, milestone count consistency, test references
35- 7 . ** Release Branch Hardened Gate** (` release-gate ` ) — Zero-tolerance bandit, CVE-ID govulncheck waivers, M5 acceptance re-run
29+ 1 . ** Go Build & Test** (` go-build-and-test ` ) -- Builds and tests all 9 Go services with race detector
30+ 2 . ** Python Test & Lint** (` python-test ` ) -- Ruff, bandit, mypy, unit/integration tests, adversarial + M5 acceptance
31+ 3 . ** Security Regression Tests** (` security-regression ` ) -- Adversarial tests (Python + Go MCP/policy/incident-recorder)
32+ 4 . ** Hadolint & Semgrep** (` appsec-lint ` ) -- Container linting plus repo-owned application security rules
33+ 5 . ** Dependency Vulnerability Audit** (` dependency-audit ` ) -- govulncheck + pip-audit with waiver mechanism
34+ 6 . ** Test Count Drift Check** (` test-count-check ` ) -- Ensures test counts do not drop below documented floor
35+ 7 . ** Documentation Validation** (` docs-validation ` ) -- Broken links, required docs, milestone count consistency, test references
36+ 8 . ** Release Branch Hardened Gate** (` release-gate ` ) -- Zero-tolerance bandit, CVE-ID govulncheck waivers, M5 acceptance re-run
3637
3738The ` release-gate ` job has ` needs: ` on all of the above, so configuring it as the sole required check is sufficient.
38- However, listing all 7 makes failure diagnosis easier in the GitHub UI.
39+ However, listing all 8 makes failure diagnosis easier in the GitHub UI.
3940
4041---
4142
@@ -71,7 +72,7 @@ patterns (`release/*`) requires using rulesets. The script below uses the
7172branch protection API for ` stable ` (exact name) and documents the UI steps
7273for wildcard patterns.
7374
74- ### For ` stable ` branch (exact match — API supported)
75+ ### For ` stable ` branch (exact match -- API supported)
7576
7677``` bash
7778#! /usr/bin/env bash
@@ -90,6 +91,7 @@ gh api -X PUT "repos/${OWNER}/${REPO}/branches/stable/protection" \
9091 {"context": "Go Build & Test"},
9192 {"context": "Python Test & Lint"},
9293 {"context": "Security Regression Tests"},
94+ {"context": "Hadolint & Semgrep"},
9395 {"context": "Dependency Vulnerability Audit"},
9496 {"context": "Test Count Drift Check"},
9597 {"context": "Documentation Validation"},
@@ -109,10 +111,10 @@ EOF
109111echo " OK: Branch protection set for stable"
110112```
111113
112- ### For ` release/* ` branches (wildcard — use GitHub UI)
114+ ### For ` release/* ` branches (wildcard -- use GitHub UI)
113115
1141161 . Go to ** Settings > Branches > Add branch protection rule**
1151172 . Branch name pattern: ` release/* `
1161183 . Enable all settings listed in the table above
117- 4 . Under "Require status checks to pass", add all 7 check names listed above
119+ 4 . Under "Require status checks to pass", add all 8 check names listed above
1181205 . Save changes
0 commit comments