coastwise / BACKLOG.md
Stephen Lee
docs: add backlog and handoff notes for next session
55bb211
|
Raw
History Blame Contribute Delete
3.93 kB
# CoastWise — Backlog & Handoff
Last updated: 2026-06-15. Picks up after the UI redesign + first deploy.
## Shipped (2026-06-15)
- **UI/UX redesign** ("Ocean & Trust"): custom teal/navy Gradio theme (Lexend +
Source Sans 3), branded header with offline-ready badge, status-badge answer
cards, "How CoastWise reached this answer" disclosure, example chips, embedded
Ask button inside the search field, top source bar ("Sources updated … ·
freshness") with a compact refresh icon button, light/dark pairing, responsive
+ WCAG-minded contrast/focus.
- **Gradio 6 correctness**: theme/css applied via `launch()` (ignored on
`gr.Blocks` in v6); answer text uses adaptive `--body-text-color` (Gradio
mangles `.dark` custom selectors and `.prose *` outranks single-class colors);
`sdk_version: 6.18.0` pinned so the Space can't fall back to v5.
- **Offline-first Refresh**: bounded, concurrent fetch (≤3s) that never hangs the
UI, with a "Checking…" state and graceful "using last-good cache" messaging.
- **Freshness**: re-stamped the seed cache to 2026-06-15 (reads "current"); the
freshness test is now deterministic relative to the seed time.
- **Copy**: dropped the "CDPH cached evidence:" prefix from advisory answers.
- **Deployed**: GitHub `Mr-Perfection/build-small-hack` (main) and the live HF
Space **build-small-hackathon/coastwise** (themed UI verified live).
## Backlog (next session)
Priority order for the 2026-06-15 23:59 UTC submission:
1. **Demo video** — record the ~90s demo path; link it in the README
("Demo And Public Evidence").
2. **Social post** — create one; link it in the README.
3. **`openai-codex` badge integrity** — the Space history is currently
Claude-co-authored, **not** Codex. Either drop the `openai-codex` tag from the
README frontmatter, or land genuine Codex-attributed commits before claiming it.
4. **`openbmb` / `tiny-titan` substantiation** — on `main`, MiniCPM is
"disabled/mocked." The real in-process MiniCPM integration lives on the
unmerged `source-derived-qna` branch (see below). Decide how to substantiate
these awards.
5. **Reconcile `source-derived-qna` with the new UI** — that branch has ~10
unmerged commits (in-process MiniCPM interpreter, seed expanded to ~47–78
source-verified species + dynamic refresh, location-asked-in-question UI that
**drops the Beach/coastal-area field**, fuzzy place matching, the "dungeness
crab rules" real-values fix). It has a **different `app.py`/UI**, so merging it
will conflict with the redesign shipped today. Plan the merge deliberately
(likely: take the branch's backend/data/model work, re-apply today's UI on top).
## Handoff notes
- **Current Spec Kit plan**: `specs/002-source-backed-qna/plan.md` (+ `tasks.md`).
- **Live Space**: https://huggingface.co/spaces/build-small-hackathon/coastwise
(creating it in the org IS the submission). `stephenlee` is now an org member.
- **HF push**: write token is in `.env` as `HF_WRITE_TOKEN` (gitignored — never
commit it). Push via a git credential helper reading the env var; do not embed
the token in the remote URL. The `space` remote is configured (plain URL).
Docs-only changes go to GitHub only (avoid pointless Space rebuilds).
- **Tests**: `PYTHONPYCACHEPREFIX=/private/tmp/coastwise-pycache .venv/bin/python -m pytest -q`
→ 100 passing. `.worktrees/` is skipped by pytest (dot-dir). `docs/` is gitignored.
- **Stale worktree**: `.worktrees/coastwise-implement` (branch merged into main) is
safe to `git worktree remove`. `.worktrees/source-derived-qna` is the unmerged
feature branch above — keep it.
- **Local preview**: `GRADIO_SERVER_PORT=7860 .venv/bin/python app.py`; verify
rendering with headless Chrome via Playwright (`channel="chrome"`, drive
`?__theme=light|dark`). Playwright + huggingface_hub are installed in `.venv`
(dev only — not in `requirements.txt`).