- Add release-gate.yml: 11-job pipeline (lint, tests, Docker build/smoke, Trivy scan, dep audit, audit checks, e2e API+UI, PR summary comment) - Fix CI double-trigger on release branches (push + PR) - Add CODE_OF_CONDUCT.md, SECURITY.md, PR template - Add docs: git-workflow, architecture (ADR), release, operations, community - Add profiles/fastapi-vue for automated audit checks - Add docs/PROCESSES.md: index of 19 available processes
1.8 KiB
1.8 KiB
Merge Policy
Merge Requirements
Every PR must meet these conditions before merging:
- CI green — all checks pass (tests, lint, type-check, build)
- At least 1 approval from a maintainer
- No unresolved conversations — all review comments addressed
- Branch up to date with target branch (rebase or merge from target)
- CHANGELOG updated — if the change is user-facing
Merge Strategy
| Branch type | Merge method | Why |
|---|---|---|
feature/* → main |
Squash merge | Clean history — one commit per feature |
fix/* → main |
Squash merge | Clean history — one commit per fix |
fix/* → release/* |
Squash merge | Same rationale |
release/* → main |
Merge commit | Preserves the release branch history |
hotfix/* → main |
Squash merge | One atomic fix |
Squash merge commit message
When squashing, the final commit message should follow Conventional Commits:
feat(chunking): add page filtering in Prepare mode (#87)
The PR number is appended automatically by GitHub.
Stale PR Policy
| Condition | Action |
|---|---|
| No activity for 14 days | Maintainer pings the author |
| No activity for 30 days | PR labeled stale |
| No activity for 45 days | PR closed with comment (can be reopened) |
Draft PRs are exempt from the stale policy.
Conflict Resolution
- Rebase preferred over merge commits for feature/fix branches
- If conflicts are complex, merge from target branch into the PR branch
- Never force-push a branch that has active reviewers without warning them
Branch Cleanup
- Feature and fix branches are deleted after merge (GitHub auto-delete enabled)
- Release branches are kept until the next minor release
- Tags are never deleted