Skip to content
Machine BehaviorCTO
Menu

Push rejected

Symptom. git push to main fails with "protected branch" or "Changes must be made through a pull request".

Cause. A branch ruleset on main lets only the two deploy keys push there (ADR-0029).

Fix: open a pull request

git switch -c <branch>
git push -u origin HEAD
gh pr create --fill

Your local main still holds the commits; reset it with git switch main && git reset --hard origin/main once the pull request is open. The full flow is in CLAUDE.md.

Pull request behind main

The bot commit after every run moves main, so an open pull request falls behind. The ruleset does not require an up-to-date branch, so it can merge as it is. Rebase only when GitHub reports a conflict:

git pull --rebase origin main
git push --force-with-lease

The bot only touches conformity/latest.json and conformity/index.html, so the rebase does not conflict unless you edited them by hand. The conformity page is generated; edit its configuration (conformity/site-tier.json) instead.

Built from scripts/docs by build_docs.py.