option('lookback-hours')); $staleMinutes = max(1, (int) $this->option('stale-minutes')); $limit = max(1, (int) $this->option('limit')); $job = $detector->scanAndRecord( now()->subHours($lookbackHours), now(), $limit, $staleMinutes, ); if ($job === null) { $this->info('No wallet transfer discrepancies found.'); return self::SUCCESS; } $summary = $job->summary_json ?? []; $this->info(sprintf( 'Created reconcile job %s | items: %d | mismatches: %d', $job->job_no, (int) ($summary['item_count'] ?? 0), (int) ($summary['mismatch_count'] ?? 0), )); return self::SUCCESS; } }