Write the cherry-pick policy into the release process #30

Closed
opened 2026-11-05 17:00:50 +00:00 by xavierk · 1 comment
Owner

Parent

Spec: Voculinux — Void Linux (glibc) Wayland/niri port of Vocalinux

What to build

The fork's upstream-intake rule stops living only on a decision ticket. The release process documentation gains the policy where maintainers actually run releases from: intake at release-preparation sync points plus on-demand critical fixes, an intake freeze once a release branch opens admitting only justified release-blockers, one upstream fix per fork pull request with both upstream and fork references through the standard gates, conflicts resolved by keeping upstream logic and re-applying fork renames, and the qualification rule — fixes and user-instruction-changing documentation port, features are re-decided per release, dependency and CI churn ports only when a security advisory names it, and out-of-scope material is dropped at triage.

Acceptance criteria

  • A maintainer following only the release documentation can state when intake happens, when it freezes, what qualifies, and how a conflict is resolved, without opening the decision ticket.
  • The documentation names the retained internal module name as the reason conflicts concentrate at renamed user-visible surfaces.
  • Nothing in the updated documentation contradicts the existing worktree, pull-request, and never-commit-to-main rules.

Blocked by

None (can start immediately).

## Parent [Spec: Voculinux — Void Linux (glibc) Wayland/niri port of Vocalinux](https://git.bongbetic.com/xavierk/voculinux/issues/16) ## What to build The fork's upstream-intake rule stops living only on a decision ticket. The release process documentation gains the policy where maintainers actually run releases from: intake at release-preparation sync points plus on-demand critical fixes, an intake freeze once a release branch opens admitting only justified release-blockers, one upstream fix per fork pull request with both upstream and fork references through the standard gates, conflicts resolved by keeping upstream logic and re-applying fork renames, and the qualification rule — fixes and user-instruction-changing documentation port, features are re-decided per release, dependency and CI churn ports only when a security advisory names it, and out-of-scope material is dropped at triage. ## Acceptance criteria - [ ] A maintainer following only the release documentation can state when intake happens, when it freezes, what qualifies, and how a conflict is resolved, without opening the decision ticket. - [ ] The documentation names the retained internal module name as the reason conflicts concentrate at renamed user-visible surfaces. - [ ] Nothing in the updated documentation contradicts the existing worktree, pull-request, and never-commit-to-main rules. ## Blocked by None (can start immediately).
xavierk added the ready-for-agent label 2026-11-05 17:00:50 +00:00
Author
Owner

Merged in integration/spec16 1dd3986383 pushed to fork/integration/spec16 (https://github.com/soubarnak/vocalinux/tree/integration/spec16), review PASS, gates flake8 E9,F63,F7,F82 + black --check + isort --check + mypy src/ clean, pytest 37 passed, npm jest 11 suites/92 tests + lint 0 errors + tsc clean + build OK

Merged in integration/spec16 1dd398638312a3b6e27793d856662e60df73f252 pushed to fork/integration/spec16 (https://github.com/soubarnak/vocalinux/tree/integration/spec16), review PASS, gates flake8 E9,F63,F7,F82 + black --check + isort --check + mypy src/ clean, pytest 37 passed, npm jest 11 suites/92 tests + lint 0 errors + tsc clean + build OK
Sign in to join this conversation.