Core: exhaustive selection oracle verifies production materialisation (V5c-3) - #533
Conversation
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 16 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. 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: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
WalkthroughМетод ChangesПроверка выбора кандидатов
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
abd16e1 to
4545032
Compare
V5c-3 — exhaustive selection oracle
Roadmap V5c: «простой exhaustive oracle проверяет production pruning/selection».
RED (
fd72d60): three oracle contract tests fail — the oracle does not exist.GREEN: the oracle exists and agrees with production on every input.
The oracle is deliberately independent of production code paths:
BTreeMap);sort_by);usizepositions never participate.Contract:
exhaustive_oracle_agrees_with_production_materialisation— oracle ==select_order_v1on a multi-group release with adversarial binding order;exhaustive_oracle_matches_production_over_every_binding_permutation— agreement under all 6 binding permutations of a tie-containing release;exhaustive_oracle_is_not_vacuous— the oracle discriminates: declaration order is not the authored order, a reversed release policy yields a reversed exhaustive order.One visibility widening:
SelectionCandidateKeyV1::as_bytesis nowpub(crate)so the oracle can compare canonical key bytes (no pinned source-cone or clean-set receipt rebinding required — the file is outside both pinned inventories).Verification (local)
cargo test -p labcolors-core --lib selection_release— 11/11 pass (8 prior + 3 oracle)cargo clippy -p labcolors-core --all-targets -- -D warnings— cleancargo fmt -p labcolors-core --check— cleanverify_point_support_surplus.py— PASS (no rebind)verify_clean_set_receipt.py product— PRODUCT_IDENTITY_VERIFIED (no rebind)Summary by CodeRabbit