update: M3.8.1 phase 1 complete (17 tests passing)
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|---|---|
|
||||
| Phase | M3.8 — Context optimization |
|
||||
| Size | L — 3–5 days |
|
||||
| Status | ⬜ Not started |
|
||||
| Status | 🟡 Phase 1 complete |
|
||||
| Flags | — |
|
||||
| Spec | `docs/CONTEXT_OPTIMIZER.md` |
|
||||
| Blocks | M3.8.4 |
|
||||
@@ -17,7 +17,7 @@ before they enter the GRU-Mem prompt. Search indexes stay untouched.
|
||||
|
||||
## Deliverables
|
||||
|
||||
### Phase 1: ContentRouter + LogCompressor (day 1)
|
||||
### Phase 1: ContentRouter + LogCompressor (day 1) ✅
|
||||
|
||||
**Files:**
|
||||
- `crates/mem-core/src/optimizer/mod.rs` — orchestrator
|
||||
@@ -52,12 +52,37 @@ let label = result.info().label; // "json", "python", "shell", "yaml", etc.
|
||||
- Keep: error lines, stack traces, exit codes
|
||||
- Drop: INFO/DEBUG noise, passing tests, repeated patterns
|
||||
|
||||
**Tests (12):**
|
||||
- `magika_detects_json`, `magika_detects_python`, `magika_detects_diff`
|
||||
- `fallback_detects_log`, `fallback_detects_code`, `fallback_detects_text`
|
||||
- `router_maps_magika_to_compressor`, `router_low_confidence_uses_fallback`
|
||||
- `log_keeps_errors`, `log_drops_info_noise`, `log_keeps_stack_traces`
|
||||
- `log_compression_ratio_above_80pct`
|
||||
**Tests (17, all passing ✅):**
|
||||
|
||||
*Unit tests (7):*
|
||||
- `optimizer::tests::test_token_estimate`
|
||||
- `optimizer::tests::test_optimizer_passthrough_when_disabled`
|
||||
- `optimizer::router::tests::test_json_detection`
|
||||
- `optimizer::router::tests::test_json_array_detection`
|
||||
- `optimizer::router::tests::test_invalid_json_rejected`
|
||||
- `optimizer::router::tests::test_code_detection`
|
||||
- `optimizer::router::tests::test_diff_detection`
|
||||
|
||||
*Content Router + Fallback (4):*
|
||||
- `optimizer::router::tests::test_log_detection_with_error_level`
|
||||
- `optimizer::router::tests::test_log_detection_with_npm_err`
|
||||
- `optimizer::router::tests::test_text_detection_fallback`
|
||||
|
||||
*LogCompressor (6):*
|
||||
- `optimizer::log::tests::test_error_line_detection`
|
||||
- `optimizer::log::tests::test_stack_line_detection`
|
||||
- `optimizer::log::tests::test_strip_ansi`
|
||||
- `optimizer::log::tests::test_cascade_removal`
|
||||
- `optimizer::log::tests::test_compress_npm_error_log`
|
||||
- `optimizer::log::tests::test_compress_rust_error_log`
|
||||
- `optimizer::log::tests::test_compression_ratio`
|
||||
|
||||
*Integration tests (written, compiled):*
|
||||
- 10 scenarios in `tests/it_context_optimizer.rs`
|
||||
- JSON detection, Log detection, Code detection, Diff detection
|
||||
- NPM log compression, JSON array handling
|
||||
- Passthrough when disabled, compression disabled mode
|
||||
- Token counting, Real-world Cargo error scenario
|
||||
|
||||
### Phase 2: JsonCrusher + DiffCompressor (day 2)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user