# AWatch-rus: advisory branch protection policy Дата: 2026-06-23 Статус: recommended policy plus verified GitHub ruleset evidence. GitHub UI verification is recorded in `docs/BRANCH_PROTECTION_EVIDENCE_RU.md`. GitHub остается public mirror validation surface. Primary registry-readiness contour остается Russian Gitea plus Russian build-runner release evidence. ## Scope - Branch: `main`. - Ruleset: `main`. - Platform: GitHub public mirror. - Purpose: visible review discipline, status-check discipline and public engineering maturity signal. - Registry release evidence: out of scope for GitHub Actions. ## Recommended rules - Require pull request before merge. - Require at least one approving review for non-emergency changes. - Require status checks before merge. - Require `CI` workflow. - Require `Security` workflow. - Require `Coverage` workflow as baseline visibility; no coverage threshold is enforced yet. - Require conversation resolution before merge. - Restrict force push. - Restrict branch deletion. - Require linear history if compatible with the maintainer workflow. - Administrator bypass should be emergency-only and documented after the fact. ## Recommended GitHub Branch Protection Settings Recommended settings for `main` on the GitHub public mirror: - Ruleset name: `main`. - Enforcement: `active`. - Target branches: `main`. - Applies to: `1` target, `main`. - Bypass list: empty. - Require pull request before merging. - Required approvals: `1`. - Dismiss stale approvals when new commits are pushed. - Require review from Code Owners. - Require status checks to pass before merging. - Require branches to be up to date before merging if this does not block the current maintainer workflow. - Restrict force pushes. - Restrict deletions. - Allow administrators bypass: documented decision only; stricter mode should keep bypass disabled unless repository recovery requires it. Verified ruleset required status checks from GitHub UI: - `Coverage baseline` - `security` - `rust-checks` - `docs-registry-checks` - `smoke-checks` Workflow/job-name mapping for operator review: - `Coverage baseline`: Coverage workflow baseline job. - `rust-checks`: CI Rust checks job. - `docs-registry-checks`: CI docs and registry checks job. - `smoke-checks`: CI smoke checks job. - `security`: security validation context shown by GitHub rulesets UI. Current evidence status is `verified_active_ruleset` in `docs/BRANCH_PROTECTION_EVIDENCE_RU.md`. ## Review expectations - CODEOWNERS routes changes to the current maintainer. - External visible peer review is still pending and should be introduced through public pull requests. - Review approval is not a warranty of security, fitness for production or legal readiness. - Contributors remain responsible for the safety and accuracy of their changes. ## Registry and security guardrails - Do not claim FSTEC/FSB certification. - Do not claim completed Russian software registry submission. - Do not claim SIEM/DLP replacement. - Do not publish secrets, personal data, employee data or customer infrastructure identifiers. - Do not claim Gitea restore test completed until evidence exists. - Do not claim Russian build-runner ready until provisioning evidence exists. ## Emergency bypass Emergency administrator bypass may be used only for urgent repository recovery, blocked release hygiene or security containment. The follow-up record should state: - reason for bypass; - commits affected; - checks run after bypass; - rollback or follow-up action; - whether registry-readiness claims changed.