Files
SuperBizAgent-java/openspec/changes/archive/2026-07-28-rag-eval-hybrid-baseline/tasks.md
T
zhuyongxin 7ae9707a3b feat(harness,rag): dual LLM audit fields, run conclusion, and hybrid quality
Persist provider reasoning and assistant text separately on agent_reasoning_audit
(DeepSeekAssistantMessage path), extract diagnosis_run.conclusion, enrich RAG
tool audit (step_id/query/qualityScore), gate empty mysql tools, drop devtools,
and align MVP docs after live E2E verification.
2026-07-28 19:43:13 +08:00

35 lines
1.8 KiB
Markdown

# Tasks: rag-eval-hybrid-baseline
## 1. Generator wiring
- [x] 1.1 Update `scripts/generate_rag_lookup_snapshots.ps1`: replace `VectorStoreMode` / `vector-store.mode` with `SearchMode` default `hybrid` and `-Dretrieval.search.mode=...`
- [x] 1.2 Keep `-Dretrieval.kb-scope` (default `rag-eval`); document `-SearchMode dense` override
- [x] 1.3 Ensure snapshot test picks up `retrieval.search.mode` (system property and/or `@SpringBootTest` properties)
## 2. Fixture meta
- [x] 2.1 `RagLookupSnapshotGeneratorTest` writes `searchMode` and `kbScope` (when set) on each fixture
- [x] 2.2 Confirm offline `eval_rag_retrieval.py` still loads fixtures (ignore extra meta)
## 3. Docs
- [x] 3.1 Rewrite `eval/rag-retrieval/README.md` hybrid-era loop; remove spring vector-store as default generation path
- [x] 3.2 Note offline vs live responsibilities; point to qualityScore/hybrid main path briefly
## 4. Refresh attempt (best-effort)
- [x] 4.1 Attempt `prepare_rag_eval_seed` + hybrid snapshot generate + offline eval when environment allows
- [x] 4.2 On success: update fixtures and `reports/baseline.*` if needed after diff review
- [x] 4.3 On failure: record exact commands, error summary, and “unverified refresh” in change decisions/acceptance notes — do not block wiring delivery
## 5. Verify
- [x] 5.1 Static: grep shows no required `vector-store.mode` in snapshot generator path
- [x] 5.2 Offline: `python scripts/eval_rag_retrieval.py` runs on committed fixtures (pass or documented baseline drift)
## 6. Apply-discovered fix (hybrid quality gate)
- [x] 6.1 Hybrid attaches optional `denseDistance` without overwriting RRF order/scoreLabel
- [x] 6.2 `toQualityScore(hybrid)` prefers dense L2 for absolute gates; rank fallback if no dense
- [x] 6.3 Regenerate fixtures; L0 filter fallback case green again; baseline updated