Skip to content

Daily Work Log (L2 Tasks)

Use Case: "Minor" tasks that do not require a full Work Log (e.g., Component Refactors, Small Features, Tech Debt Cleanup). Format: Append new entries to the top.


[2026-02-25] Test Reliability: Dedicated Playwright Port + jsdom Compatibility

  • Context: Full task test was blocked by test-runtime instability and web-server contention while quick-add changes were being finalized.
  • Changes: frontend/playwright.config.js (moved Playwright web server to dedicated 127.0.0.1:${PLAYWRIGHT_WEB_PORT:-4173}), frontend/package.json + bun.lock (pinned jsdom to 26.1.0 for stable vitest/jsdom startup), frontend/src/features/dashboard/components/QuickAddRecents.tsx (fixed hook-order early return regression surfaced by e2e).
  • Verification: task test:e2e, task test, task lint (all passing).

[2026-02-26] AppSync Eval Reliability: Fallback from Broken node-jq to jq

  • Context: Pre-commit run-tests was failing in test:appsync:eval with false "Non-JSON output" errors because local node-jq existed but its bundled jq binary was missing (ENOENT).
  • Changes: scripts/evaluate_appsync.sh (added jq candidate health check and fallback order so script uses a working parser, e.g., system jq).
  • Verification: task test:appsync:eval (all resolver checks returned OK).

[2026-02-25] Dashboard Date Navigation: Add "Today" Button

  • Context: Date navigation had previous/next controls but no direct return-to-today action, requiring extra clicks after browsing past days.
  • Changes: frontend/src/pages/Dashboard.tsx (added Today navigation button with Go to Today action and disabled state when already on the current logical day), frontend/src/features/dashboard/__tests__/MealLoggingIntegration.test.tsx (added navigation behavior coverage).
  • Verification: bun run typecheck (frontend), task lint:md.

[2026-02-25] PM2 Workflow for Frontend + Docs Dev Servers

  • Context: Added a process-manager workflow so both local dev servers (Vite frontend + MkDocs docs) can be started, monitored, and stopped together without tmux.
  • Changes: ecosystem.config.cjs (new PM2 app definitions for task dev and task docs with repo-local logs), Taskfile.yml (new pm2:start, pm2:restart, pm2:status, pm2:logs, pm2:stop tasks), docs/index.md and docs/notes/setup_guide.md (usage docs and command references).
  • Verification: task -l, task pm2:start, task pm2:status, task pm2:stop.

[2026-02-11] AppSync Shared Resolver Runtime Hotfix

  • Context: ResolveUserContextFunc was refactored into shared pipelines to remove repeated identity parsing logic, but it remained bound to a DynamoDB data source while returning {} in request, which can trigger AppSync runtime resolver errors before downstream steps execute.
  • Changes: appsync/resolveUserContext.js (switched from return {} to runtime.earlyReturn({}) to explicitly no-op data source invocation), appsync/__tests__/resolveUserContext.test.js (new regression tests for Cognito/PAT stash mapping, unauthorized path, and response passthrough).
  • Verification: bunx vitest run appsync, bun run lint:appsync, ./scripts/evaluate_appsync.sh, sam validate -t template.yaml --lint, sam validate -t template-test.yaml --lint.

[2026-02-11] Backend Deploy Workflow Dependency Install Fix

  • Context: Deploy Backend (SAM) on main failed in sam build for Makefile Lambdas because CI did not install Node dependencies, causing esbuild to fail resolving runtime imports (e.g., zod).
  • Changes: .github/workflows/deploy-backend.yml (added npm ci before sam build).
  • Verification: Workflow logic now installs workspace dependencies prior to custom Makefile bundling, matching local build assumptions.

[2026-02-10] SAM Build Fix for CI (esbuild Not Found)

  • Context: GitHub Actions deploy on main failed during sam build because function Makefiles invoked esbuild directly and CI did not have a global binary installed.
  • Changes: functions/import_guest_history/Makefile, functions/manage_pats/Makefile (auto-detect local/global esbuild, fallback to npx --yes esbuild).
  • Verification: sam build -t template.yaml (passes end-to-end, including both custom makefile Node functions).

[2026-02-10] Relog Timestamp Bug Fix

  • Context: Implemented the fix for relogging behavior so Confirm uses current time by default unless the user explicitly selects a timestamp.
  • Changes: frontend/src/pages/Dashboard.tsx (Relog now strips createdAt before staging), frontend/src/features/dashboard/__tests__/MealLoggingIntegration.test.tsx (regression coverage for relog payload), frontend/src/hooks/useMeals.ts (kept JSON createdAt fallback for non-relog backdated entries).
  • Verification: cd frontend && bunx vitest run src/hooks/__tests__/useMeals.test.tsx src/features/dashboard/__tests__/MealLoggingIntegration.test.tsx and cd frontend && bunx playwright test tests/guest-mode.spec.js -g "navigates dates and isolates logs" --project=functional-desktop --project=functional-mobile --reporter=list (passes).

[2026-02-10] Relog Timestamp Regression Capture

  • Context: Found a bug where clicking Relog on an existing meal and confirming without changing time reuses the original meal timestamp instead of defaulting to the current time.
  • Changes: frontend/src/features/dashboard/__tests__/MealLoggingIntegration.test.tsx (new relog-specific regression test).
  • Verification: Reproduced in local flow first, then encoded and fixed via the relog payload path.

[2026-01-17] Master Plan Refinement (FTUE Priority)

  • Context: Refined Phase 2 to emphasize the "First-Log Experience" as the primary "Aha!" moment driver, subordinating visual hierarchy as a supporting task.
  • Changes: docs/project_management/index.md.
  • Verification: Logical review of the roadmap phases.

[2026-01-03] Example Task

  • Context: Refactoring the Header component to use Tailwind classes instead of CSS modules.
  • Changes: src/components/Header.jsx, src/index.css.
  • Verification: Visually verified on desktop and mobile breakpoints.