fix(plugins): label search scores accurately - #178
Conversation
Render vector similarity from raw_score, distinguish explicit-null BM25 hits from legacy responses, and preserve fused values only as labelled ranks across the shared TypeScript core and OpenClaw plugin. Add regression coverage for all three wire shapes and document the user-visible fix.
|
Merged — thank you. That is your eighteenth here, and it closes the fused-rank arc: five renderer surfaces across six files, all now saying what they actually know. The part worth naming is that you cleared the trap the issue warned about rather than the one it looked like. Widening The arc started with your own abstention measurement on #73 — 32 searches with the answer deliberately absent, every one reporting a top fused score of 1.0. It is a nice symmetry that you closed it. |
Summary
The OpenClaw renderer and the Pi/Cline shared core remain separate in-place implementations, as requested. Their wording now follows the existing Python three-case contract.
Validation
Fixes #175
AI-assisted implementation; I reviewed the complete diff and validated it with the checks above.