fix: normalize locked rate-limit reader acquisition - #687
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthrough요청 및 Durable Object 결정 응답의 ChangesRate limit reader 오류 처리
Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head review: no valid finding remains in the two-file diff. The hostile RED covers synchronous reader acquisition failure on both private rate-limit paths; the repair only normalizes acquisition into the existing request/decision contracts. Fixed byte ceilings and retained buffers, cancellation cleanup, post-acquisition lock release, strict UTF-8/JSON admission, Durable Object bucket semantics, and Noema/foreign-owner authority boundaries remain unchanged. Exact-head CI/reviewer/security/image gates are GREEN; this is a COMMENT review, not self-approval.
…rity-20260913 docs: converge #687 rate-limit reader authority
Finding
The protected distributed rate-limit transport already bounds the private request to 256 bytes and the private decision to 4,096 bytes, releases acquired reader locks, and treats cancellation as best-effort cleanup. Reader acquisition itself was still outside that normalization boundary: a synchronous
getReader()failure on a locked/non-stream-readable internal request escaped the established400 malformed_jsoncontract before storage authority, while the decision path was wrapped only later with raw engine exception text rather than the stablerate-limit Durable Object decision body could not be readdiagnostic.Test-first RED
Test-only exact
e755e86908bbd3cf7cb838380cb1f85cf3a8db21adds hostile synchronous reader-acquisition failures for both private paths. Hosted application CI34711502421reached exact checkout, toolchain, live-base, lockfile, install, and release typecheck successfully, then failed atrelease testsas intended.Minimal causal repair
Final exact
98ec07552f4081bd4ff6b25f1f3ed691c0f3f2b9normalizes only reader acquisition: the request path returns the pre-existing400 malformed_jsonresult before storage authority, and the decision path raises the pre-existing stableDistributedRateLimitUnavailable("rate-limit Durable Object decision body could not be read")contract. Fixed byte ceilings/buffers, cancellation-liveness, post-acquisition lock release, fatal UTF-8/duplicate-key/JSON admission, bucket/state semantics, and endpoint/media-type behavior are unchanged. An intermediate wording-only drift in an unrelated docstring was removed before the final exact head.Exact-head gates are GREEN: application CI
34711784552, reviewer-ci34711784561, Security Scan34711784541, and patch-validator-image34711784554all completed successfully. Reviewer CI retained the 100% line+branch and 100% docstring gates for Noema core and reviewer and passed the real no-network CodeGraph sandbox.No provider/model routing, outbound authority, credential authority, quarantine/security authority, release/deployment authority, or foreign domain truth is transferred by this change.
Summary by CodeRabbit
버그 수정
400 malformed_json오류를 반환합니다.테스트