filter_var(env('prescription_analysis.ENABLED', false), FILTER_VALIDATE_BOOLEAN), 'encryption_key' => (string) env('prescription_analysis.ENCRYPTION_KEY', ''), 'start_at' => (int) env('prescription_analysis.START_AT', 0), 'transcript_wait_seconds' => 300, 'debounce_seconds' => 60, 'lease_seconds' => 600, 'max_attempts' => 3, 'max_manual_retries' => 2, 'daily_model_tasks' => (int) env('prescription_analysis.DAILY_MODEL_TASKS', 200), // Analyses of one prescription per day. Regenerating after each change is the normal way to // review a case, so this is a budget guard, not a correctness limit. 'daily_patient_batches' => (int) env('prescription_analysis.DAILY_PATIENT_BATCHES', 20), // Tasks that may run at the same time for one model, so several prescriptions are analysed // concurrently instead of queueing behind each other. Each running task needs its own consumer // process: start this many `php think prescription-ai:work --lane=` instances. 'max_parallel_per_model' => max(1, (int) env('prescription_analysis.MAX_PARALLEL_PER_MODEL', 4)), 'refresh_recent_days' => 7, 'auto_refresh_sources' => true, 'auto_refresh_prescription' => true, 'max_context_bytes' => 8000000, ];