fix(scaling): bound LSR ranking input materialization - #692
Conversation
|
Warning Review limit reached
Next review available in: 29 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
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 |
|
@opencode-agent address Exact bounded GREEN implementation handoff for clean-lineage Draft #692 / issue #612. Immediately before writing, refetch source head and protected Current RED is proven on CI run Implement the narrowest shared
If head/main/writer state moves, stop rather than race. |
|
@opencode-agent address Fresh current-main reconciliation + GREEN handoff for Draft #692. The prior GREEN instruction was explicitly bound to protected Fresh compare is Then implement only the already-proven shared |
|
@opencode-agent address Fresh current-main GREEN handoff for Draft #692 / issue #612. Immediately before writing, refetch exact source head, live protected Reconcile protected main non-destructively first, preserving all newer accepted scaling/backend/security behavior and the existing fail-first history. Then implement only the already-proven Run focused RED→GREEN first, then complete docstrings/resource-security doctoring/changelog and full same-head CI/Rust/PyO3/package/GPU/fuzz/Security/SAST evidence. Keep Draft until current-head review/governance is clean. Stop if head/main/writer state moves rather than racing. |
Fail closed on overlong rankings, CSR byte budget overruns, and ordinary iterable failures before Rust handoff, without unbounded list(ranking).
7814561 to
f33b925
Compare
|
@opencode-agent address Exact-current defect found on #692 head The current GREEN does not actually enforce its documented live flat/start uint64 payload budget. Treat this as a valid current-head resource-contract defect and keep #692 unmergeable until RED→GREEN:
Do not merge on the current head even if queued CI becomes green; existing tests do not cover this actual-capacity/overlap mismatch. |
|
@opencode-agent address The live-allocation-budget defect remains on exact current #692 head The implementation still checks only logical Do not merge this head. Add an allocation-capacity/overlap RED under a tiny ceiling, then GREEN with a storage strategy whose simultaneously live fixed-width allocations are provably within the stated limit (or deliberately narrow/rename the contract to a final serialized-payload ceiling and test that exact weaker claim). Remove/account the per-ranking uint64 temporary, preserve n+1 bounded consumption, error redaction/process-control propagation and byte-identical contiguous Rust inputs. Keep |
Why
LSR ranking wrappers previously materialised caller-controlled iterables with unbounded
list(ranking)and unbounded outer streams.What
MAX_RANKING_CSR_BYTESlive flat/start uint64 budgetn+1itemsVerification
tests/test_scaling_ranking_input_bounds.py(15)tests/test_scaling.py -k rankings