docs(readme): v1.7 row → shipped (BM25F default-on; others opt-in) per #154 - #426
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideUpdates the README roadmap table to mark v1.7 as shipped behind opt-in feature flags and clarifies that v2.0 is gated on the v1.7 default-on flip deferred by stemming-related concerns in #154. Flow diagram for v1_7 opt_in flags and v2_0 default_on flip prerequisitesflowchart TD
A[Start query execution] --> B{Is_v1_7_default_on_flip_enabled}
B -- Yes --> C[Use_structural_retrieval_lane_with_BM25F_anchors]
C --> D[Apply_BM25F_tokenization_no_stemming]
D --> E[Return_results]
B -- No --> F{Are_opt_in_flags_set_in_retrieval_section}
F -- use_signed_laplacian_true --> G[Enable_signed_Laplacian_and_eigenbasis]
F -- use_heat_kernel_true --> H[Enable_heat_kernel_authority]
F -- use_hrr_structural_true --> I[Enable_HRR_structural_primitives]
G --> J[Compose_structural_retrieval_lane]
H --> J
I --> J
J --> K[Execute_query_with_opt_in_structural_features]
K --> L[Return_results]
F -- No_flags_set --> M[Use_legacy_FTS5_lane_with_stemming]
M --> E
N[Bench_harness_results] --> O{Stemming_gap_resolved_and_BM25F_competitive}
O -- Yes --> P[Allow_enabling_v1_7_default_on_flip]
O -- No --> Q[Keep_default_on_flip_deferred_per_issue_154]
P --> B
Q --> B
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughREADME Roadmap updated: the v1.7 row is changed from "planned" to "shipped", documents BM25F anchor-text retrieval as default-on at v1.7.0 (Porter-stemming benchmark cited), and marks other v1.7 structural retrieval lanes as opt-in via ChangesRoadmap Documentation
🎯 1 (Trivial) | ⏱️ ~2 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 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 |
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- The v1.7 table row is quite long and dense for a single README cell; consider moving the detailed bench/stemming explanation into ROADMAP.md or the linked issue and keeping the table summary more concise with a short note and link for details.
- In the v1.7 row you reference
#403/#425and#154inline; for consistency and easier navigation, consider turning these into proper links or aligning the referencing style with how other rows link to issues/PRs.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The v1.7 table row is quite long and dense for a single README cell; consider moving the detailed bench/stemming explanation into ROADMAP.md or the linked issue and keeping the table summary more concise with a short note and link for details.
- In the v1.7 row you reference `#403/#425` and `#154` inline; for consistency and easier navigation, consider turning these into proper links or aligning the referencing style with how other rows link to issues/PRs.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
|
[claim:review:Kulili:2026-05-05T16:17:18Z] |
|
This PR is now behind Auto-rebase was removed because the bot has no signing key; rebasing as the bot strips author signatures and the |
5827f49 to
0171fec
Compare
0171fec to
f7e1697
Compare
The v1.7 row was stale: components #149/#150/#152/#153/#216 are all merged on main and reachable via opt-in feature flags (use_signed_laplacian, use_heat_kernel, use_hrr_structural in [retrieval] of .aelfrice.toml). Updates the row to reflect ship state. The default-on flip (#154) is deferred. The retrieve-uplift bench harness (#403/#425) measured +0.6010 NDCG@k uplift for use_bm25f_anchors on the v0.1 fixture, but a follow-up smoke test exposed a stemming gap: BM25F's lowercase-tokenize-only path misses matches that FTS5's Porter stemming catches (banana vs bananas). The +0.6010 number was correct for exact-token queries; the production cost on natural-language queries that stem-differ from content is not yet quantified. Until that's measured, leaving v1.7 components opt-in keeps the v1.6 retrieval characteristic intact. v2.0 row tightened to call out v1.7 default-on flip as the prereq for the reproducibility-cut tag.
Updates the v1.7 row to reflect the post-stemming bench result and the actual default-on flip: - BM25F anchor-text retrieval (#148) default-on at v1.7.0 per #154 bench evidence: +0.6650 NDCG@k uplift on the v0.1 retrieve_uplift fixture under Porter stemming. PR #428 added the stemmer; PR #430 flipped the default; bench-gate test_retrieve_per_flag_no_regression PASS. - Other v1.7 components (use_signed_laplacian, use_heat_kernel, use_hrr_structural) remain opt-in — placeholder lanes pending wiring into retrieve(). The v1.7 wave is shipped; the remaining-flags flip waits on those lanes landing. - v2.0 row drops the "default-on flip is a prereq" note since v1.7 is now shipped. Replaces the prior intermediate framing ("shipped (opt-in)"; deferred default-on flip).
f7e1697 to
5e2810f
Compare
… detect job (#413) paths-ignore made `pytest 3.12/3.13` register as `expected` (not satisfied) on docs-only PRs, blocking merge under branch protection that requires those checks. Surfaced concretely by #426 where the README v1.7-row update could not merge despite being approved and non-Python. Replace with the pattern documented in the prior TODO comment: workflow runs on every PR; a detect job uses dorny/paths-filter to classify whether the diff touches Python source / tests / deps; the pytest job gates on `if: needs.detect.outputs.python == 'true'`. Skipped jobs register as `success` to branch protection — gating the work, not the registration. dorny/paths-filter pinned at v3.0.2 SHA per repo SHA-pin convention (harden-runner / setup-uv pinned similarly upstream).
Task 4 of the #403/#154 v2.0 push workflow. Updated to reflect the post-flip state.
Updates README.md's roadmap table to reflect the actual v1.7 ship state — including the BM25F default-on flip from PR #430.
What's stale on main
The current row says v1.7 is planned, but components #149/#150/#152/#153/#216 are all merged on
mainand reachable via opt-in feature flags. With PR #428 (Porter stemming) + PR #430 (default-on flip) landing, BM25F (#148) becomes the default L1 lane.What ships in this PR
shippedwith the actual flag state:use_bm25f_anchors— default-on (per feat(bm25): Porter stemming on the BM25F lane (#154) #428 + feat(retrieval): flip use_bm25f_anchors default-on at v1.7.0 (#154) #430)use_signed_laplacian,use_heat_kernel,use_hrr_structural— opt-in (placeholder lanes pending wiring)Bench evidence reflected
Per #154 comment 4380967901: post-stemming uplift was +0.6650 NDCG@k on the v0.1 retrieve_uplift fixture (30 rows, 6 categories) with no regressions. The bench-gate
test_retrieve_per_flag_no_regressionpasses.Sequencing
This PR is logically downstream of #428 and #430. If they merge first, this lands cleanly as documentation. If this lands first, it'll briefly say "default-on" while main still has it default-off — a 1-day window at most. Coordinate via the merge order on the operator side.
Test plan
Summary by CodeRabbit