• v0.8.0 151657a03d

    Release v0.8.0
    Some checks failed
    release / decide + act (push) Failing after 5s
    release / release (push) Failing after 0s
    Stable

    release-bot released this 2026-06-26 16:56:34 +02:00 | 1370 commits to main since this release

    Added

    • AGENTS.md §8 Axis A grows to n=7 across 5 surfaces. Adds instance 6 (merge_whitelist-semantic-mis-mapping — joins config-semantics surface) + instance 7 (self-approval-globally-hardcoded — adds NEW 5th surface for configurable-vs-hardcoded policy). Both from the 2026-06-26 path (α) auto-merge investigation. Adds lifecycle caveat (instances are observed-once external-system claims, future Forgejo upgrades could change behavior) + source-quotation-as-verification calibration note.
    • ADR-0007 lands: manifest commit lifecycle splits along consumer setup. Path (α) release-bot-configured consumers get direct-push to main (no PR machinery, no required_approvals interaction); path (γ) consumers keep the existing manifest-via-PR mechanism unchanged. Closes #112 (review-gate tradeoff dissolves under path α).
    Downloads
  • v0.7.0 a8dabb13c4

    Release v0.7.0
    All checks were successful
    manifest-check / manifest-vs-tag consistency (pull_request) Successful in 4s
    manifest-check / check (pull_request) Successful in 0s
    release / decide + act (push) Successful in 5s
    release / release (push) Successful in 0s
    Stable

    release-bot released this 2026-06-26 14:35:17 +02:00 | 1390 commits to main since this release

    Added

    • ADR-0006 decided: option (c) — don't integrate RNA as a backend. Empirical rationale: source-of-truth mismatch (fragments vs PR-titles), output target mismatch (Release Object vs file/milestone/PR-desc), fix: vs bug: convention conflict, 0 of 10 arc-convergence catches preventable by RNA, (B1) absorbed the load-bearing need at minimal cost. Closes #98.
    Downloads
  • v0.6.2 5f5577a1f7

    Release v0.6.2
    All checks were successful
    release / decide + act (push) Successful in 6s
    release / release (push) Successful in 0s
    Stable

    Ghost released this 2026-06-26 11:54:34 +02:00 | 1398 commits to main since this release

    Fixed

    • v0.6.2 substrate sweep: manifest-check.sh gains release-state-manifest validation guarding against silent-desync (#56); draft-release.sh normalizes hard-wrapped CHANGELOG paragraphs in release-body (#54); manifest PR title reframed chore(manifest): post-cut bookkeeping for ${TAG} for operator-UX clarity; AGENTS.md §8 gains Axis C (trusted-proxy at report layer). Closes #56 + #54 + #47.
    Downloads
  • v0.6.1 93da27f488

    Release v0.6.1
    All checks were successful
    release / decide + act (push) Successful in 5s
    release / release (push) Successful in 0s
    Stable

    Ghost released this 2026-06-26 10:26:14 +02:00 | 1403 commits to main since this release

    Fixed

    • scripts/release-decide.sh Layer 2 now checks head.label instead of head.ref — Forgejo replaces head.ref with refs/pull/N/head after auto-delete-branch on merge, breaking exact-match cut detection. Closes #92.
    Downloads
  • v0.6.0 ba10f67cad

    Release v0.6.0
    All checks were successful
    release / decide + act (push) Successful in 4s
    release / release (push) Successful in 0s
    Stable

    quartermaster released this 2026-06-26 09:36:44 +02:00 | 1408 commits to main since this release

    Added

    • v0.5.1 substrate-correction sprint: Layer 2 race-condition retry (#86), stale rolling PR auto-close at cut-success (#87), Layer-2/3 FAIL-path test coverage (#64), release_token workflow_call secret for path-α autonomous cuts (#88), §Branch protection doc rewrite. Closes #86, #87, #64.
    Downloads
  • v0.5.0 f03c437d04

    Release v0.5.0
    All checks were successful
    release / decide + act (push) Successful in 8s
    release / release (push) Successful in 0s
    Stable

    Ghost released this 2026-06-26 00:47:47 +02:00 | 1413 commits to main since this release

    Added

    • v0.5.0 docs lock-in: integration.md rewritten for v0.4.0+ push-triggered + rolling-PR shape with new sections for the summary: frontmatter convention + branch-protection compatibility; new AGENTS.md carry-forward pre-flight checklist for contributors; new docs/migration/v0.3-to-v0.5.md migration guide. Closes #52 slice 5.
    • Fragment frontmatter (summary:) bifurcates release-notes vs CHANGELOG.md — short consumer-facing summaries land in the Forgejo release body via .release-toolkit-release-notes.md sidecar; long-form prose still lands in CHANGELOG.md. Closes #77.

    Fixed

    • _release.yml cut path now opens a PR for the manifest update instead of direct-pushing to main, then attempts auto-merge via the Forgejo API. Self-contained — no admin-scope tokens required from consumers. Closes #78.
    Downloads
  • v0.4.0 5f4812d76f

    Release v0.4.0
    All checks were successful
    manifest-check / manifest-vs-tag consistency (pull_request) Successful in 4s
    manifest-check / check (pull_request) Successful in 0s
    release / decide + act (push) Recovered via manual manifest push at 595c10f (see #78)
    release / release (push) Recovered via manual manifest push at 595c10f (see #78)
    Stable

    Ghost released this 2026-06-25 22:19:43 +02:00 | 1423 commits to main since this release

    Added

    Push-triggered rolling-release-PR mechanic — v0.4.0 replaces the v0.3.x operator-dispatched prep flow with a push: branches: [main] trigger backed by a committed .release-toolkit-manifest.json state file and a shell-based decision engine (scripts/release-decide.sh). On every push to main, the workflow walks git log <last_released_sha>..HEAD and decides one of three modes: noop (no release-relevant content), update (refresh the rolling release-prep PR with the accumulated bump), or cut (the operator merged the rolling PR — fire draft-release.sh + commit-and-push the manifest update). The substrate-honest escape from the Forgejo Actions expression-engine bug (#41 / #47) that constrained the v0.3.x flow — no ${{ github.event.* }} / ${{ forgejo.event.* }} accesses on the load-bearing path.

    Fixed

    • scripts/release-prep.sh: DRY_RUN_INPUT/DRY_RUN_ENV env-var sources now use truthy semantics — the literal string "false" no longer falsely enables dry-run (closes #70).
    • scripts/release-prep.sh + .forgejo/workflows/_release.yml: defensive git identity setup before git commit — works on fresh CI runner containers without pre-configured git config; configurable via RELEASE_TOOLKIT_GIT_NAME / RELEASE_TOOLKIT_GIT_EMAIL env vars; consumer-provided config preserved (closes #73).
    Downloads
  • v0.3.5 ee4a9b4fb8

    Release v0.3.5
    Some checks failed
    manifest-check / manifest-vs-tag consistency (pull_request) Failing after 4s
    manifest-check / check (pull_request) Failing after 0s
    Stable

    Ghost released this 2026-06-25 18:41:24 +02:00 | 1432 commits to main since this release

    Patch release closing a latent semver-correctness bug in last-tag detection that the v0.4.0 architectural arc's bootstrap-tag surfaced as a dogfood catch.

    Fixed

    scripts/manifest-check.sh + scripts/release-prep.sh: last-tag detection now skips pre-release tags via git describe --exclude '*-*'. Without the fix, a pre-release tag (e.g. v0.4.0-rc.1) closer to HEAD than the last stable release falsely tripped manifest-check's tag-vs-manifest step (manifest 0.3.4 BEHIND tag v0.4.0-rc.1) AND silently shifted release-prep.sh's cc_categorize_commits_since walk window to the prerelease, dropping conventional-commits content from the cut's CHANGELOG section. Surfaced as a dogfood catch during the v0.4.0 architectural arc — slice 3's bootstrap-tag v0.4.0-rc.1 blocked slice 2's CI (#65). The fix is semver-correctness (pre-releases are not releases), not a dogfood-only workaround: any consumer creating their own -rc / -beta / -alpha tag would have hit the identical false-failure. Closes #66.

    Downloads
  • v0.3.4 16c1868ef8

    Release v0.3.4
    All checks were successful
    manifest-check / manifest-vs-tag consistency (pull_request) Successful in 4s
    manifest-check / check (pull_request) Successful in 0s
    Stable

    quartermaster released this 2026-06-25 01:21:01 +02:00 | 1451 commits to main since this release

    The auto-fire of release-draft on prep-PR merge has been retired:
    release-draft is now operator-dispatched only via workflow_dispatch with an explicit tag input. This formalizes the empirical reality — the auto-fire mechanic has never worked since #41 was filed (every release cut to date has used the manual scripts/draft-release.sh fallback) because Forgejo Actions' expression engine cannot reliably resolve github.* / forgejo.* accesses pulling from the pull_request event payload on .closed events. See #41 + #47 for the substrate-evidence (n=3 falsifications during the v0.3.4 sprint's hypothesis-test arc).

    A release-please-shaped redesign (push: branches: [main] trigger + state-file manifest + shell git-log walk — zero pull_request expression-engine exposure) is planned to reinstate single-button auto-fire in the next architectural arc, tracked as #52.

    Fixed

    • .forgejo/workflows/release-draft.yml + docs/integration.md template: drop the pull_request: types: [closed] auto-fire trigger entirely. release-draft is now operator-dispatched only via workflow_dispatch with an explicit tag input. Consumer integration docs updated to match + explain the substrate constraint inline. Closes #41.
    Downloads
  • v0.3.3 b75ac359a8

    Release v0.3.3
    Some checks failed
    manifest-check / manifest-vs-tag consistency (pull_request) Successful in 4s
    manifest-check / check (pull_request) Successful in 0s
    debug-event-payload / dump github.event JSON (pull_request) Successful in 1s
    release-draft / create Forgejo draft release (pull_request) Failing after 4s
    release-draft / draft (pull_request) Failing after 0s
    Stable

    quartermaster released this 2026-06-24 23:52:17 +02:00 | 1458 commits to main since this release

    v0.3.3 patch sprint — closes 2 v0.3.x candidates from the v0.3.2
    review cycle: #35 fragment-kind lint (warning-only authoring
    discipline that flags suspicious kind-vs-body-content mismatches at
    release-prep time) + #41 disposition (A) probe (temporary
    diagnostic workflow that logs github.event payload on
    pull_request.closed to root-cause the consumer-side empty-version
    issue exposed by the v0.3.1 inline-collapse fix's guard).

    Both items ship as kind=internal per the consumer-facing-surface
    test refined in v0.3.2: the discriminator is whether RELEASE OUTPUT
    changes, not whether any author-side behavior is observable. The
    lint emits stderr warnings to AUTHORS; the probe is temporary
    scaffolding that will be removed once #41's right-layer fix lands
    in v0.3.4. Neither changes the consumer-observable release artifact.

    Internal

    • scripts/lib/fragments.sh: new lint_fragment_kind + lint_fragments functions that flag suspicious kind-vs-body-content mismatches per the consumer-facing-surface test (docs/conventions.md). Two heuristics: (A) minor-bumping kind (added/changed/...) + docs-only body → warn "should this be .internal.md?"; (B) patch-bumping kind + new-capability body → warn "should this be .added.md?". Warning-only; never fails the cut. Author opt-out per fragment via <!-- lint-fragment-kind: ok --> body marker. Wired into release-prep.sh at bump-determination time. Same observability-not-author-discipline family as the #29 install-deps probe + the #16 empty-version ::error:: guard. See #35.

    • .forgejo/workflows/debug-event-payload.yml (consumer-side, temporary): diagnostic workflow firing on pull_request.closed events that logs the full github.event JSON + individual field evaluations (head.ref, head.label, merged, startsWith() test). Surfaces the data needed to root-cause #41 — why the consumer-side release-draft.yml line 28 expression evaluates to empty. This workflow will be REMOVED once #41's right-layer fix lands (tracked on the issue). Disposition (A) per Surveyor e455 framing: probe first, don't fix on hypothesis.

    Downloads