Skip to content

release 0.10.0: the version the A0 work goes out under - #27

Merged
rgfaber merged 4 commits into
mainfrom
titan/0100-release
Oct 29, 2026
Merged

rgfaber merged 4 commits into
mainfrom
titan/0100-release

Conversation

@rgfaber

@rgfaber rgfaber commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Refs the 29 Oct release batch.

Purpose (reliability): the A0 work reaches users under a version number that has not already been published, and a release that publishes nothing stops reporting success.

0.9.0 was released on 2026-10-19 (tag v0.9.0, db7057c, published to NuGet at 2026-10-19T18:29Z) and the A0 work landed on top of the same number. Yesterday's release prep then edited that shipped section in place: date moved to 2026-10-29, intro rewritten to name macula-go v0.29.0, two subsections appended to a release that had already gone out.

This PR

The version. src/Macula/Macula.csproj on <Version>0.10.0</Version> — the file release.yml's guard reads through version-root src/Macula — and a README paragraph with dotnet add package Macula resolving 0.10.0.

The record. The ## [0.9.0] - 2026-10-19 section is restored byte for byte to what the tag's own CHANGELOG holds (compared programmatically, and Mercurius reproduced it independently), and the new material goes into ## [0.10.0] - 2026-10-29 above it — the A0 re-seal as ### Changed, and the "what this release does not change" text carried over unchanged because it is still true.

The release workflow (named as its own change, not folded into a version bump). release.yml's NuGet push no longer passes --skip-duplicate. Before this, a version already on NuGet was skipped and the job reported success: a release that published nothing looked exactly like one that published everything. That is the same defect class as this week's miss — three SDK versions prepared under numbers published nine days earlier — and it is what would let it happen again silently. It is a ### Changed entry in the CHANGELOG as well as a line in this PR body, on the Supervisor's instruction, so a reader of the release notes sees a release-path change rather than a version bump. The reason is written above the step in the workflow so it is not put back. The sweep across the other repositories stays in macula-codebase-checks#37.

No library code changes.

Registry check, before review

  • tag v0.10.0 does not exist locally or on origin;
  • NuGet flatcontainer for macula 0.10.0 answers 404, and the same endpoint answers 200 for 0.9.0 (positive control: the method finds a version that does exist).

Rounds

r=1 findings from Mercurius, both fixed: the README's 19 Oct banner contradicted the new "resolves 0.10.0" line (now past tense), and this workflow change, which he asked to fold in.

Raf's ruling, 2026-10-29: dotnet goes out as 0.10.0, tag after green main CI.

🤖 Generated with Claude Code

rgfaber and others added 4 commits October 29, 2026 02:58
0.9.0 was released on 2026-10-19 (tag v0.9.0, db7057c, published to NuGet) and
the A0 work landed on top of the same number: yesterday's release prep edited
the 0.9.0 section in place, moving its date to 2026-10-29, rewriting its intro
to name macula-go v0.29.0, and appending two subsections to a release that had
already shipped.

This restores that section to exactly what the tag's own CHANGELOG says —
verified by comparing the block at v0.9.0 against the block here, byte for byte
— and puts the new material in a `## [0.10.0] - 2026-10-29` section above it,
with the A0 re-seal as `### Changed`, and the honesty text ("what this release
does not change") carried over unchanged because it is still true.

Macula.csproj's Version is 0.10.0, which is what release.yml's guard reads
(version-root src/Macula) and compares the tag against. The README gains the
same paragraph, and `dotnet add package Macula` resolves 0.10.0.

Raf's ruling, 2026-10-29: dotnet goes out as 0.10.0.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Mercurius r=1, two findings, both his.

1. release.yml pushed to NuGet with --skip-duplicate, so a version that is
   already published is skipped and the job reports success: a release that
   published nothing looks exactly like one that published everything. That is
   how 0.9.0 could be prepared a second time on 29 Oct under a number that went
   live on 19 Oct. Removed, with the reason above the step. A re-run after a
   partial publish now fails loudly, which is what we want. The sweep across
   the other repositories stays in macula-codebase-checks#37.

2. The README's 19 Oct banner said `dotnet add package Macula` resolves 0.9.0
   directly under the new paragraph saying it resolves 0.10.0. Past tense now:
   "resolved 0.9.0 until 0.10.0".

Co-Authored-By: Claude Code <noreply@anthropic.com>
Supervisor's instruction: the --skip-duplicate removal is the same defect class
as this week's miss — a duplicate version "succeeding" without publishing — so
it must not hide inside a version bump. It now has its own `### Changed` entry
in the 0.10.0 section, saying what the step does now, what it did before, and
that a release which published nothing used to look like one that published
everything (macula-codebase-checks#37).

Co-Authored-By: Claude Code <noreply@anthropic.com>
…ot happen

Mercurius r=2b, one exact clause, in two places. Both said the silent skip
"is what let 0.9.0 be prepared a second time on 29 Oct". That claims a cause
that never operated: no v0.9.0 publish was attempted that day, and the second
preparation happened at review, before any publish job ran. The flag was never
reached — it would only have hidden the mistake at publish time.

Both now say what would have happened rather than what did: had 0.9.0 been
tagged again on 29 Oct, under a number live since 19 Oct, the job would have
gone green and published nothing.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@rgfaber
rgfaber merged commit 9380e0c into main Oct 29, 2026
7 checks passed

This branch was successfully deployed

1 active deployment
release — 9380e0cd Deployed Oct 29, 2026 by rgfaber via publish to NuGet #21
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