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
62.5%
Blade
15.3%
Vue
13.4%
HTML
7.5%
JavaScript
0.9%
Other
0.4%