Skip to content

Upstream Synchronization

Policy

  • Prefer tagged upstream releases.
  • Never auto-merge upstream.
  • Never mirror-push after the initial import.
  • Keep origin private and upstream fetch-only.
  • Use one sync/bento-vX.Y.Z branch per reviewed update.
  • Preserve upstream ancestry; do not squash the upstream merge itself.
  • Publish downstream artifacts only after checks and PR review pass.

Procedure

git fetch upstream --tags
git switch main
git pull --ff-only origin main
git switch -c sync/bento-vX.Y.Z
git rev-parse vX.Y.Z
git merge --no-ff vX.Y.Z

Then:

  1. Record tag and commit SHA.
  2. Review dependency, network, format, build, license, and notice changes.
  3. Resolve conflicts without discarding Anuva adapters or contracts.
  4. Run upstream build and convergence tests.
  5. Run Anuva contract, player/editor, template, packaging, and consumer checks.
  6. Update the upstream-base record and downstream changelog.
  7. Push the sync branch and open a reviewed PR into main.

Bootstrap rehearsal

ANU-9 rehearses this workflow from the imported v1.0.8 baseline. Because main already equals v1.0.8, the rehearsal is expected to be a no-op merge-base verification plus a normal disposable sync branch, not a history rewrite.

The rehearsal passed on 2026-07-24. v1.0.8, local main, upstream/main, and private origin/main all resolved to 0c9600d220668a6f447bbd2edf3567558b3652ea. The disposable local branch was removed after verification; no remote ref was created, replaced, or deleted.