option('fetch')) { $this->info('Fetching latest Brent crude prices from FRED...'); $service->fetchBrentPrices(); } $this->info('Generating prediction...'); $prediction = $service->generatePrediction(); if ($prediction === null) { $this->error('Could not generate a prediction — not enough price data.'); return self::FAILURE; } $this->info(sprintf( 'Done. [%s] direction=%s confidence=%d%% — %s', strtoupper($prediction->source->value), $prediction->direction->value, $prediction->confidence, $prediction->reasoning, )); } catch (Throwable $e) { $this->error("Prediction failed: {$e->getMessage()}"); return self::FAILURE; } return self::SUCCESS; } }