fix: Clamp waypoint weights to [0, 1] range to prevent score corruption #56
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
expand_via_waypoints()andhsg_query()scoring loopProblem
During debugging, we discovered that some waypoint records in the database had corrupted weights (e.g.,
1.4 trillioninstead of the expected0-1range). This caused irrelevant memories to rank #1 in search results because the hybrid scoring formula:Would be dominated by the massive waypoint weight, effectively ignoring semantic similarity.
Solution
Added
Math.min(1.0, Math.max(0, weight || 0))clamping in two locations:This ensures that even if the database contains invalid values, they won't corrupt query results.
Test plan
🤖 Generated with Claude Code