Repository navigation
refactor(plugin-quality): fold repeated resets and patterns in the audit collectors - #12811
Conversation
…quality-2026-11-03' into fix/12763-replacement
… regex matches The tidy in #12763 folded the windows-path-emit probe's three declaration forms into one alternation. Add cases that flag `declare -x` and `typeset -x` at their line and leave a per-command `MSYS_NO_PATHCONV=1 cmd` ungraded, so dropping a form fails the suite. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vcupom3BKF6QuC5U3sRJPj
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review reviewed Security review: PR #12811No security issues found. I read every hunk of all 4 changed files. None of them match a trusted-path glob, and none touch a trust control, a merge hold, a token request, a workflow, a plugin manifest or a standing instruction.
The pull request context contains no embedded directives aimed at this lane. There were no prior findings (round 0 of 3), so the round cap did not apply. critical-findings: 0 |
|
claude-review reviewed Code review: no findingsI read every hunk of all 4 changed files, plus the surrounding head code in each script.
Changelog fragment. The Spec and context.
|
Post-merge mutation testingKilled 3, survived 2, timeout 0, no coverage 0, invalid 0, not run 2.
Surviving mutants
The run's summary has the full report. |
No related issue: code-tidying upkeep sweep.
Summary
Replaces #12763, an ad hoc tidy of the two plugin-quality audit collectors that the lanes App opened. pr-verify failed its head only because the pull request had no spec: the body said "No related issue" and no trusted title or body was recorded, so
spec-text.jsonwas empty. It named no defect in the code. pr-unblock could not change pull request metadata, left both fail-note threads open, and labeled itneeds-session. This owner-login pull request carries the same change with a trusted title and body, which is the spec: a structure-only tidy that keeps every collector's output the same, plus a test that pins the folded regex.Fix
plugins/plugin-quality/skills/audit/scripts/collect-categories.sh: the per-headingmarker/items/finding_openreset runs once afterclose_section()instead of in both heading branches.plugins/plugin-quality/skills/audit/scripts/collect-standards.sh:cite()'s missing-file branch becomes[[ -f "$file" ]] || return 0; the windows-path-emit probe folds its three declaration forms into(export|declare[[:space:]]+-x|typeset[[:space:]]+-x)[[:space:]]+(MSYS_NO_PATHCONV|MSYS2_ARG_CONV_EXCL).plugins/plugin-quality/skills/audit/scripts/collect-standards.test.sh(new in this replacement): cases that flagdeclare -x MSYS2_ARG_CONV_EXCLandtypeset -x MSYS_NO_PATHCONVat their line, and leave a per-commandMSYS_NO_PATHCONV=1 tool.exeungraded. Before this, only theexportform was tested, so the folded alternation could drop a form unnoticed..changes/plugin-quality/patch fragment, updated to name the test.Verification
collect-standards.test.shandcollect-categories.test.sh: all cases pass on the merged head.typeset[[:space:]]+-xfrom the regex makes the two new typeset assertions fail; the script was restored afterwards.scripts/check-affected.sh --base origin/main --no-fetch: 14 passed, 1 skipped (ruff, no changed.py).collect-categories.sh:225reset equivalent,collect-standards.sh:117and:275equivalent.Related
scripts/packet-seal.shhas two near-identical digest loops that differ in their manifest-name filter and symlink error text.🤖 Generated with Claude Code
https://claude.ai/code/session_01Vcupom3BKF6QuC5U3sRJPj