diff --git a/app/api.py b/app/api.py index 63cba69..38ca71b 100644 --- a/app/api.py +++ b/app/api.py @@ -633,7 +633,9 @@ def create_app(db_path, img_dir, state_dir=None): @app.post('/api/agent/run') def agent_run(body: dict): - source = body.get('source', 'mock') if isinstance(body, dict) else 'mock' + source = body.get('source') if isinstance(body, dict) else None + if source is None: + source = 'live' if live_configured() else 'mock' if source not in ('mock', 'live'): raise HTTPException(status_code=400, detail='source must be mock|live') diff --git a/docs/BACKLOG.md b/docs/BACKLOG.md index 578eced..ccc33ab 100644 --- a/docs/BACKLOG.md +++ b/docs/BACKLOG.md @@ -2,6 +2,10 @@ Glenn's "later versions" idea queue. He drops ideas in conversation; they land here (near-verbatim + a scope sketch + open questions), and get built in a future version — never mid-phase. Newest first. +## Dry-pool UX + agent feedback (noted 2026-11-12) + +Glenn hit a fully-reviewed catalog: 563/563 actives decided → fresh pool = 0 → forges returned 2-card returns-only sections ("stuck on a couple bikes"), and "Run agent now" looked inert (a pass ran, but the deck can't change without fresh listings). Possible polish: (a) report/forge state says "catalog fully reviewed — fresh listings arrive with the next import" instead of silently dripping 2 cards; (b) agent button shows a richer confirmation (profile version + lean delta); (c) re-open "second look" eligibility or widen the wildcard pool when the catalog is dry; (d) a "review your Maybes" shortcut at exhaustion. Related: the nightly import + nightly agent read make the pool self-refreshing (Phase 4). + ## B1 · Photo experience v2 — multi-image galleries, photo swipe, fullscreen viewer **Queued 2026-11-10** (during the P3 build; for the version after it). **PULLED FORWARD 2026-11-10; SHIPPED 2026-11-11 — built, verified (walk 390/390, selfcheck 31/31), LIVE on :9453; see `PLAN.md`.** Spec frozen in `UI-SPEC.md` §11 + `DATA-MODEL.md` B1 additions.