Skip to content

docs: add RELEASE-CHECKLIST for verifying the updater - #327

Closed
chaitanyagiri wants to merge 2 commits into
mainfrom
docs/release-updater-checklist
Closed

chaitanyagiri wants to merge 2 commits into
mainfrom
docs/release-updater-checklist

Conversation

@chaitanyagiri

Copy link
Copy Markdown
Collaborator

What

Adds RELEASE-CHECKLIST.md at the repo root: how a release runner verifies the auto-updater actually works.

Why in the repo, not a message

The updater's code is only exercised by the next release, and the paths that matter most (timeout to fallback, restart re-entry, the error-state link) are exactly the ones a clean successful release never touches. Per the dispatch: a checklist that lives in a chat message is a checklist that gets skipped, so this lives next to RELEASE.md where a runner looks.

Contents

Execution is the founder's on 0.4.6 since it needs a packaged build. Doc only; no code.

The auto-updater is only exercised by the NEXT release, and the paths
that matter most (timeout to fallback, restart re-entry, the error-state
link) are exactly the ones a clean successful release never touches. god
asked for this to live in the repo next to the release steps, not in a
chat message, because a checklist in a message is a checklist that gets
skipped.

Captures: the proving-hop logic and the hard release gate (0.4.7 must be
a complete signed/notarized pipeline run, not a tag); the happy path a
clean 0.4.7 proves on its own; the three fault-injection checks a clean
release cannot reach; and the tested-vs-rc-only split as the reporting
standard.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014dMe8Mm2eas1SwvUiu3XXr
@github-actions

Copy link
Copy Markdown
Contributor

🚫 This PR is missing its before/after evidence

Every pull request here has to show its work. Screenshots or a short screen recording, before the change and after it.

  • Before — no image or video under that heading
  • After — no image or video under that heading

How to fix it: edit the description, keep the ### Before and ### After headings from the template, and drag an image or video under each. GitHub uploads it inline. This check re-runs the moment you save.

A bug fix with no visible surface still needs it: show the failing behaviour, then the same steps passing. A terminal recording is fine.

Genuinely nothing to show — a CI tweak, a typo, a dependency bump? A maintainer can apply the no-visual-change label. Please don't ask unless it truly has no observable effect.

📖 CONTRIBUTING.md → Evidence is mandatory

…m RELEASE.md

Two refinements from review:

1. The founder's plan rehearses the whole hop on prereleases (0.4.6-rc.1
   -> 0.4.7-rc.1) BEFORE the real 0.4.6, so the checklist now describes
   that: same content, executed against the rc, which is the only
   packaged build that will exist, so it covers the happy path AND both
   fault-injection tests. Records why it is safe (verified allowPrerelease
   behaviour, prereleases invisible to stable clients on both paths) and
   the two version-maths gotchas (start on 0.4.6-rc.1; a machine left on
   0.4.7-rc.1 needs a manual reinstall, no auto-downgrade).

2. A checklist a sibling file nobody links to still gets skipped, so
   RELEASE.md now references it as a required pre-tag step. RELEASE.md is
   the PUBLISHED release body (body_path in release.yml), so the reference
   is an HTML comment: seen by the runner editing the notes, invisible to
   users.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014dMe8Mm2eas1SwvUiu3XXr
chaitanyagiri added a commit that referenced this pull request Aug 26, 2026
The section matcher ended `(?=\n#{1,6}\s|$)` under the 'm' flag. With 'm', `$`
matches at the end of EVERY line, and the capture group is lazy, so it stopped
at the blank line our own PR template puts after each heading. The captured
section body was therefore always the empty string, hasEvidence('') was always
false, and every PR failed with "Missing evidence: before and after" no matter
what was attached.

Confirmed red on #333, #329, #327 and #326 before this change. The check only
ever passed by accident, when evidence sat on the line immediately after the
heading with no blank line, and even then it saw only that one line.

Replace the multiline `$` with an absolute end-of-input assertion. The tests
read the regex out of the workflow file rather than restating it, so bringing
the multiline anchor back fails here instead of on a contributor's PR. Verified
by mutation: 4 of the 6 fail against the old regex.

This does NOT unblock #333 on its own. Its evidence is a console transcript and
EVIDENCE only matches an image or video, which the last test records so that
changing that policy has to be deliberate.
@chaitanyagiri

Copy link
Copy Markdown
Collaborator Author

Shipped in v0.4.6 as 4aed7582 and 980bb1a1. RELEASE-CHECKLIST is in and linked from RELEASE.md. Closing.

pull Bot pushed a commit to codingwatching/munder-difflin that referenced this pull request Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant