fix: constrain interactive yes/no choices before integer coercion - #344
fix: constrain interactive yes/no choices before integer coercion#344seonghobae wants to merge 29 commits into
Conversation
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@jules 유효한 변경은 보안 severity가 아니라 interactive choice admission correctness입니다. 현재 exact head |
LGTM. |
autoFIPC()의 세 interactive binary prompt는 사용자에게1또는2만 허용한다고 안내하지만 protectedmaster@f87c2324f1686135e57d8730c1b0b9420874f300에서는 임의의 digit string을as.integer()에 넘겼습니다. 유효 production delta는 세 prompt 모두에서 coercion 전에 정확히"1"/"2"만 admission하는 것입니다. 이를 CRITICAL/DoS 취약점으로 분류할 근거는 없으며 local interactive input-contract 결함으로 취급합니다.Current exact authority
master@f87c2324f1686135e57d8730c1b0b9420874f300;929a04d1cd7561bc96056e6d87f148418d1b53d5;R/aFIPC.Randtests/testthat/test-afipc-readline-validation.R.Intervening-delta repair
After reviewed
df3fa0b6..., normal descendant3e390658...reintroduced.Rbuildignoreexclusions, generated.jules/sentinel.mddoctrine,mockeryinSuggests, and replaced the deterministic three-prompt regression with a fitted-model test covering only one prompt. This was read as intervening history, not a race.Ordinary descendants
bca360de...→e71cd637...→ce21598d...→929a04d1...restore protected build-ignore/Sentinel/DESCRIPTION authority and the stronger deterministic prompt-contract regression. No force push or destructive rebase was used.The regression finds the three actual nested prompt closures in
body(aFIPC::autoFIPC)and evaluates them in the package namespace without adding a production test seam or fitted-model dependency. For every prompt it verifies1→1L,2→2L, retries for3, whitespace-prefixed/signed/leading-zero/oversized values, no coercion warning on oversized input, and the existing context-specific three-attempt failure.Succession relation
Open sibling #345 carries the same production fix with additional test dependency/model-fitting machinery. Do not close #345 until this successor reaches terminal exact-head gates and complete semantic/evidence succession is reread against then-live protected truth.
Exact-head acceptance
Only checks and reviews on
929a04d1...count. Current R CMD check, Code Quality, Security Audit, Security Scan, SAST and CodeQL runs have materialized but are non-terminal. Keep Draft until applicable exact-head gates are terminal GREEN, valid current-head findings are zero, and the live ruleset has qualifying independent current-head review. Predecessor GREEN does not transfer.No self-approval, source-neutral retrigger, gate weakening, scanner suppression, generated security doctrine, force push, destructive rebase, or vulnerability-severity inflation.