You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Full-week hostile review (0C/1M/3m):
- M1: W48 plan test baseline updated from 1013 to 1027 (4 files, 8 occurrences)
- m2: GO/NO-GO W47 commit range extended to Day 6 (239d3d2)
- m3: WASM bundle size constraint updated to <700KB (actual: 622KB with PQ)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/planning/weeks/week_48/WEEKLY_TASK_PLAN.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -115,7 +115,7 @@ Track C (Demo + Blog — Days 4-5): |
115
115
| W48.1a | Create `src/filter/boost.rs` — MetadataBoost struct and matching logic | RUST_ENGINEER | 3h | Unit |`MetadataBoost { field: String, value: MetadataValue, weight: f32 }` struct with `MetadataBoost::new() -> Result<Self, BoostError>` (rejects NaN/Inf weights per CLAUDE.md Section 3.1 NaN guard). `compute_boost(metadata: &HashMap<String, MetadataValue>) -> f32` method. Returns `weight` if metadata field matches value (including `StringArray.contains(value)` for array fields), else `0.0`. Type mismatch returns `0.0` (no error). `BoostError` enum for construction-time validation. Max 200 lines. `cargo build` succeeds |
116
116
| W48.1b | Add `search_boosted()` to `FilteredSearcher` in `src/filter/filtered_search.rs`| RUST_ENGINEER | 3h | Unit |`pub fn search_boosted(&mut self, query: &[f32], k: usize, boosts: &[MetadataBoost], filter: Option<&FilterExpr>, strategy: FilterStrategy) -> Result<FilteredSearchResult, FilteredSearchError>`. Semantics: run `search_filtered()` with `oversample = (k * 3).max(50).min(500)`, then rerank results by MULTIPLICATIVE boosting: `final_distance = raw_distance * (1.0 - boost_factor)` where `boost_factor = sum(boost_i.compute_boost(meta_i)).clamp(-1.0, 0.99)`. This is scale-independent: a weight of 0.3 with one match reduces distance by 30%, regardless of whether L2 distances are 0.001 or 50000. Returns top-k by final_distance. If boosts is empty, delegates to `search_filtered()`. `cargo build` succeeds |
117
117
| W48.1c | Write 11 MetadataBoost unit tests in `src/filter/boost.rs`| TEST_ENGINEER | 2h | Unit | All 11 tests pass with `cargo test test_boost`: `test_boost_single_field_match`, `test_boost_multiple_fields`, `test_boost_no_match_no_effect`, `test_boost_all_match_reranks`, `test_boost_weight_zero_neutral`, `test_boost_negative_weight_penalty`, `test_boost_combined_with_filter`, `test_boost_large_weight_dominates`, `test_boost_type_mismatch_ignored`, `test_boost_string_array_contains`, `test_boost_wasm_smoke` (native-side test verifying boost struct is serde-friendly) |
118
-
| W48.1d | Regression: `cargo test --lib` + `cargo clippy -- -D warnings` + `cargo check --target wasm32-unknown-unknown`| TEST_ENGINEER | 0.5h | Full suite | All existing tests pass (1013+ lib + 11 new boost tests), 0 clippy warnings, WASM build succeeds |
118
+
| W48.1d | Regression: `cargo test --lib` + `cargo clippy -- -D warnings` + `cargo check --target wasm32-unknown-unknown`| TEST_ENGINEER | 0.5h | Full suite | All existing tests pass (1027+ lib + 11 new boost tests), 0 clippy warnings, WASM build succeeds |
0 commit comments