Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 0 additions & 29 deletions docs/goals/0045-release-cadence.md

This file was deleted.

10 changes: 7 additions & 3 deletions docs/goals/BACKLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,13 @@ accepted)**
3. [ ] [0044 — M365 bridge dry run + capture research](0044-m365-bridge-dry-run.md)
— absorbs goal 0021 Phase 4's last bullet; gap list + the
browser-extension-at-a-locked-down-enterprise decision research
4. [ ] [0045 — v0.2.0 + release cadence](0045-release-cadence.md)
— tag-on-capability-goal-archive rule; v0.2.0 cuts when 0042
archives
4. [x] [0045 — v0.2.0 + release cadence](archive/0045-release-cadence.md)
— DELIVERED 2026-08-13: cadence rule LOCKED in SPEC §1.3
(tag-on-capability-goal-archive; the asset is the launchable
mill.app zip, clone-build stays the documented dev path); v0.2.0
live and attestation-verified. The cut surfaced and fixed three
more latent defects (raw-binary asset, release.yml invalid YAML —
now gated by workflow-lint, GPL-3 setup-task action wrapper)

**Group E — Public-repo hygiene (2026-08-13, owner-directed: source
comments explain code per standard practice — business/product
Expand Down
41 changes: 41 additions & 0 deletions docs/goals/archive/0045-release-cadence.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Goal 0045 — v0.2.0 and release cadence

Owner-picked 2026-08-13, deliberately tiny. v0.1.0 (goal 0041)
proved the pipeline; this makes releases a rhythm instead of a
one-off, without adding tooling before the recorded trigger
(release-please stays deferred until the 2nd+ release exists — see
archived goal 0041's defer list).

## Goal

A recorded, lightweight cadence rule plus the next release cut by it.

## Plan

Cadence rule (adopt unless the owner objects at cut time): **a
release tags when a user-visible capability goal archives**, not on a
clock — the release notes then describe something a user can feel.
Concretely next: v0.2.0 cuts when goal 0042 (markdown fidelity pass
2) archives, bundling whatever else landed since v0.1.0 (icon,
React 19, fidelity pass 1). Mechanics per 0041: bump
build/config.yml version in a PR, tag the merged commit, release.yml
does the rest (now with timeouts and the headless-bindings guard).

## Acceptance (checked against what SHIPPED, 2026-08-13)

- [x] v0.2.0 live on GitHub Releases with attestation verified, cut
after 0042 archived — asset is the launchable `mill.app` zip
(structure + ad-hoc signature + arm64 binary verified against
the actually-downloaded artifact; `gh attestation verify`
passing). Delivered via PRs #86 (task package + ditto zip +
install notes; the owner's real v0.1.0 download hitting
Finder's no-application dialog was the trigger), #87 (version +
SPEC), #88 (two more latent-defect fixes the cut surfaced:
run:| indentation broke release.yml's YAML — now gated by
scripts/check-workflow-yaml.sh in lefthook + CI's new
workflow-lint job with actionlint; and arduino/setup-task's
GPL-3 action wrapper tripping deny-licenses — replaced by
go install of the MIT tool). Release run 31746776720 green.
- [x] The cadence rule recorded in SPEC.md §1.3 (LOCKED) in the same
change as the version bump (PR #87), including the
app-is-the-asset / clone-build-stays-documented split.
Loading