reading-list / docs /integration-log.md
pardeep-singh's picture
Deploy polished warm-library UI from main b09a3f3
eab7052 verified
|
Raw History Blame Contribute Delete
6.57 kB

Integration Log

Maintained by the lead. Contract: contract.md.

Board

worker branch status last handoff open issues
add worker/add merged (1cb8132) 95c3b13: POST /api/books + BookCreate validation, 17 tests none
query worker/query merged (66f15df) 99f7b1f: GET /api/books (+filter), PATCH /api/books/{id}, GET /api/stats, 14 tests none
ui worker/ui merged (00ad7a2) 1ec4a34: GET / + single page (add/filter/PATCH/stats/feedback), 12 tests none (browser E2E verified)
tests worker/tests merged (e1c42dc) 3e01771: 44 contract tests, red on skeleton for the right reason (404 missing routes) none
deploy worker/deploy merged (8d051c6) 080b660: uv pinned to 0.8.14; Dockerfile, .dockerignore, README (HF frontmatter), smoke.sh — smoke 8/8 on main's image none
ui-refresh worker/ui-refresh merged (2d79c60), deployed (HF af51a32) 6c43565: Warm library redesign; test_ui 12→23 tests follow-up: polish native controls in add form
ui-polish worker/ui-polish merged (e4855f2), not yet deployed 786bda5: status chips, custom controls, focus/hover/Adding… states, LH initials, canvas favicon; test_ui 23→34 awaiting user OK to redeploy

Log

  • 2026-09-28 — lead: contract approved and written; runnable skeleton committed on main (uv run pytest -q → 1 passed). Merge order: tests → add → query → ui → deploy.
  • 2026-09-28 — lead: worker prompts written (docs/worker-prompts/); five worktrees created under .claude/worktrees/<worker> on worker/<worker> from main; all five workers launched in parallel.
  • 2026-09-28 — lead: tests handoff verified (1 file, black-box, 44 tests, all failing on missing routes). Merged to main as e1c42dc. main is RED: 44 failed, 1 passed — expected; goes green as add and query land.
  • 2026-09-28 — lead: add handoff verified (diff confined to BookCreate, BookStore.add, add.py, test_add.py; lock used). Merged as 1cb8132, clean merge. main: 21 failed, 41 passed — remaining failures are all list/PATCH/stats (query) and GET / (ui).
  • 2026-09-28 — lead: deploy handoff reviewed. Good overall; sent back one fix: pin ghcr.io/astral-sh/uv:latest → 0.8.14 for reproducible HF builds. Merge held until last per merge order.
  • 2026-09-28 — lead: ui handoff reviewed and approved (3 owned files; textContent/DOM only, no innerHTML; contract error rule; failed PATCH reverts select; no external URLs). Held for merge after query. Open: end-to-end browser check once merged.
  • 2026-09-28 — lead: query handoff verified (3 owned areas; lock in all methods). Merged as 66f15df — app/store.py auto-merged cleanly with add's body (0 NotImplementedError left, 4 locked methods). main: 1 failed, 75 passed (only GET /, owned by ui).
  • 2026-09-28 — lead: ui merged as 00ad7a2. main: 88 passed — contract suite fully green.
  • 2026-09-28 — lead: deploy uv-pin fix verified (080b660); merged as 8d051c6. 88 passed. Image built from main; scripts/smoke.sh against the container: 8/8 PASS on a fresh store and again on a populated one.
  • 2026-09-28 — lead: browser E2E against the container (headless Chromium): add with trimming, HTML-in-title rendered as text (0 injected elements), client blank-title message, server 422 shown as "title: String should have at most 200 characters", PATCH + stats refresh, status filter. Only console error is the expected 422 resource log. Next: HF Space deploy — awaiting user approval.
  • 2026-09-28 — lead (user-approved): deployed to public HF Docker Space https://huggingface.co/spaces/pardeep-singh/reading-list (app: https://pardeep-singh-reading-list.hf.space). Uploaded git archive main at 730966e minus .claude/ (HF commit 06b349d). Build → RUNNING. Live scripts/smoke.sh: 8/8 PASS, twice. Live browser E2E: add (trimmed), PATCH + stats refresh, filter — all OK. Space restarted afterwards to clear test data; live store verified empty (total: 0, []).
  • 2026-09-28 — lead: user approved "Warm library" UI redesign (bounded; no API change). Contract UI section clarified (display labels are presentation-only; filter may be a radio tab group with counts from stats). Prompt docs/worker-prompts/ui-refresh.md; worker launched on worker/ui-refresh. Redeploy only after user reviews screenshots.
  • 2026-09-28 — lead: ui-refresh handoff verified (2 owned files; no HTML sinks, no URLs). Merged as 2d79c60. main: 99 passed. Image smoke 8/8. Browser E2E: add (HTML-in-title rendered as text), client blank + server 422 messages, PATCH pill + stats, filter tabs via label click and arrow keys (with wrap), accessible radios "All 7 / To read 2 / …", no 360px overflow. Screenshots desktop/mobile × light/dark + empty state reviewed. Only console error is the expected 422. Redeploy pending user approval.
  • 2026-09-28 — lead: Playwright audit (user-requested). Live (old UI): 8/8 visible controls native. Redesign: 4 still native (add form inputs, #status select, button); pills/tabs custom. Real color_scheme=dark emulation confirms the dark theme.
  • 2026-09-28 — lead (user-approved): redeployed main ee5f908 → HF commit af51a32. Live smoke 8/8; Playwright on live (incl. HF iframe): h1 "My Reading List", no console errors light/dark/ 390px; add, targeted PATCH (pill + tiles 0/1/1), filter tabs + arrow keys OK. Space restarted, live store verified empty. Next (proposed): polish round for the remaining native controls.
  • 2026-09-28 — lead: user asked for a polished version. Bounded, presentation-only. Contract UI note: add-form status may be a radio group. Prompt docs/worker-prompts/ui-polish.md (status chips, no native appearance, focus ring, hover/active/"Adding…" states, article-aware initials, canvas-drawn favicon). Worker launched on worker/ui-polish.
  • 2026-09-28 — lead: ui-polish handoff verified (2 owned files; no HTML sinks/URLs). Merged as e4855f2. main: 110 passed; image smoke 8/8. Playwright 18/18: 0 visible native-looking controls; keyboard Title→Author→chips + ArrowRight; "Adding…" disabled with stable width (112.6px); chip status saved; initials "LH"; form resets to To read; HTML-in-title as text; pill PATCH + tiles (tiles refresh just after toast — confirmed, not a bug); filter tabs; no overflow at 390px light/dark; no console errors; favicon = canvas PNG. Screenshots reviewed. Redeploy pending user approval.