security: require exact pool-count scalar types - #222
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks 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 |
|
@coderabbitai review Please review exact head |
Rate Limit Exceeded
|
|
Please perform a fresh exact-head semantic review of |
|
@cwl-noema-review Please independently review exact head |
Purpose
Reconstruct the exact connection-count scalar boundary on the current method, timeout-policy, and connection-pool-policy stack without transferring historical acceptance evidence.
This PR is intentionally stacked on #221. Its unique delta is limited to the connection-count normalizer plus focused tests and security/migration documentation after the exact policy-object boundaries are established.
Exact stack identity
mainancestor:7faf7a3b8a47980113982914000e724ab6a6cda5;ab51ef1725bd20c898a3e3df82994b576e675e7b;b0e9b43d4b3c8701e8b6af7a93f1e82a0e9030c7;f97084256922f7085b94096f6c20e4a613fac738;753c8bb38bbdb8952bf95baf2f8e9410b7e8934f;21d61428791b6f7a807a3ec412156b598bbcfbbe;8bac04eb7d2b65e5d05f662ec937fc7b1492ed3c;dbce33d31d9bf5839214341e129f1d1347caa9df;9836caa81b3b49d2e6a965830cf9a96242b0a097;dd8bc0e044fac96d355f3c46b57b4fc3f12bb1ae.Test-first repairs
Integer subclasses
The first immutable RED required both
max_connectionsandmax_keepalive_connectionsto rejectintsubclasses while retaining exact integers and reviewed ASCII decimal strings. Hosted CI reproduced those failures before the production boundary changed to exact built-ininthandling.String subclasses
A later audit found that the same normalizer still accepted arbitrary
strsubclasses throughisinstance(value, str)and could dispatch subclass-controlledisascii()/isdecimal()before trusted count state was frozen. Test-only head8bac04e...requires both count fields to reject a hostilestrsubclass with a stable field-specificTypeErrorbefore polymorphic string inspection. Production headdbce33d...closes that boundary by allowing the decimal-string path only for exact built-instrvalues.The final documentation/tests align the public migration guidance with that exact-scalar contract.
Preserved behavior
The current tree preserves:
It adds no network, credential, release, reviewer, repository-write, or bypass authority.
Exact-current-head evidence
On unchanged
9836caa81b3b49d2e6a965830cf9a96242b0a097:31878987348: terminal success;Because this is a stacked non-default-base Draft, full default-branch SAST/Security/Dependency Review/Strix and protected-merge evidence are not inferred from the native CI result and predecessor evidence does not transfer.
Merge contract
Keep Draft behind #221, #220 and #204. Do not merge until every predecessor is integrated on an accepted protected tree; this unique delta is retargeted/reconstructed on the resulting exact protected base without transferring historical checks/reviews; every then-live CI/SAST/Dependency Review/Strix and organization-required workflow is substantively terminal-success; every current valid finding is addressed; qualifying independent approvals satisfy live policy; and exact head/base/ancestry/rulesets are revalidated immediately before normal protected integration.
Progresses #120. Supersedes #187 after the successor stack is safely integrated.