feat(forecast): add confidence indicator from cross-source agreement (#322)#328
feat(forecast): add confidence indicator from cross-source agreement (#322)#328
Conversation
Code Review — Forecast Confidence Indicator (#322)Clean, well-scoped implementation. 55 tests, mypy clean, no workflow artifacts committed. ✅ What's good
Minor observations (non-blocking)
SummaryNo blocking issues. The feature is solid and directly serves the accessibility use case. Ready to merge. |
2367bfa to
c266d09
Compare
…o multi-source pipeline
…en-Meteo agree...')
c266d09 to
36e4886
Compare
Summary
Implements forecast confidence indicator (#322).
A confidence score (High/Medium/Low) is computed by comparing key metrics
(temperature spread, precipitation probability) across available forecast sources.
Changes
forecast_confidence.py: ForecastConfidence model + calculator with documented thresholdsmodels/weather.py: forecast_confidence field on WeatherDataweather_client_base.py: confidence computed in multi-source pipelinedisplay/presentation/forecast.py: confidence label in ForecastPresentation and fallback textThresholds
Accessibility
Uses plain-English labels (High/Medium/Low) readable by screen readers.
Confidence rationale is included in fallback text for screen reader users.
Testing
test_forecast_confidence.py: 27 tests for the core model and calculatortest_forecast_confidence_pipeline.py: 11 tests for WeatherData integrationtest_forecast_confidence_presentation.py: 17 tests for ForecastPresentation surfacingCloses #322