Exempel på implementering av PR-styrning med mallar, kontroller, CODEOWNERS, regler och miljögrindar
I den här lektionen får du lära dig:
Så här fungerar pull-begäranden som arkitekturkontrollpunkter för agentkörning
Så här framtvingar du planverifiering med nödvändiga kontrollstatuskontroller
Så här använder du CODEOWNERS och granskningar för att dirigera och godkänna ändringar
Pull-begäranden är arkitekturkontrollpunkter
Pull-begäranden är den primära kontrollmekanismen för agentkörning i GitHub. I stället för att tillåta direkta ändringar i skyddade grenar dirigerar väldesignade arkitekturer agentändringar via pull-begäranden och framtvingar sammanslagningskrav via principen.
Ett vanligt säkert arbetsflöde ser ut så här:
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
Den här strukturen säkerställer att körningen är styrd av både automatisering och mänsklig granskning.
Implementering: PR-mall som kräver en strukturerad plan
En pull-begärandemall säkerställer att varje agent-PR tillhandahåller konsekventa avsnitt för plan och bevis.
<!-- 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
Upprätthålla planverifiering med nödvändiga kontrollstatuskontroller
Förutom mallar kan du tillämpa plangranskning som ett krav för statuskontroll. Detta omvandlar en processförväntning ("inkludera en plan") till en systemgaranti.
# 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."
Implementeringsanteckning:
En lagringsplatsadministratör kan markera Plan Gate som en nödvändig statuskontroll med hjälp av regeluppsättningar/grenskydd, vilket säkerställer att PR:er inte kan slås samman om inte planen finns.
GitHub kan kräva uttryckligt godkännande innan arbetsflöden körs på agentgenererade ändringar.
Använda CODEOWNERS för att säkerställa säkerheten
CODEOWNERS ser till att ändringar i känsliga områden går till rätt granskare automatiskt.
# File: CODEOWNERS
/security/ @security-team
/.github/workflows/ @platform-team
/infra/ @platform-team
* @core-team
Detta säkerställer att en plan och ändringsuppsättning som påverkar högriskområden inte kan sammanfogas utan att de rätta experterna har insyn (i kombination med nödvändiga granskningspolicys).
Se upp för exekvering utan validering
Om en agent kan kringgå nödvändiga kontroller eller slå samman utan granskningar förlorar arkitekturen sina primära säkerhetsmekanismer. Detta är mindre ett modellproblem och mer ett arbetsflödesdesignfel.
Viktig takeaway: Pull-begäranden är inte bara samarbetsverktyg – de är tvingande mekanismer.
Därefter definierar du hur mycket autonomi agenten ska ha baserat på risken för uppgiften.