docs: reference PR #678 in the Tauri plugin-parity CHANGELOG entry - #679
Conversation
The doc-metrics completeness gate (subject of #674) failed on resulting main because the Unreleased entry for the Tauri plugin version-parity fix didn't reference its PR number, unlike every other entry in this file.
Reviewer's guide (collapsed on small PRs)Reviewer's GuideUpdates the Unreleased Tauri plugin-parity changelog entry to cite PR #678, satisfying the doc-metrics completeness check and matching the repositoryβs existing PR-reference convention. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
π€ CodeAnt AI β Review Status
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Thanks for using CodeAnt! πWe're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X Β· |
|
Warning Review limit reachedNext included review available in 4 minutes. View limit detailsLimit details: Youβve used the included review currently available. Your 83 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. Review configuration: βοΈ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Essentials Run ID: π Files selected for processing (1)
Comment |
π CodeAnt Quality Gate ResultsCommit: β Overall Status: PASSEDQuality Gate Details
|
There was a problem hiding this comment.
No application code in the PR β skipped Code Health checks.
See analysis details in CodeScene
Quality Gate Profile: The Bare Minimum
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.
Codecov Reportβ
All modified and coverable lines are covered by tests. π’ Thoughts on this report? Let us know! |
Three accuracy fixes to the v1.28.6 release-prep narrative: - The #679 explanation incorrectly implied a PR's number isn't known until after squash-merge. In fact PR #678's number was already known before merge; only the final squash commit's SHA/subject didn't exist yet. The actual gap is that the PR-branch check doesn't enforce a current PR's own already-known number against [Unreleased], only resulting-main's commit history. - TODO.md claimed the Tauri qualification "passed on the exact merged SHA before merge," which is impossible since the merge commit doesn't exist until after merge. Corrected to name the actual qualified SHA: the final PR head / merge-candidate commit 52f14d1. - The v1.28.5 release-truth notes read as if nothing was published for that tag. Only the desktop (Tauri) release build failed; the separate Docker/GHCR publish workflow for v1.28.5 succeeded, so a container image for that tag does exist.
* chore(release): bump version to v1.28.6 v1.28.5 was tagged (PR #676) but its tag-triggered Tauri desktop release build failed on every platform with the Rust/npm plugin version mismatch fixed by PR #678, so no GitHub Release or installer artifacts were ever published for it. The v1.28.5 tag stays permanently as-is (never deleted, moved, or re-tagged) as the historical failed/incomplete cut; v1.28.6 is the corrected, complete release. Version bumped via the existing sync scripts (sync-sw-version.mjs, sync-tauri-version.mjs) across package.json, src-tauri/Cargo.toml, src-tauri/tauri.conf.json, src-tauri/Cargo.lock, and public/sw.js's APP_VERSION. CHANGELOG.md's [Unreleased] content (the PR #678/#679 Tauri plugin-parity recovery) is converted into the dated [1.28.6] entry with the established release-candidate marker convention, plus a note under [1.28.5] recording why that release never completed. README.md's version badge gets the same marker. TODO.md's Current Sprint section is archived and replaced with the actual current sprint: this release cut and the still-open #614/#532/#675 tracked items. AUDIT.md is intentionally not touched here β its release-gate entry requires real post-merge CI/CodeQL run evidence that doesn't exist until after this PR merges and the tag is cut, matching every prior release. * docs: correct v1.28.5/#678/#679 release-truth wording Three accuracy fixes to the v1.28.6 release-prep narrative: - The #679 explanation incorrectly implied a PR's number isn't known until after squash-merge. In fact PR #678's number was already known before merge; only the final squash commit's SHA/subject didn't exist yet. The actual gap is that the PR-branch check doesn't enforce a current PR's own already-known number against [Unreleased], only resulting-main's commit history. - TODO.md claimed the Tauri qualification "passed on the exact merged SHA before merge," which is impossible since the merge commit doesn't exist until after merge. Corrected to name the actual qualified SHA: the final PR head / merge-candidate commit 52f14d1. - The v1.28.5 release-truth notes read as if nothing was published for that tag. Only the desktop (Tauri) release build failed; the separate Docker/GHCR publish workflow for v1.28.5 succeeded, so a container image for that tag does exist. * docs: correct stale current-sprint reference to v1.28.6 in TODO.md The 2026-09-05 archived section's status line still described PR #674 and the v1.28.5 release cut as "the current sprint's continuation," which stopped being true once the current sprint became the v1.28.6 desktop-release-build recovery. Extends that sentence to name v1.28.6.
Three truth-accuracy fixes flagged by Sourcery/CodeAnt/Cubic/Codex on this PR: - TODO.md still described the v1.28.6 release cut, tag, GitHub Release, assets, and audit evidence as pending, contradicting AUDIT.md/ CHANGELOG.md's already-published state. Marked it done with the real published evidence; unrelated open items (#614, #532, #675, ledger row 9) are untouched. - CHANGELOG.md's post-release truth-sync entry didn't reference its own PR number. Added PR #681 β the same class of gap already found and fixed around #678/#679. - AUDIT.md's v1.28.5 release-gate entry said "Verify release tag" was skipped, which is impossible if the Bundle jobs ran and failed after it. The real per-job outcome was Verify release tag: success, each platform's Bundle job: failure individually, GitHub Release: skipped.
* docs: post-release v1.28.6 truth sync Removes the now-stale release-candidate markers from README.md and CHANGELOG.md now that the v1.28.6 tag and GitHub Release are published, and records real release-gate evidence in AUDIT.md for both v1.28.6 (main CI/CD, CodeQL, the pre-tag exact-SHA Tauri qualification, tag-triggered Tauri/CI/Docker runs, published release assets) and v1.28.5 (the desktop-build failure and its independently-successful Docker/GHCR publish, which had no prior AUDIT.md entry since the original release-prep PR predated the tag failure). * docs: correct release-state and job-outcome truth in #681 Three truth-accuracy fixes flagged by Sourcery/CodeAnt/Cubic/Codex on this PR: - TODO.md still described the v1.28.6 release cut, tag, GitHub Release, assets, and audit evidence as pending, contradicting AUDIT.md/ CHANGELOG.md's already-published state. Marked it done with the real published evidence; unrelated open items (#614, #532, #675, ledger row 9) are untouched. - CHANGELOG.md's post-release truth-sync entry didn't reference its own PR number. Added PR #681 β the same class of gap already found and fixed around #678/#679. - AUDIT.md's v1.28.5 release-gate entry said "Verify release tag" was skipped, which is impossible if the Bundle jobs ran and failed after it. The real per-job outcome was Verify release tag: success, each platform's Bundle job: failure individually, GitHub Release: skipped.
β¦#685) The doc-metrics completeness gate (subject of #674, recurred around #678/#679) failed on resulting main because the Unreleased entry for the parity-preflight job didn't reference its PR number - the entry that used to cite it was removed while reverting the unrelated Dependabot multi-ecosystem grouping attempt in the same PR.
#705) * fix(ci): require pre-merge CHANGELOG PR-reference for governed changes scripts/check-doc-metrics.mjs's completeness gate only enforces a PR-number reference in CHANGELOG.md's [Unreleased] section AFTER squash-merge, once the commit is on main and its subject already carries "(#N)" β pre-merge, a branch's own not-yet-squashed commits are (correctly) exempted from that check. This has left a recurring blind spot: nothing stops a governed PR from merging without ever adding the entry, even though its real PR number is already knowable via the GitHub API before merge. It has recurred three times (#678->#679, #684->#685, #699->#700), each requiring a same-pattern follow-up PR to add the missing reference after the fact. Adds a new, independent pre-merge admission gate (.github/workflows/pr-changelog-reference.yml + scripts/check-pr-changelog-reference.mjs) that fails a governed (feat|fix| perf) PR's CI unless CHANGELOG.md's [Unreleased] section already references it as "PR #<N>", using the PR number from GitHub's own event payload β not inferred from commit history. Deliberately stricter grammar than the existing post-merge bare "#NNN" matcher, since pre-merge there is no squash-appended "(#NNN)" to anchor on. Mirrors pr-text-attribution.yml's base-ref self-grading pattern (runs the checker from the PR's base ref, with a documented one-time bootstrap fallback) so a PR cannot weaken the check that grades it. The existing scanUnreleasedTruth machinery in check-doc-metrics.mjs β governing local pre-push behavior and the historical post-merge/branch-local exemption β is untouched. Complements, but does not implement, issue #675's broader deterministic- identifier-contract scope (replacing the unnumbered-commit slug-match fallback) β this gate only closes the narrower pre-merge admission gap for PRs that already have a real, known PR number, which is the common case. 13 regression tests plus real-text fixtures reproducing all three historical incidents (#678/#679, #684/#685, #699/#700) in tests/unit/checkPrChangelogReference.test.ts. * docs: reference PR #705 in the CHANGELOG PR-admission gate entry * test: reduce duplication in checkPrChangelogReference regression tests CodeScene flagged the new test file's code health below 10.00 due to repeated per-test literal boilerplate. Factored a shared fixture builder and consolidated closely related cases into it.each() tables β same 18 assertions, same coverage, no behavior change to the checker itself. * docs: sync README test-count metrics after test-file refactor * fix(ci): scope CHANGELOG PR-reference check to actual bullet entries The check previously tested the whole raw [Unreleased] section text, so a PR number mentioned only in prose (e.g. a reviewer note directly under a ### heading, not inside a real release-note bullet) could satisfy admission without ever adding a genuine changelog entry. Scoped to parsed bullet entries (joining soft-wrapped continuation lines, mirroring check-doc-metrics.mjs's splitUnreleasedEntries) so only a reference inside an actual bullet counts. Mutation-tested: reverted to whole-section matching, confirmed exactly the new prose-bypass regression test failed, restored. * fix(ci): close two review-found bypasses in the CHANGELOG PR-reference gate - isReferencedByPrLabel used (?!\d) as its trailing boundary, so a malformed near-miss like "PR #705alpha" or "PR #705_internal" satisfied the gate. Widened to (?!\w), a full word boundary, matching the existing post-merge checker's own boundary discipline. - extractBulletEntries appended any non-blank line to the current bullet as a soft-wrap continuation, including a Markdown heading with no blank line before it β so a heading like "### Notes: PR #700" right after an unrelated bullet could satisfy the gate. Now flushes the current entry on a heading line before the continuation check. Also fails closed (instead of silently skipping) when a pull_request event payload is missing its numeric "number" field, rather than treating that the same as a genuinely absent pull_request event. 5 new regression tests (word-boundary near-misses x2, heading-continuation bypass, doubling as the mutation-tested proof for both fixes). * fix(ci): strip comments before locating the [Unreleased] heading getUnreleasedSectionText searched for the heading in the raw changelog, then stripped HTML comments from the extracted section afterward. A commented-out template containing a literal "## [Unreleased]" line earlier in the file could hijack the section-boundary search β slicing off the opening "<!--" before comment-removal ran left the fake section's own placeholder content unstrippable, so a bogus "PR #<N>" inside the comment could satisfy the gate while the real [Unreleased] section had no reference at all. Strips comments from the whole document up front instead, before any heading/section parsing. Regression test reproduces the exact scenario; mutation-tested by reverting to the old order and confirming exactly that test fails. * fix(ci): reject malformed PR metadata and generalize bullet-continuation scoping - isValidPrMetadata (extracted for testability) now rejects a non-integer, zero, or negative PR number, and a missing/blank title, instead of only checking typeof number === 'number' (which admits NaN and negative values). Fails closed instead of silently exit-0'ing on a malformed event payload. - extractBulletEntries's heading-only flush was one instance of a broader bug class: any flush-left non-bullet line (blockquote, code fence, hr) was still absorbed as a continuation. Replaced with the general rule this project's own CHANGELOG entries already follow: a continuation line must be indented. A flush-left line that isn't a new bullet ends the current entry, without enumerating every Markdown block type individually. New regression tests for both, plus a blockquote-continuation case mirroring the heading one. Mutation-tested: each fix reverted individually, confirmed exactly its own tests fail, restored. * refactor(ci): extract isIndentedContinuation to simplify extractBulletEntries CodeScene flagged extractBulletEntries' compound boolean condition as too complex. Named predicate, no behavior change β all 32 existing tests pass unmodified.
User description
Purpose
Resulting-main CI/CD failed after #678 merged: the doc-metrics completeness gate (
scripts/check-doc-metrics.mjs, the subject of #674) requires every post-tagfeat/fix/perfcommit to be referenced inCHANGELOG.md's[Unreleased]section by PR number or subject. The Tauri plugin-parity fix's entry described the change but never cited its own PR number, unlike every other entry in the file.Fix
Append "PR #678." to the existing Unreleased entry, matching the established convention.
Validation
node scripts/check-doc-metrics.mjsβ passes locally.pnpm run ci:prepushβ full local admission gate passes.Summary by Sourcery
Add the missing PR reference to the Unreleased changelog entry to satisfy documentation completeness validation.
Bug Fixes:
Documentation:
Summary by cubic
Adds the missing PR #678 reference to the Tauri plugin-parity CHANGELOG entry so the doc-metrics completeness gate passes.
Written for commit 8be1f75. Summary will update on new commits.
CodeAnt-AI Description
Reference PR #678 in the Tauri plugin version-parity changelog entry
What Changed
Impact
β Changelog entry passes documentation completeness checksβ Easier traceability from the fix to its pull requestπ‘ Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.