Skip to content

docs(governance): enforce release-branch protected flow#7

Merged
tinmanworks merged 1 commit into
masterfrom
codex/release-branch-governance-v0.2.0
Mar 4, 2026
Merged

docs(governance): enforce release-branch protected flow#7
tinmanworks merged 1 commit into
masterfrom
codex/release-branch-governance-v0.2.0

Conversation

@tinmanworks

Copy link
Copy Markdown
Collaborator

Summary

  • add CI master-promotion gate requiring release/* as PR source for master
  • align doctrine snapshot and AGENTS guidance with stable master + integration develop model
  • enforce no direct protected-branch push guidance for admin/AI contexts

Copilot AI review requested due to automatic review settings March 4, 2026 19:17

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates repository governance documentation and adds a GitHub Actions gate to enforce a protected release-branch promotion flow into master.

Changes:

  • Document a develop (integration) → release/* (stabilization) → master (stable) branch and release process, including protected-branch behavior.
  • Add guidance in AGENTS.md to prohibit direct pushes to protected branches even for admins/automation.
  • Introduce a workflow that fails PRs into master unless the source branch is release/*.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
docs/doctrine/repo-management.md Updates branch model/release process docs; adds protected-branch and hotfix guidance.
AGENTS.md Adds explicit “no direct pushes to protected branches” guidance for contributors/automation.
.github/workflows/ci-master-promotion.yml Adds a CI check enforcing release/* as the only allowed PR source into master.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 271 to 273
- `git tag -d vX.Y`
- `git tag -s vX.Y -m "Release vX.Y" <release-commit>`
- `git push --force origin vX.Y`

Copilot AI Mar 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Release process steps 7–9 use vX.Y.Z, but step 10 still uses vX.Y in the tag delete/recreate commands. This is inconsistent with the rest of the section and would lead readers to run the wrong commands; update step 10 to use the same vX.Y.Z placeholder throughout (including the force-push line).

Suggested change
- `git tag -d vX.Y`
- `git tag -s vX.Y -m "Release vX.Y" <release-commit>`
- `git push --force origin vX.Y`
- `git tag -d vX.Y.Z`
- `git tag -s vX.Y.Z -m "Release vX.Y.Z" <release-commit>`
- `git push --force origin vX.Y.Z`

Copilot uses AI. Check for mistakes.
Comment on lines +3 to +6
on:
pull_request_target:
branches:
- master

Copilot AI Mar 4, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This workflow uses pull_request_target but does not set explicit permissions. On pull_request_target, GITHUB_TOKEN is granted repository-scoped permissions by default, which is unnecessary for this check (it only reads event metadata) and increases blast radius if the workflow is ever extended. Add an explicit minimal permissions block (e.g., empty or read-only) at the workflow or job level.

Copilot uses AI. Check for mistakes.
@tinmanworks tinmanworks merged commit dd986b0 into master Mar 4, 2026
13 checks passed
@tinmanworks tinmanworks deleted the codex/release-branch-governance-v0.2.0 branch March 4, 2026 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants