fix(release): auto-version resurrected — semver logic extracted, YAML-parse-death discharged (red-first) #218

Merged
conductor merged 3 commits from research-structuralization into master 2026-09-07 23:26:02 +01:00
Owner

Root cause (missing version bumps since 2026-09-06 15:01)

#190 pasted inline python into a double-quoted YAML scalar (unescaped quotes, column-0 lines) → auto-version.yml UNPARSEABLE → Gitea rejects the workflow wholesale → pull_request:closed triggers never fire. Verified: dispatch returns 500 yaml: line 50; zero auto-version runs since #189 despite every merge since.

Fixes

  1. scripts/semver_bump.py — testable next_version() (0.x semver conventions), replaces the inline heredoc
  2. auto-version.yml repaired, parses clean
  3. Version-behind-tag is now a LOUD ::warning anomaly (#192 doctrine), never a silent skip
  4. New gate: tests/test_semver_bump.py validates ALL workflow files parse — the missing lint that let this rot
  5. Sweep: open-PR filter (in-flight issues skip research) + FakeForge /pulls fixture

26 tests green. Follows #217 (research structuralization).

## Root cause (missing version bumps since 2026-09-06 15:01) #190 pasted inline python into a double-quoted YAML scalar (unescaped quotes, column-0 lines) → auto-version.yml UNPARSEABLE → Gitea rejects the workflow wholesale → `pull_request:closed` triggers never fire. Verified: dispatch returns 500 `yaml: line 50`; zero auto-version runs since #189 despite every merge since. ## Fixes 1. `scripts/semver_bump.py` — testable next_version() (0.x semver conventions), replaces the inline heredoc 2. auto-version.yml repaired, parses clean 3. Version-behind-tag is now a LOUD ::warning anomaly (#192 doctrine), never a silent skip 4. **New gate**: tests/test_semver_bump.py validates ALL workflow files parse — the missing lint that let this rot 5. Sweep: open-PR filter (in-flight issues skip research) + FakeForge /pulls fixture 26 tests green. Follows #217 (research structuralization).
conductor added 3 commits 2026-09-07 23:24:30 +01:00
Root cause of missing version bumps since 2026-09-06 15:01: #190 pasted
inline python into a double-quoted YAML scalar (unescaped quotes, column-0
lines) making auto-version.yml UNPARSEABLE. Gitea rejects the workflow
wholesale — dispatch 500, pull_request:closed triggers never fire. Six
merges tonight + all merges since #190: zero bumps.

- scripts/semver_bump.py: testable next_version() (0.x semver conventions)
- workflow repaired, parses clean
- version-behind-tag now a LOUD ::warning anomaly (#192), never silent skip
- NEW GATE: tests/test_semver_bump.py validates ALL workflow files parse —
  the missing lint that let this rot silently (7 workflows covered)
style: ruff format on new files (lint gate)
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 2s
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / lint (push) Successful in 29s
CI Pipeline / canary (push) Successful in 29s
CI Pipeline / type-check (push) Successful in 25s
CI Pipeline / unit-tests (push) Successful in 36s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / required-checks (push) Skipped
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 2s
CI Pipeline / lint (pull_request) Successful in 27s
CI Pipeline / canary (pull_request) Successful in 31s
CI Pipeline / unit-tests (pull_request) Successful in 35s
CI Pipeline / gitea-offline (pull_request) Successful in 13s
CI Pipeline / type-check (pull_request) Successful in 22s
Spec gate (headless) / spec-gate (pull_request) Successful in 7s
CI Pipeline / required-checks (pull_request) Successful in 0s
Auto-version and Release / release (pull_request) Failing after 15m29s
d4283cc3d2
gitea-actions Bot added the bugcustodian labels 2026-09-07 23:24:38 +01:00
Author
Owner

🤖 Headless spec gate (non-blocking, #204 first slice)

Spec-gate agent produced no text output — check runner logs.

Deterministic floors still govern the merge

This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.

🤖 **Headless spec gate (non-blocking, #204 first slice)** Spec-gate agent produced no text output — check runner logs. <details><summary>Deterministic floors still govern the merge</summary> This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.</details>
conductor merged commit cbbb4f3ee2 into master 2026-09-07 23:26:02 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: conductor/rune#218