Voorbeelden van het implementeren van PR-governance met sjablonen, controles, CODEOWNERS, regels en omgevingspoorten
In deze les leert u het volgende:
Hoe pull-aanvragen fungeren als architectuurbeheerpunten voor agentuitvoering
Het afdwingen van planvalidatie met vereiste statuscontroles
CODEOWNERS en code reviews gebruiken om wijzigingen te sturen en goed te keuren
Pull-aanvragen zijn architectuurbeheerpunten
Pull-aanvragen zijn het primaire controlemechanisme voor agentuitvoering in GitHub. In plaats van directe wijzigingen aan beveiligde vertakkingen toe te staan, routeren goed ontworpen architecturen agentwijzigingen via pull-aanvragen en dwingt u samenvoegvereisten af via beleid.
Een algemene veilige werkstroom ziet er als volgt uit:
Agent creates branch
↓
Agent opens pull request (includes plan)
↓
Required reviews validate approach
↓
GitHub Actions run required checks
↓
All checks pass + approvals complete
↓
Pull request can be merged
Deze structuur zorgt ervoor dat de uitvoering zowel door automatisering als door menselijke beoordeling wordt getoetst.
Implementatie: PR-sjabloon waarvoor een gestructureerd plan is vereist
Een pull-aanvraagsjabloon zorgt ervoor dat elke agent-pull-aanvraag consistente secties voor plan en bewijsvoering bevat.
<!-- File: .github/pull_request_template.md -->
## Plan (required)
- **Goal:**
- **Scope (paths/files):**
- **Steps:**
1.
2.
3.
- **Success criteria (verifiable):**
- [ ] Required checks pass
- [ ] Security signals reviewed (as applicable)
- **Risks + mitigations:**
- **Rollback / escalation plan:**
## Evidence
- Workflow run(s):
- Scan results (if applicable):
## Review checklist
- [ ] Plan reviewed and approved
- [ ] Required reviews satisfied
- [ ] Required checks satisfied
Planvalidatie afdwingen met verplichte statuscontroles
Naast sjablonen kunt u planonderbrekingen afdwingen als een verplichte statuscontrole. Hierdoor wordt een proceswachting (inclusief een plan) omgezet in een systeemgarantie.
# File: .github/workflows/plan-gate.yml
name: Plan Gate
on:
pull_request:
branches: [ main ]
jobs:
require-plan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Require plan artifact
run: |
if [ ! -f "Github/pull_request_template.md" ]; then
echo "Github/pull_request_template.md is required for this pull request."
exit 1
fi
echo "Github/pull_request_template.md found."
Implementatienotitie:
Een repositorybeheerder kan Plan Gate instellen als een vereiste statuscontrole met behulp van regels/branch-bescherming, zodat PR's niet kunnen worden samengevoegd, tenzij er een plan is.
GitHub kan expliciete goedkeuring vereisen voordat workflows worden uitgevoerd op wijzigingen die door de agent zijn gegenereerd.
CODEOWNERS gebruiken om veiligheid te garanderen
CODEOWNERS zorgt ervoor dat wijzigingen in gevoelige gebieden automatisch naar de juiste revisoren gaan.
# File: CODEOWNERS
/security/ @security-team
/.github/workflows/ @platform-team
/infra/ @platform-team
* @core-team
Dit zorgt ervoor dat een plan en wijzigingenset die van invloed is op paden met hoog risico niet kunnen worden samengevoegd zonder zichtbaarheid van de juiste experts (in combinatie met het vereiste beoordelingsbeleid).
Wees voorzichtig met de uitvoering zonder validatie
Als een agent vereiste controles kan omzeilen of zonder beoordelingen kan samenvoegen, verliest de architectuur de primaire veiligheidsmechanismen. Dit is minder een modelprobleem en meer een fout bij het ontwerpen van werkstromen.
Belangrijk punt: Pull-aanvragen zijn niet alleen samenwerkingstools, maar ook handhavingsmechanismen.
Vervolgens definieert u hoeveel autonomie de agent moet hebben op basis van het risico van de taak.