fix(rate-limit-guard): align unwrap-before-compose with context-guard - #3663
Conversation
Stop treating bare quoting as an sh -c wrap trigger. Share the peel and guard rules through a synced spoke so the twins cannot drift again. Co-authored-by: ksextonmelodic <ksextonmelodic@gmail.com>
|
Claude finished @kyle-sexton's task in 1m 39s —— View job Security review complete
No security issues found. This PR is a documentation/prose refactor plus CI wiring, mirroring existing patterns already in the repo:
Nothing here touches authN/authZ, secret handling, injection surfaces, or GitHub Actions trust boundaries beyond the already-established sync-gate pattern. |
|
Last security-reviewed head: |
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 finished @kyle-sexton's task in 23s —— View job Security review — skipped (already covered)
Skip gate hit: the head SHA for this run, No further action needed unless new commits are pushed to this branch. |
|
Claude finished @kyle-sexton's task in 2m 11s —— View job CI code review complete
Scope: correctness/maintainability only (security lane covers this repo separately, and already reviewed this head). SummaryThe refactor does what it says: the peel rules and shell-syntax guard move from
FindingOne inline comment on Not independently re-runThe PR's Verification section lists |
|
Claude has reviewed this PR 3 times. The lane skips further automatic reviews after 5; deleting this comment resets the count. |
The expected sh -c argument for ulimit '-n' now uses the POSIX '\'' form so printf recovers the quoted renderer. Co-authored-by: ksextonmelodic <ksextonmelodic@gmail.com>
|
Claude finished @cursor[bot]'s task in 2m 43s —— View job CI code review complete
Scope: correctness/maintainability only (security lane covers this repo separately, and already reviewed the prior head with no findings). SummaryHEAD is now Verified directly, not just diffed:
No new findings on this delta. The rest of the PR (sync script, CI wiring, reference doc, Not independently re-runSandboxed shell execution in this environment doesn't include |
Restore the eval files and change only the ulimit '-n' expected sh -c argument to the POSIX '\'' form. Co-authored-by: ksextonmelodic <ksextonmelodic@gmail.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cbcb1e1a88
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Claude finished @cursor[bot]'s task in 1m 52s —— View job CI code review complete
Scope: correctness/maintainability only (security lane covers this repo separately). What changed since the last reviewThe only diff between the previously-reviewed head ( I verified the fix directly rather than taking the diff at face value:
One intermediate commit ( ResultNo new findings. The previously-flagged escaping bug is fixed correctly in both plugins, and the fix is minimal and byte-scoped as intended. |
Closes #3602
Summary
rate-limit-guard's setup still treated bare quoting as an
sh -cwrap trigger, the bug context-guard already fixed withtype -P/type -t. The twins had drifted on the second half of their compose logic.Fix
reference/unwrap-before-compose.md, canonical in context-guard and synced byte-identical into rate-limit-guard.type -Pempty whiletype -treports builtin/function/alias). Bare quoting is never a trigger.scripts/sync-unwrap-before-compose.shplus its discriminator test, a CIunwrap-before-compose-syncjob onci-status.needs, and a registry row.sh -cargument uses the POSIX'\''escape soprintfround-tripsulimit '-n'(same correction on the context-guard twin eval).rate-limit-guard0.7.24 → 0.7.25 andcontext-guard0.7.30 → 0.7.31.Verification
scripts/sync-unwrap-before-compose.sh --check— copies match.scripts/sync-unwrap-before-compose.test.sh— 7/7.scripts/check-lane-coverage.sh --check— 55 lanes reachable fromci-status.needs.scripts/check-cross-plugin-source-drift.sh --check— no unregistered or drifted clusters.scripts/check-changelog-parity.sh --check-bump origin/main— pass.scripts/check-changed-skills.sh origin/main— 2 skills, 0 failed.printf '%s\n' 'ulimit '\''-n'\'''printsulimit '-n'.Related
Follow-up from Phase 2c (
legacy-statusline-detectextract). Refs #3601.