Skip to content

chore: release v0.20.0 - #129

Merged
mmcky merged 1 commit into
mainfrom
release-v0.20.0
Jul 21, 2026
Merged

chore: release v0.20.0#129
mmcky merged 1 commit into
mainfrom
release-v0.20.0

Conversation

@mmcky

@mmcky mmcky commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Minor release carrying #128 (closes #119, #65) and #127.

What ships

The structural parity guard — first item of the #120 P0 corruption-class plan. Full reasoning in the changelog entry; the operational headline for anyone watching the estate:

A sync or resync can now fail loudly where it previously succeeded silently. That happens only when the output genuinely diverges structurally from the source — a dropped {raw} argument, a lost (label)= anchor, a re-fenced document — which was always a defect; the change is that it is now caught at write time instead of weeks later on a downstream strict build.

Backlog note: files whose historical translations already carry anchor damage will fail their next sync until repaired (resync is the repair tool). The corpus dry-run suggests this population is small — one clean case found across 211 pairs, already fixed (.fr#16).

Validation

  • 50 suites / 1,173 passing; all five gates clean; bundle reproducible.
  • Calibrated against all 211 production source/target pairs (362 false positives in the byte-equal draft → 3 flexible-arg classes admitted → 200/211 pass, remainder pending-drift artifacts of a comparison shape the in-situ guard never performs).
  • Found and fixed one live production defect during calibration.

Release checklist

  • CHANGELOG [Unreleased][0.20.0]
  • package.json + lockfile → 0.20.0
  • copilot-instructions version + suite count (50)
  • .dev/STATE.md updated
  • On merge: tag v0.20.0, create v0.20, move v0, publish

🤖 Generated with Claude Code

Promote [Unreleased] to [0.20.0]: #128 closing #119 and #65 — the
structural parity guard on every write path, calibrated against all 211
real source/target lecture pairs, plus the #127 docs wording fix.

Minor bump: new behaviour (files can now fail that previously passed),
though only when the output genuinely diverges structurally from the
source — which was always a defect, just a silent one.

Bump package.json/package-lock, copilot-instructions version + counts
(50 suites), record the release in .dev/STATE with the operational note
that the first wave may loudly fail files carrying pre-existing damage.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 21, 2026 05:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Release-prep PR for v0.20.0, aligning repository metadata and maintainer notes with the features shipped in #128 (structural parity guard) and #127 (CLI invocation wording).

Changes:

  • Bump package version from 0.19.00.20.0 in package.json and package-lock.json.
  • Promote the changelog entry to ## [0.20.0] - 2026-07-21 and document the shipped items.
  • Update repository instructions/state docs to reflect v0.20.0 and the updated test/suite counts.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
package.json Version bump to 0.20.0.
package-lock.json Lockfile version metadata updated to 0.20.0 (root + package entry).
CHANGELOG.md Adds the 0.20.0 release entry describing #128 and #127.
.github/copilot-instructions.md Updates “Current Version” and test/suite counts for v0.20.0.
.dev/STATE.md Records v0.20.0 as recently landed with a short operational note.

@mmcky
mmcky merged commit 6f37593 into main Jul 21, 2026
2 checks passed
@mmcky
mmcky deleted the release-v0.20.0 branch July 21, 2026 05:55
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.

forward resync stripped a MyST directive argument: {raw} jupyter -> {raw} (sir_model, v0.17.0)

2 participants