Skip to content

Commit 2a25dd0

Browse files
committed
fix(release): resync Unreleased block with current fragments
render_changelog_fragments.py --check was RED on this branch: the managed Unreleased block still rendered the historical 17-fragment text from the original 2026-08-27 cut, but that cut was superseded once the branch was merged forward with protected main (which added the binary-response-state-contract fragment and corrected the release-cut fragment to stop claiming an already-removed fragment directory). Regenerate the block via --update so it reflects exactly the two fragments currently in docs/changelog.d/. The historical [0.9.2] - 2026-08-27 section is intentionally left untouched; the actual fold/redate into a final dated release section remains a later step gated on real tag-time readiness, not this parity fix. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EutV2EWR41JQztSin3kxSm
1 parent 6ae2246 commit 2a25dd0

1 file changed

Lines changed: 9 additions & 23 deletions

File tree

CHANGELOG.md

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,19 @@
33
## Unreleased
44

55
<!-- BEGIN AUTHORITATIVE CHANGELOG FRAGMENTS -->
6+
### Added
7+
8+
#### Binary response state contract
9+
10+
- Add the versioned `fast_mlsirm_binary_response/v1` Measurement contract so dichotomous 0/1 values remain separate from missing, not-observed, abstained, invalid, omitted, not-applicable, insufficient-evidence, and adjudicated states; keep polytomous rubric/facet contracts separate and fail closed instead of thresholding.
11+
612
### Changed
713

814
#### Release cut 0.9.2
915

10-
- Project version is bumped to 0.9.2 in `pyproject.toml`, `crates/mlsirm-core`,
11-
and `crates/fast-mlsirm-py`. The accumulated `Unreleased` notes now form the
12-
`[0.9.2] - 2026-08-27` release section: preregistered external-validation and
13-
transportability evidence profiles, a domain-neutral Rust/PyO3
14-
finite-population proportion sampling-design contract (sample size, finite-
15-
population correction, proportional/equal-cost Neyman allocation, and a
16-
terminal SRSWOR achieved-proportion artifact with Wang/Konijn exact
17-
confidence limits) plus a bounded threshold-sorted water-filling capped-strata
18-
allocation, a domain-neutral lineage-channel-weight evidence contract, a
19-
shared canonical judge-result IRT projection core, provisional-versus-
20-
calibrated item-parameter provenance with independent (non-self-referential)
21-
provenance edges, item-bank lifecycle public-identity replay, customer-facing
22-
error-copy actionability across the CLI and public API, and a continuation of
23-
the hostile-input/structural-budget hardening sweep (2PL response/tolerance
24-
admission, confirmatory loading-pattern evidence, residual interaction-map
25-
and RSM structural traversal, sampling result-contract replay, release
26-
acceptance watchdog budget, and release helper import integrity).
27-
- This cut removes the standing predecessor note `release-0.9.1-cut.md`, whose
28-
substance is permanently recorded in the `[0.9.1] - 2026-08-25` section and
29-
in git history, mirroring the precedent set by the v0.9.1 cut's removal of
30-
the stale `release-0.9.0-cut.md` leftover.
31-
- Released authoritative fragments are removed from `docs/changelog.d`; the
32-
directory again holds only genuinely unreleased notes.
16+
- Stage package version metadata at `0.9.2` across Python, Rust, `python/fast_mlsirm/_version.py`, and the derived lock metadata on the Draft release branch. This fragment does not claim that a `v0.9.2` tag, package, or immutable GitHub release already exists.
17+
- The historical 2026-08-27 cut folded the then-current 17 unreleased fragments into the draft `[0.9.2]` section. The branch has since been merged forward non-destructively with protected `main`, including the binary-response Measurement contract, so that historical section is no longer complete release provenance for the code that would now be tagged.
18+
- Keep the current authoritative fragments until the exact tag target is ready. Before release, regenerate the managed `Unreleased` block and the dated `0.9.2` release body from that exact inventory, fold every released fragment without losing its evidence, and require `python scripts/render_changelog_fragments.py --check CHANGELOG.md` plus the release-consistency gates to pass on one unchanged head.
3319
<!-- END AUTHORITATIVE CHANGELOG FRAGMENTS -->
3420
## [0.9.2] - 2026-08-27
3521

0 commit comments

Comments
 (0)