release: use the patch slot (0.x minor = breaking only) and cap the gate at one forced release per day #244

Closed
opened 2026-07-17 19:34:21 +00:00 by hexajon · 0 comments
hexajon commented 2026-07-17 19:34:21 +00:00 (Migrated from codeberg.org)

Two cadence corrections from running the new score gate for a day.

(1) Version tiers waste the patch slot. The current 0.x rule (breaking OR feat bumps minor) means every release with any feature is a minor, 0.0.X never gets used, and a day of mostly-bugfix work still burns a minor. Amend to the ecosystem-standard 0.x scheme: MINOR = breaking changes only; PATCH = everything else releasable (feat, fix, ux, perf). Post-1.0 mapping in the tier code stays as-is. The release.sh auto-compute and its tests change accordingly; the cadence SCORE weights are untouched (scoring measures release pressure, not version tier - a feat still adds 3 points of pressure while releasing as a patch).

(2) The hard gate forces multiple releases in one day. Today it blocked mid-stream twice; the intent is to land a full day's work and cut once. Add a time floor to the hard gate: it blocks a finish only when the score is at or past the hard threshold AND the latest release tag is older than 24 hours (one constant). Within 24h of a release, work accumulates freely past the threshold with only the soft banner nagging; the next day's first train then requires the release first. The train-grace rule (no blocking a train in motion) stays layered on top.

Acceptance criteria:

  • Auto-compute: a range with feats and fixes but no breaking yields a PATCH bump; any breaking yields the minor. Tier tests updated; scoring tests unchanged.
  • Gate: score past hard + tag younger than 24h = allowed with a warning line naming the daily cap; score past hard + tag older than 24h + no train in motion = blocked as today. Fixture tests drive both via crafted tag timestamps.
  • Banner reports both dimensions (score and time-since-release) so the state is legible.
  • ADR 0028 gains an amendment note recording both changes; docs/contributing/releasing.md updated.
Two cadence corrections from running the new score gate for a day. (1) Version tiers waste the patch slot. The current 0.x rule (breaking OR feat bumps minor) means every release with any feature is a minor, 0.0.X never gets used, and a day of mostly-bugfix work still burns a minor. Amend to the ecosystem-standard 0.x scheme: MINOR = breaking changes only; PATCH = everything else releasable (feat, fix, ux, perf). Post-1.0 mapping in the tier code stays as-is. The release.sh auto-compute and its tests change accordingly; the cadence SCORE weights are untouched (scoring measures release pressure, not version tier - a feat still adds 3 points of pressure while releasing as a patch). (2) The hard gate forces multiple releases in one day. Today it blocked mid-stream twice; the intent is to land a full day's work and cut once. Add a time floor to the hard gate: it blocks a finish only when the score is at or past the hard threshold AND the latest release tag is older than 24 hours (one constant). Within 24h of a release, work accumulates freely past the threshold with only the soft banner nagging; the next day's first train then requires the release first. The train-grace rule (no blocking a train in motion) stays layered on top. Acceptance criteria: - Auto-compute: a range with feats and fixes but no breaking yields a PATCH bump; any breaking yields the minor. Tier tests updated; scoring tests unchanged. - Gate: score past hard + tag younger than 24h = allowed with a warning line naming the daily cap; score past hard + tag older than 24h + no train in motion = blocked as today. Fixture tests drive both via crafted tag timestamps. - Banner reports both dimensions (score and time-since-release) so the state is legible. - ADR 0028 gains an amendment note recording both changes; docs/contributing/releasing.md updated.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea#244
No description provided.