docs: HANDOFF update — TICKET-008 complete, v1 feature-complete
This commit is contained in:
+24
-2
@@ -20,11 +20,33 @@ pending user testing), and OpenFoodFacts lookup/search.
|
|||||||
| 005 Frontend daily view | ✅ done, QA passed | `b69661c` |
|
| 005 Frontend daily view | ✅ done, QA passed | `b69661c` |
|
||||||
| 006 OFF + barcode scan/search flows | ✅ done, QA passed (backend `32461b7`, frontend below) | `32461b7` + frontend |
|
| 006 OFF + barcode scan/search flows | ✅ done, QA passed (backend `32461b7`, frontend below) | `32461b7` + frontend |
|
||||||
| 007 Meals (from-log, unpack, recursion) | ✅ done, QA passed | `a8aed9a` + `7db6484` |
|
| 007 Meals (from-log, unpack, recursion) | ✅ done, QA passed | `a8aed9a` + `7db6484` |
|
||||||
| 008 Food library view + restore | ⬜ **next** | — |
|
| 008 Food library view + restore | ✅ done, QA passed | `0c239cd` + `731e541` |
|
||||||
|
|
||||||
Test counts at HEAD: backend **174 passed** (`cd backend && uv run pytest`),
|
**All milestones M1–M4 COMPLETE — v1 feature-complete.**
|
||||||
|
|
||||||
|
Test counts at HEAD: backend **180 passed** (`cd backend && uv run pytest`),
|
||||||
frontend **23 vitest passed** + `npm run build` green.
|
frontend **23 vitest passed** + `npm run build` green.
|
||||||
|
|
||||||
|
## TICKET-008 notes (session 3, continued)
|
||||||
|
|
||||||
|
- Backend: `POST /api/foods/{id}/restore` (idempotent — restoring a live food
|
||||||
|
returns it unchanged; 404 unknown id; nutrition/created_at/history intact).
|
||||||
|
- Frontend: `FoodLibrary.svelte` (was a scaffold placeholder) — search,
|
||||||
|
limit/offset pagination (fetches PAGE_SIZE+1 to detect next page),
|
||||||
|
include_deleted toggle, confirm-then-soft-delete, restore. Edit routes
|
||||||
|
through FoodEditor: regular foods get a new edit mode (`food.id` present →
|
||||||
|
`api.updateFood`, preserves `is_meal`); meals route to the ticket-007 meal
|
||||||
|
component editor. Nav via "🍔 Foods" button on dashboard. Editor closes call
|
||||||
|
`refreshDayData()` since food edits retroactively change log rendering (§2.1).
|
||||||
|
- Gotcha fixed: initial load must use `onMount`, not `$effect` — an effect
|
||||||
|
tracks the search-box state and re-fetches on every keystroke.
|
||||||
|
|
||||||
|
## After v1
|
||||||
|
|
||||||
|
Remaining loose ends: phone-camera scan checklist (§8.4, needs Caddy HTTPS +
|
||||||
|
user testing), README.md user edit uncommitted (user's call), deferred spec §5
|
||||||
|
items (deployment, CSV export, extra nutrients in UI, PWA manifest).
|
||||||
|
|
||||||
## TICKET-007 notes (session 3)
|
## TICKET-007 notes (session 3)
|
||||||
|
|
||||||
- Backend: `routers/meals.py` (from-log, unpack, PUT components — each one
|
- Backend: `routers/meals.py` (from-log, unpack, PUT components — each one
|
||||||
|
|||||||
Reference in New Issue
Block a user