chore: release v0.12.0 - #197
Conversation
There was a problem hiding this comment.
Pull request overview
This PR is a release-plz–generated release chore for v0.12.0, updating the repository changelog to reflect the new crate versions and their aggregated changes.
Changes:
- Adds v0.12.0 release notes sections into
CHANGELOG.mdfor multiple crates. - Updates links/dates and categorizes entries under Added/Fixed/Other.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
cc055fe to
dbc9061
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
Suppressed comments (1)
CHANGELOG.md:11
- This PR adds a second full set of
0.12.0changelog sections dated2026-08-07, but the file already contains0.12.0sections dated2026-08-06further down (e.g. starting at line 158). This leaves duplicate headings/entries for the same version and makes the changelog ambiguous. Please deduplicate so there is exactly one0.12.0section per crate (and ensure the correct release date), rather than appending another full copy.
## [0.12.0](https://github.com/BrainyBlaze/xlog/compare/xlog-cli-v0.11.0...xlog-cli-v0.12.0) - 2026-08-07
### Added
- *(logic)* warn when imported-module pragmas are ignored ([#189](https://github.com/BrainyBlaze/xlog/pull/189))
Read-only release-state check (review pass over all open PRs)This rolling PR is stale and must not be merged as-is — but per the release rules it also must not be closed without care. Facts, all read-only:
Suggested path (human decisions, in order): (1) run |
db9d354 to
2596e49
Compare
There was a problem hiding this comment.
Deep review — PR #197 (release v0.12.0) @ 2596e498393c4bbc70c7990545cf923302c4daa6
Verdict: content-accurate for its base, but STALE and FROZEN — do not merge at this head. 1 HIGH (process, root-caused and reproduced) / 2 MEDIUM / 2 LOW / 2 NOTEs. The version arithmetic is right and the purity is perfect; the problem is that release-plz has silently stopped updating this PR, and the changelog omits two breaking fixes and the headline feature that are already on main.
HIGH — the release-worthiness gate false-negatives via SIGPIPE, so this rolling PR cannot self-heal
Head 2596e4983 sits on #232. Main has since gained fix(prob)! #233, fix(logic)! #234, and feat(induce) #240 (n-ary rule induction) — none appear in the inserted changelog. Merging at this head publishes 0.12.0 binaries that include that code with release notes omitting two breaking fixes and the headline feature.
Root cause, reproduced: .github/workflows/release-plz.yml gates release-plz release-pr on
if git log --format=%s "$range" | grep -qE '^(feat|fix|...)...' under set -euo pipefail. grep -q exits at the first match; git log then takes SIGPIPE writing the rest; pipefail turns the successful match into pipeline status 141, which the if reads as no match. The subject stream crossed the stdio buffer boundary at #233 (4,612 → 4,669 bytes), flipping the race: the CI logs show the #232 push updated this PR at 11:53Z, and all three later runs (#233, #234, #240 pushes) print "No release-worthy commits since xlog-cli-v0.11.0; skipping release PR" while concluding success. Locally reproduced: 19/20 false negatives, exit 141, vs 12 matches with grep -cE. The BREAKING CHANGE: fallback grep has the identical defect.
Fix path: make the gate SIGPIPE-safe via a normal reviewed PR (write subjects to a temp file and grep that, or grep -E … >/dev/null which reads to EOF, instead of -q). The next push to main then refreshes this PR with #233/#234/#240 — and only then does the human-only publish path apply (GPU validation evidence → merge in UI → workflow_dispatch with confirm_gpu_validation=true).
MEDIUMs (inline)
- Third duplicate generation of
[0.12.0]sections. Merge-base CHANGELOG.md already carries 20## [0.12.0]headings (2026-08-06) from the two previously merged-but-never-published release PRs #187/#196; this insertion makes it 30. Root cause: rolling release PRs merged without the publish dispatch, and release-plz appends rather than replaces. Handle inside the regenerated release branch — never by hand-editing main's CHANGELOG. - A breaking change renders without its
[breaking]marker: commit7a5d32046uses the malformed formfeat!(runtime):(bang before scope), so the parser leaks the raw subject into "Added" with no breaking marker for an API-breaking#[non_exhaustive]change. Version math is unaffected (0.x), but the rendered entry should be corrected on regeneration, and commit-lint should rejecttype!(scope):.
Verified clean (the good news)
- 0.12.0 is the correct next version for the actual commit set (multiple feat + 4 bang-typed + 6 BREAKING-footer commits since
xlog-cli-v0.11.0; 0.x minor bump) — and stays correct even including the missing #233/#234/#240. - Perfect purity: one commit, CHANGELOG.md only (+187), no code/version/lock hand-edits, no AI trailers; author/committer pattern identical to prior release-plz commits.
- 14/14 sampled changelog entries match merged PRs verbatim with correct grouping; breaking markers correct for #188/#228/#235/#236; attribution spot-checks honest (#232 pyxlog-only → correctly absent; arrow #207 present where it should be).
- Registry/tag state confirmed: no v0.12 tag in any format; crates.io xlog-cli/xlog-core at 0.11.0 (sparse-index check — the v1 API false-404s); xlog-induce/xlog-neural genuinely unpublished; single rolling release PR, live head = reviewed head.
LOWs / NOTEs
- Side-branch TIER-2 features appear only as a raw merge-commit line under "Other" (first-parent attribution; pre-existing pattern).
- Nine of ten per-crate compare links point at tags that will never exist (only
xlog-cli-v*tags are created); permanent 404s, template-fixable. - PR body lists pyxlog as a first release at 0.12.0 while PyPI serves 0.11.0 — registry-mechanical (release-plz doesn't track PyPI), cosmetic.
docs-internal/release-process.mdis cited as authoritative but is not in the git tree at any checked ref, and its "Automation Layout" bullet misplaces the commit-type restriction (it lives in the workflow gate, not release-plz.toml).
Standing gate (unchanged)
This PR is merged and published only through the human-driven path; no agent may merge, close, tag, or edit versions/changelogs. The HIGH's CI-gate fix should land before this PR is touched further.
Methodology: purity diff vs merge-base; exact gate reproduction under pipefail (19/20 false negatives); CI log extraction for the four release-plz runs; 14-entry changelog sampling against merged PRs; sparse-index/PyPI/tag state checks. Zero cargo runs — the diff contains no code.
2596e49 to
970f184
Compare
|
All three outstanding review findings are addressed and their threads are resolved in commit 970f184.
Verification: focused release and workflow tests pass 28/28; actionlint 1.7.7 with ShellCheck 0.10.0, shell lint, tracked-ignore hygiene, Ruff check and format, byte-compilation, commit-range validation, and diff checks pass locally. Every reported PR check is green, including CodeQL, clippy-high-signal, and cuda-build-no-gpu. The broader python/tests run reached 347 passed and 10 skipped before two batch-eval failures and the long trainer path; both exact failures reproduce on clean base dd34058 with the same fixture state. The PR remains open and unmerged. |
|
A refreshed, independently reviewed replacement is now available as #265, stacked on the pipefail-safe release gate in #260. The replacement was regenerated twice from its exact refreshed ancestry with pinned release-plz 0.3.157 and cargo-semver-checks 0.46.0; both runs reproduced the committed changelog byte-for-byte ( #197 remains open and should not be merged at its stale head. No merge, close, tag, publish, or release action was performed. |
970f184 to
6547e21
Compare
1100a23 to
846aa01
Compare
846aa01 to
d522a26
Compare
🤖 New release
xlog-core: 0.11.0 -> 0.12.0xlog-ir: 0.11.0 -> 0.12.0xlog-cuda: 0.11.0 -> 0.12.0xlog-stats: 0.11.0 -> 0.12.0xlog-logic: 0.11.0 -> 0.12.0xlog-runtime: 0.11.0 -> 0.12.0xlog-solve: 0.11.0 -> 0.12.0xlog-prob: 0.11.0 -> 0.12.0xlog-gpu: 0.11.0 -> 0.12.0xlog-cli: 0.11.0 -> 0.12.0xlog-induce: 0.12.0xlog-neural: 0.12.0pyxlog: 0.12.0Changelog
xlog-corexlog-irxlog-cudaxlog-statsxlog-logicxlog-runtimexlog-solvexlog-probxlog-gpuxlog-cliThis PR was generated with release-plz.