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](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.