fix: address codex round 2 — revert harvest break + allow lookback 0

- harvest.py: revert break to continue — mtime ordering can diverge
  from embedded ended_at timestamps (copy/touch), so we must check all
  files rather than early-exiting on the first old one
- cycle.py: use `is not None and > 0` so lookback_hours=0 means
  "scan full history" (opt-out of the cutoff)
- __main__.py: propagate --lookback-hours 0 to config as explicit 0

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
carpedkm
2026-06-20 14:21:18 +00:00
parent 6cc1cd2e95
commit 01075c90d3
3 changed files with 8 additions and 5 deletions
+3 -1
View File
@@ -111,8 +111,10 @@ def _cfg_from_args(args, task_meta: Dict[str, Any] | None = None) -> Any:
overrides["codex_home"] = os.path.abspath(args.codex_home)
if getattr(args, "source", ""):
overrides["transcript_source"] = args.source
if getattr(args, "lookback_hours", 0):
if getattr(args, "lookback_hours", None) is not None and args.lookback_hours != 0:
overrides["lookback_hours"] = args.lookback_hours
elif getattr(args, "lookback_hours", None) == 0:
overrides["lookback_hours"] = 0 # explicit opt-out: scan full history
if getattr(args, "edit_budget", 0):
overrides["edit_budget"] = args.edit_budget
if getattr(args, "max_sessions", 0):