Spaces:
Running
Running
| # 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`). | |