Problem
One preview has shipped (FirstClassErrors + FirstClassErrors.Testing 0.1.0-preview.1 on nuget.org, remote tag lib-v0.1.0-preview.1), but the release record does not reflect it: all three CHANGELOGs declare Keep a Changelog + SemVer yet contain only an empty [Unreleased] placeholder — the shipped preview appears in no changelog; the only GitHub Release is a draft named v0.1.0-preview.1 under the superseded pre-train tag scheme (no train prefix, --generate-notes-style body), with no published, consumer-verifiable attestation; and nothing in release.yml promotes [Unreleased] into a released section at cut time, so the gap will recur at every release.
Impact
The "Keep a Changelog" claim has zero recorded history despite a shipped artifact; the documented three-train pipeline has never completed a production run; a consumer cannot verify the preview's provenance.
Direction
- Backfill the lib CHANGELOG with
0.1.0-preview.1 (and note in the cli/dum changelogs that nothing has shipped on those trains yet).
- Resolve the draft GitHub Release into the train-prefixed scheme (publish or supersede it at the next
lib-v tag).
- Add an
[Unreleased]-promotion step to the release procedure (workflow or documented manual step in the runbook) so the loop closes at cut time.
- Before the first full-pipeline release: execute the already-written first-release checklist (
ReleaseDryRun.en.md manual dispatch + the tool-install smoke test before the first cli-v tag).
Acceptance criteria
- The shipped preview is visible in the changelog; the release procedure provably moves
[Unreleased] content at cut time; the draft release is resolved; the first-release checklist has an owner and a date.
Context
Surfaced by the 2026-07-20 architecture, design & ecosystem audit (doc/handwritten/for-maintainers/audit/2026-07-20-firstclasserrors-architecture-and-design-audit.md, §5.1.3/§14-HV20; branch claude/firstclasserrors-audit-83gap7).
Problem
One preview has shipped (
FirstClassErrors+FirstClassErrors.Testing0.1.0-preview.1 on nuget.org, remote taglib-v0.1.0-preview.1), but the release record does not reflect it: all three CHANGELOGs declare Keep a Changelog + SemVer yet contain only an empty[Unreleased]placeholder — the shipped preview appears in no changelog; the only GitHub Release is a draft namedv0.1.0-preview.1under the superseded pre-train tag scheme (no train prefix,--generate-notes-style body), with no published, consumer-verifiable attestation; and nothing inrelease.ymlpromotes[Unreleased]into a released section at cut time, so the gap will recur at every release.Impact
The "Keep a Changelog" claim has zero recorded history despite a shipped artifact; the documented three-train pipeline has never completed a production run; a consumer cannot verify the preview's provenance.
Direction
0.1.0-preview.1(and note in the cli/dum changelogs that nothing has shipped on those trains yet).lib-vtag).[Unreleased]-promotion step to the release procedure (workflow or documented manual step in the runbook) so the loop closes at cut time.ReleaseDryRun.en.mdmanual dispatch + the tool-install smoke test before the firstcli-vtag).Acceptance criteria
[Unreleased]content at cut time; the draft release is resolved; the first-release checklist has an owner and a date.Context
Surfaced by the 2026-07-20 architecture, design & ecosystem audit (
doc/handwritten/for-maintainers/audit/2026-07-20-firstclasserrors-architecture-and-design-audit.md, §5.1.3/§14-HV20; branchclaude/firstclasserrors-audit-83gap7).