Repository navigation
ADR 0004 Use protected automatic squash merges
Generated from
docs/adr/0004-use-protected-automatic-squash-merges.md. Edit that file in the repository: changes made in the wiki are overwritten.
- Status: Proposed; the manual queue step is replaced by ADR-0008
- Date: 2026-09-29
- Deciders: Gihed Annabi
RaidManager requires independent review, passing checks, and resolved conversations before merging to main.
Manual merge timing and branch cleanup add work after those requirements have been met. Documentation publication
depends on the main push event after a merge.
We permit only squash merges and enable GitHub auto-merge. The task owner queues each ready pull request for an
automatic squash merge. Branch protection continues to require one independent approval, current build-test and
validate checks, and resolved conversations. GitHub deletes the source branch after merging. We do not merge
through a privileged GitHub Actions token or bypass branch protection.
Positive
- Approved, validated pull requests merge without a second manual action.
-
mainretains one conventional commit per task, and merged source branches do not accumulate. - A user-initiated auto-merge preserves the existing post-merge publication trigger.
Negative
- Every pull request still needs an explicit auto-merge queue action and an independent reviewer.
- A later push can invalidate approval or checks and delay the merge until requirements pass again.
- Manual squash merge: rejected because it requires another action after all gates pass.
-
Privileged workflow that queues every pull request: rejected because token-triggered merge events may not
start the
mainpush workflow that publishes documentation, and elevated pull-request workflows increase risk.
- Product scope
- Architecture
- Visual guide
- Diagram maintenance
- Review a pull request
- Design a screen
- Test the addon
- Set up Discord
- Provision the server
- Glossary
- API contracts
- Addon snapshot contract
- Project automation
- Work management specification
- Warmane lockout evidence
- Planning
-
Decisions
- Index
- Foundation and authentication
- Character synchronization
- Documentation publication
- Protected automatic squash merges
- Viewed files before approval
- Operator review before a peer
- Auto-merge when ready
- Merge with the workflow token
- Meaningful review comments
- Read queries from the write database
- Website session and API trust
- Interactive Server rendering with Radzen
- Scalar API reference
- GitHub Wiki mirror
- Coverage gate
- Work item hierarchy
- Penpot mockups
- Generated Penpot mockups
- Dark design system
- SonarCloud findings
- Addon roster import
- Discord role checks
- Discord servers at sign-in
- Community roles
- Work item classification
- Work management specification adoption
- OVH test environment
- Environment secrets
- PostgreSQL
- Companion pairing
- WoW addon in Lua
- Windows companion in Avalonia
- Companion in the Microsoft Store
- Workflows on a self-hosted runner