Skip to content

Commit 5bcad1f

Browse files
Yang Jingclaude
andcommitted
feat: add reaffirmation and normalizedScore fields to SearchResult (PM-14a)
SearchResult model now includes: - reaffirmation: multiplicative reaffirmation factor (replaces additive occurrenceBoost) - normalized_score: per-batch normalization to [0.0, 1.0] (PM-13) Both fields have defaults (1.0 and 0.0) so existing API responses without them are handled gracefully. occurrenceBoost kept for back-compat (PM-14b). Bump version 0.2.2 → 0.3.0 (new fields = minor version). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 59c6718 commit 5bcad1f

4 files changed

Lines changed: 7 additions & 3 deletions

File tree

hippodid/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
ValidationError,
2727
)
2828

29-
__version__ = "0.1.0"
29+
__version__ = "0.3.0"
3030

3131
__all__ = [
3232
"HippoDid",

hippodid/models.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,10 @@ class SearchResult(BaseModel):
101101
salience: float = 0.0
102102
decay_weight: float = Field(1.0, alias="decayWeight")
103103
occurrence_count: int = Field(0, alias="occurrenceCount")
104-
occurrence_boost: float = Field(0.0, alias="occurrenceBoost")
104+
occurrence_boost: float = Field(0.0, alias="occurrenceBoost") # PM-14b: deprecated, use reaffirmation
105+
reaffirmation: float = Field(1.0) # PM-14a: multiplicative reaffirmation factor
105106
final_score: float = Field(0.0, alias="finalScore")
107+
normalized_score: float = Field(0.0, alias="normalizedScore") # PM-13: batch normalization
106108

107109
model_config = {"populate_by_name": True}
108110

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "hippodid"
7-
version = "0.2.2"
7+
version = "0.3.0"
88
description = "Python SDK for the HippoDid character memory API"
99
readme = "README.md"
1010
license = "Apache-2.0"

tests/conftest.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,9 @@ def client():
8989
"decayWeight": 1.0,
9090
"occurrenceCount": 1,
9191
"occurrenceBoost": 0.0,
92+
"reaffirmation": 1.0,
9293
"finalScore": 0.95,
94+
"normalizedScore": 1.0,
9395
}
9496

9597
TEMPLATE_JSON = {

0 commit comments

Comments
 (0)