Skip to content

chore: drop recommend stub, record prod deploy + smoke test in TODO - #16

Merged
MichaelJShepherd merged 4 commits into
mainfrom
claude/todo-review-qiwnfo
Jun 10, 2026
Merged

chore: drop recommend stub, record prod deploy + smoke test in TODO#16
MichaelJShepherd merged 4 commits into
mainfrom
claude/todo-review-qiwnfo

Conversation

@MichaelJShepherd

Copy link
Copy Markdown
Owner
  • Delete the unused recommend edge function stub and its test: the
    decision is that scoring stays client-side in quiz.service.ts
    (task 17 resolved); remove the stale README note about the stub
  • Task 2 (infrastructure finish-up) moved to Done: production
    pipelines/environments are set up and deployed; staging is
    postponed to save money
  • Task 16 (book in-progress/completed statuses) dropped: it depended
    on a Goodreads write-back API that no longer exists
  • Task 13: production smoke test and real-TBR validation done;
    only the discrete spec analytics events remain

https://claude.ai/code/session_01TWXVdYN2b36aLa598ur35t

claude added 4 commits June 10, 2026 05:35
- Delete the unused recommend edge function stub and its test: the
  decision is that scoring stays client-side in quiz.service.ts
  (task 17 resolved); remove the stale README note about the stub
- Task 2 (infrastructure finish-up) moved to Done: production
  pipelines/environments are set up and deployed; staging is
  postponed to save money
- Task 16 (book in-progress/completed statuses) dropped: it depended
  on a Goodreads write-back API that no longer exists
- Task 13: production smoke test and real-TBR validation done;
  only the discrete spec analytics events remain

https://claude.ai/code/session_01TWXVdYN2b36aLa598ur35t
Frontend:
- Route ImportService through ApiClientService (which owns transport
  per the architecture rules) instead of calling supabase functions
  directly; switch ApiClientService to inject() for consistency
- Derive ScrapedBook from NewBook (Omit<.., 'synopsis'>) and spread it
  when saving, replacing a hand-copied interface and field-by-field map
- SynopsisService: drop the non-null assertion, guard JSON.parse of the
  localStorage cache against corrupt entries, and share one
  EMPTY_DETAILS constant (also reused by ResultComponent)
- QuizService.computePicks: single-pass pipeline instead of the
  two-pass map with a _sort placeholder
- QuizComponent: shared toggleSelection helper for the mood/avoid sets
  and one stepIndex computed behind stepNumber/stepTitle/isStepDone
- Result template: alias accepted/spun/selected books with @if-as,
  removing ~20 non-null assertions

Edge functions:
- Validate SUPABASE_URL / SUPABASE_SERVICE_ROLE_KEY instead of non-null
  assertions; simplify the scraper's cover_url fallback

No behavior changes; 24 unit tests and the production build pass.

https://claude.ai/code/session_01TWXVdYN2b36aLa598ur35t
Formatting only — line wraps, arrow parens, and indentation per the
repo's .prettierrc. No code changes; tests and production build pass,
and prettier --check is now clean for all ts/html/css under src.

https://claude.ai/code/session_01TWXVdYN2b36aLa598ur35t
Add format / format:check npm scripts and run the check in the
frontend-test workflow before unit tests, so formatting drift fails CI.

https://claude.ai/code/session_01TWXVdYN2b36aLa598ur35t
@MichaelJShepherd
MichaelJShepherd merged commit 21f4642 into main Jun 10, 2026
2 of 3 checks passed
@MichaelJShepherd
MichaelJShepherd deleted the claude/todo-review-qiwnfo branch June 10, 2026 06:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants