diff --git a/scripts/api.py b/scripts/api.py index b69e5a6..e0f1d6d 100644 --- a/scripts/api.py +++ b/scripts/api.py @@ -50,7 +50,7 @@ DEFAULT_SETTINGS = { "show_sources": True, "dream_hour_utc": 8, "dream_minute_utc": 0, - "dream_mode": "nrem", + "dream_mode": "pipeline", "ingest_hour_utc": 2, "ingest_minute_utc": 30, "share_time": True, @@ -1105,16 +1105,25 @@ async def corpus_reconcile(request: Request, background_tasks: BackgroundTasks, scheduler = BackgroundScheduler() def run_dream_job(): - """Runs nightly dreamer — full interdependent pipeline, no mode flag.""" + """Runs nightly dreamer at the mode set in settings.json (default: pipeline).""" try: import subprocess + settings = load_settings() + mode = settings.get("dream_mode", "pipeline") + valid_modes = {"pipeline", "nrem", "early-rem", "late-rem"} + if mode not in valid_modes: + print(f"Dreamer: invalid dream_mode={mode!r}; falling back to pipeline") + mode = "pipeline" dream_script = str(Path.home() / "aaronai" / "scripts" / "dream.py") + cmd = [PYTHON, dream_script] + if mode != "pipeline": + cmd += ["--mode", mode] result = subprocess.run( - [PYTHON, dream_script], + cmd, cwd=str(Path.home() / "aaronai"), capture_output=True, text=True, timeout=600 ) - print(f"Dreamer completed: {result.stdout[-200:] if result.stdout else 'no output'}") + print(f"Dreamer completed (mode={mode}): {result.stdout[-200:] if result.stdout else 'no output'}") if result.returncode != 0: print(f"Dreamer error: {result.stderr[-200:] if result.stderr else 'unknown'}") except Exception as e: