From e77ed38ebf121d8002faf5486c9e2e8080498401 Mon Sep 17 00:00:00 2001 From: Torres Date: Thu, 12 Nov 2026 14:35:15 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20BACKLOG=20=E2=80=94=20gallery=20mirror?= =?UTF-8?q?=20gap=20(galleries=20not=20locally=20hedged;=20primaries=20onl?= =?UTF-8?q?y)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/BACKLOG.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/BACKLOG.md b/docs/BACKLOG.md index 1e47002..76fbbab 100644 --- a/docs/BACKLOG.md +++ b/docs/BACKLOG.md @@ -12,8 +12,8 @@ Glenn's words: *"Going to go through a laundry list of fixes before we do lets s ### UI changes 1. **Tap flow — info first, then photos.** Center tap opens the fullscreen **bike data view** (today it opens the photo); tapping the photo there opens the fullscreen **image viewer**. Side taps keep flipping photos on the card. Esc/back pops viewer → data → deck. Resolves "can't get info unless I hit the ⓘ button." Revisit `UI-SPEC.md` §11 tap map before build (v1.1 spec bump). -2. **Photo fit: fill → contain.** Show photos uncropped — no "zoomed" crops. One CSS property; visual tradeoff = dark letterbox bars. *Open question:* viewer only, or the card stack too? (Cards = the approved full-bleed look; recommendation: contain in the viewer, cards stay full-bleed.) -3. **Rubric display goes minimal.** Show ONLY the gas-tank gauge + percent full (e.g. "76%"); drop the rest of the rubric-fit display in bike views. *(Read as "less cluttered"; confirm wording at spec time.)* +2. **Photo fit: fill → contain.** Show photos uncropped — no "zoomed" crops. One CSS property; visual tradeoff = dark letterbox bars. *Open question:* viewer only, or the card stack too? Explained to Glenn 2026-11-12 with a 3-panel demo (fill vs contain vs contain+blurred backdrop — `~/dev/bike-tinder-demos/fit-vs-fill.html`); awaiting his choice. +3. **Rubric display goes minimal.** Show ONLY the gas-tank gauge + percent full (e.g. "76%"); drop the rest of the rubric-fit display in bike views — **plus a setting that re-enables the full "why" breakdown for debugging** (Glenn, 2026-11-12; wire via the existing `prefs` key/value API — same pattern as `forge_mode`). ## Analytics phase (post-1.1; notes per Glenn 2026-11-12) @@ -25,6 +25,10 @@ Glenn's words: *"take in just about all interactions… how long I have looked a - **Reset:** its own phase (separate from v1.1), paired with a from-scratch DB reset so telemetry starts clean on the new ledger. Scope to confirm: wipe swipes + events + profile only (listings/catalog stay — re-import is idempotent); legacy data stays in `data/backup/` archives. - **Open questions:** reset scope; raw events forever vs aggregate-and-prune; include list-browsing events; surface any of it in the UI (probably not). +## Gallery mirror gap (found 2026-11-12, filing for a later phase) + +Verified while preparing the fit/fill demo: the local image mirror (`data/img/{id}.webp`) holds **primaries only**. Gallery photos beyond the first (`/img/{id}?i≥1`) serve a **302 redirect to the Kijiji CDN** — not hedged locally. If an ad is deleted we keep photo 1, but the gallery (often where the good shots are) is gone. Fix options for a later phase: mirror galleries on import/first-touch (estimates in the B1 notes: roughly +350–600 MB for the full catalog — fine for the mirror volume), keep the redirect as fallback. Not urgent; filed so it is not forgotten. + ## 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).