test(cli): per-IssueKind drift guard for the GitHub-native formats#1846
Merged
Conversation
Iterate the counted ISSUE_RESULT_META rows and assert every dead-code IssueKind renders in both github-summary and github-annotations, mirroring the shell drift guard in action/tests/issuekind-drift-guard.sh (assert_issuekind_summary_coverage). This closes the gap where a new counts_in_total IssueKind could land in the registry and silently miss the native GitHub renderers, which have carried the surfaces since v3.4.2. The Rust guard gates the same dead-code set as the shell guard, verified by both suites skipping the same non-counted advisory kinds.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The bundled action's shell drift guard (
action/tests/issuekind-drift-guard.sh) asserts that every counted dead-code IssueKind reaches the GitHub summary and annotation surfaces. Those surfaces render natively since v3.4.2, but no Rust test held the same line: a new counted IssueKind could land inISSUE_RESULT_METAand silently missrender_summary/render_annotations.This adds a Rust guard that iterates the counted registry rows and asserts each kind renders in BOTH github-summary and github-annotations, plus a trip-wire keeping the fixture in lockstep with the registry (and a count pin agreeing with the shell guard's gated set). This hardens the already-live native path and is the prerequisite for eventually retiring the jq renderers (advisor plan 027 Phase A; Phase B, the deletion, stays deferred).
Verified: the three new tests pass (29 total in the suite); neuter-checked by removing one category row from the summary renderer and confirming the guard fails with a precise message, then restoring.