fix: canonicalize score brackets and assessments

This commit is contained in:
Hermes Agent
2026-07-26 23:07:24 +00:00
parent 1f754ed85d
commit 62bff348bf
6 changed files with 90 additions and 46 deletions
+6 -26
View File
@@ -4,6 +4,8 @@ import json
import os
import logging
from scoring.policy import SCORE_VERSION, assessment_for_score
log = logging.getLogger(__name__)
THRESHOLDS_PATH = os.path.join(
@@ -544,19 +546,7 @@ def score_all(metrics):
else:
composite = 0
# Assessment text — calibrated for cycle-aware scoring
if composite >= 80:
assessment = "EXTREME ACCUMULATION ZONE"
elif composite >= 65:
assessment = "STRONG ACCUMULATION ZONE"
elif composite >= 50:
assessment = "MODERATE OPPORTUNITY"
elif composite >= 35:
assessment = "NEUTRAL"
elif composite >= 20:
assessment = "CAUTION — OVERHEATED"
else:
assessment = "EXTREME CAUTION"
assessment = assessment_for_score(composite)
return {
"metrics": results,
@@ -564,6 +554,7 @@ def score_all(metrics):
"assessment": assessment,
"scored_count": len(valid_scores),
"total_count": len(results),
"score_version": SCORE_VERSION,
}
@@ -646,19 +637,7 @@ def score_all_ml(metrics):
m["ml_weight"] = round(effective_weight, 4)
m["ml_contribution"] = round(m["score"] * effective_weight * 10, 2)
# Assessment text (same thresholds as classic)
if composite >= 80:
assessment = "EXTREME ACCUMULATION ZONE"
elif composite >= 65:
assessment = "STRONG ACCUMULATION ZONE"
elif composite >= 50:
assessment = "MODERATE OPPORTUNITY"
elif composite >= 35:
assessment = "NEUTRAL"
elif composite >= 20:
assessment = "CAUTION — OVERHEATED"
else:
assessment = "EXTREME CAUTION"
assessment = assessment_for_score(composite)
return {
"metrics": results,
@@ -669,4 +648,5 @@ def score_all_ml(metrics):
"ml_mode": True,
"classic_score": classic["composite_score"],
"ml_weight_total": round(weight_total, 4),
"score_version": SCORE_VERSION,
}