refactor(resilience): remove Cronbach alpha, add imputationShare confidence (#2787)

* refactor(resilience): remove Cronbach alpha, add imputationShare confidence

Remove cronbach_alpha from proto (field 5 reserved) and all response
builders. Replace with imputationShare (field 9): the fraction of
weighted score from imputed (not observed) data.

lowConfidence now triggers on averageCoverage < 0.55 or
imputationShare > 0.40, replacing the unstable Cronbach-based gate.

weightedBlend() return type extended with observedWeight/imputedWeight
for provenance tracking through the scoring pipeline.

* fix(resilience): version cache key + fix IMF proxy imputation classification

1. Bump resilience score cache key to v2 to avoid serving stale
   cached responses missing imputationShare after deploy.
2. Add explicit `imputed` flag to WeightedMetric so proxy data
   (real IMF inflation with lower certaintyCoverage) is classified
   as observed, not imputed. Only synthetic absence-based scores
   count toward imputationShare.
This commit is contained in:
Elie Habib
2026-04-07 18:22:26 +04:00
committed by GitHub
parent 19e6414a65
commit 2edcdeee06
17 changed files with 134 additions and 64 deletions

View File

@@ -14,8 +14,9 @@ message GetResilienceScoreResponse {
double overall_score = 2;
string level = 3;
repeated ResilienceDomain domains = 4;
double cronbach_alpha = 5;
reserved 5;
string trend = 6;
double change_30d = 7;
bool low_confidence = 8;
double imputation_share = 9;
}

View File

@@ -6,6 +6,8 @@ message ResilienceDimension {
string id = 1;
double score = 2;
double coverage = 3;
double observed_weight = 4;
double imputed_weight = 5;
}
message ResilienceDomain {