486f0e689c47fc569f7d7a6938154aa90486d239
- BrentPriceFetcher owns ingestion (fetchFromEia / fetchFromFred, each throws on failure) - BrentPricePredictor owns prediction and marks latest brent_prices row as generated - oil:fetch command tries EIA, falls back to FRED, fails loudly if both fail - oil:predict command prompts if latest price already has a prediction; --force bypasses - add prediction_generated_at column to brent_prices - delete OilPriceService (replaced by the two focused services)
The file is empty.
Description
Languages
PHP
60.5%
Vue
14.8%
Blade
14%
HTML
9.2%
JavaScript
1%
Other
0.5%