Repository navigation
chore: release v0.29.4 - #354
Conversation
Patch: #291 carries the target's translated _toc.yml part captions forward on sync and on the rebase replay (the #254 interim), #289 removes a failed new lecture's entry from the sync PR's _toc.yml (#156), and #335 is the ml rule-19 completive. No source change in this commit; dist-action/ rebuilds byte-identical. STATE.md brought up to date with the two merges. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
🔵 Needs a closer look
Cutting this release gates floating-tag moves (@v0/@v0.29) and billed downstream runs and is explicitly a maintainer decision, and the STATE.md verified: freshness marker should be bumped before it ships.
1 open finding
What changed in this PR
This is a mechanical patch release PR (chore: release v0.29.4) that promotes three already-merged, engine-affecting PRs plus accumulated non-engine changes into a published version. It fits the repository's documented Release Checklist (AGENTS.md): bump the version, promote [Unreleased] in the changelog under a fresh empty header, and update the internal project-state notes.
Changes:
- Bump
version0.29.3→0.29.4inpackage.jsonandpackage-lock.json. - Promote the
[Unreleased]changelog section to## [0.29.4] - 2026-10-09(carrying #291/#254 TOC caption preservation, #289/#156 failed-file TOC entry removal, #335 ml rule-19 completive, and ml experiment arms), leaving a fresh empty[Unreleased]header. - Update
.qe/dev/STATE.md: add a v0.29.4 In-flight entry, move #289/#291 to "Recently landed", and adjust the resume checklist.
| File | Description |
|---|---|
package.json |
Version bump to 0.29.4 |
package-lock.json |
Matching self-version bump to 0.29.4 (both occurrences) |
CHANGELOG.md |
Promotes [Unreleased] to [0.29.4] - 2026-10-09 under a fresh empty header |
.qe/dev/STATE.md |
Records the v0.29.4 cut and moves #289/#291 to "Recently landed" |
Notes from verification: version bumps are consistent across both manifests; the changelog promotion keeps an empty [Unreleased] header and the three engine-changing PRs are all represented; the 2026-10-09 date equals the current date (not a future date). The one finding is that STATE.md's verified: freshness marker (first line) and the "Resume here (2026-09-23 …)" heading were not bumped to reflect this refresh, which is a documented convention in .qe/dev/README.md.
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
The resume checklist's heading stays "2026-09-23, after v0.29.3", since only item 1 is new; the item now carries its own date (2026-10-09), as later additions on the page do. The verified: stamp is unchanged: this PR did not re-verify every bullet. Item 1 re-wrapped to the file's width. From Copilot's review of #354. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
§4a gate on the
Census 9/9 workflows at §4b rate check (
The difference is not significant (Fisher two-sided p ≈ 0.24), and with identical request bytes it is sampling variance. Pooled, the latent rate is about 4% (3 / 72). At that rate, the "more than one refusal in 12" rule fails about 8% of the time by chance. So Checklist 5: |

v0.29.4 — patch. Promotes
[Unreleased]for three merged PRs that change what the engine does:_toc.ymlpart captions forward, matching parts by the lectures they share, and change only the caption lines (#254)_toc.yml, by splicing out its lines, and the PR body lists it under Files Failed to Translate (#156)mlrule 19: "have already seen / met" takes the completive-കഴിഞ്ഞുAlso on
mainsince v0.29.3, with no change to the engine: Malayalam experiment arms and tooling (#331, #333) and the.dev/→.qe/dev/move (#314).Version bumped in
package.json/package-lock.json, CHANGELOG promoted under a fresh[Unreleased]header, and a.qe/dev/STATE.mdentry. The rest of.qe/dev/STATE.mdis brought up to date with the #289/#291 merges. No source change;dist-action/rebuilds byte-identical (engineVersionis a runtime read ofpackage.json).npm test1635/1635; lint,format:checkandcheck-dev-refspass.What the gate can and cannot see. The harness's
_toc.ymlfixtures are flat (noparts:, no captions). Scenarios 17, 18 and 20 therefore exercise #291's new target-TOC fetch, which now fails on any status but 404, and its no-parts no-op. They do not exercise the caption carry-forward, which unit tests cover, including byte-identity on a QuantEcon-style TOC and a test of #291 and #289 together. #289's filter fires only if a new lecture actually fails, as scenario 17 did on the.mllane at v0.29.1.Not in this release: #346's French and Malayalam items (#344, #347, #327, #324, #325) stay with v0.30.0; Japanese (#69) waits on #337 and #338, then ships with #340.
After merge: tag
v0.29.4→ §4a E2E gate on the tag and the 4b rate check → movev0.29andv0→@v0smoke → GitHub release. Tallies will be posted here.🤖 Generated with Claude Code