diff --git a/.planning/phases/22-add-from-catalog-thread-integration/22-HUMAN-UAT.md b/.planning/phases/22-add-from-catalog-thread-integration/22-HUMAN-UAT.md new file mode 100644 index 0000000..d6bb595 --- /dev/null +++ b/.planning/phases/22-add-from-catalog-thread-integration/22-HUMAN-UAT.md @@ -0,0 +1,44 @@ +--- +status: partial +phase: 22-add-from-catalog-thread-integration +source: [22-VERIFICATION.md] +started: 2026-04-06T15:00:00Z +updated: 2026-04-06T15:00:00Z +--- + +## Current Test + +[awaiting human testing] + +## Tests + +### 1. Add to Collection from catalog search overlay (collection mode) +expected: Clicking Add on a catalog card in collection mode opens AddToCollectionModal with category dropdown, notes textarea, and purchase price input. Submitting creates the item and shows 'Added to Collection' toast. +result: [pending] + +### 2. Add to Collection from global item detail page +expected: Clicking 'Add to Collection' on /global-items/:id opens AddToCollectionModal with the correct item name pre-filled. Submit creates the item. +result: [pending] + +### 3. Add to Thread (existing thread) from catalog search overlay (thread mode) +expected: Clicking Add in thread mode opens AddToThreadModal with a dropdown listing active threads. Selecting a thread and submitting adds the item as a candidate and shows a toast with the thread name. Subsequent adds pre-select the same thread (session memory). +result: [pending] + +### 4. New Thread creation from thread picker +expected: Selecting '+ New Thread...' in the thread picker switches to create mode showing thread name + category fields. Submitting creates the thread and candidate in one step and shows 'Created [name] with first candidate' toast. +result: [pending] + +### 5. Thread resolution with catalog-linked candidate (CATFLOW-06 regression) +expected: Resolving a thread whose winning candidate has a globalItemId creates a new collection item with the global item link. Verifiable in /collection after resolution. +result: [pending] + +## Summary + +total: 5 +passed: 0 +issues: 0 +pending: 5 +skipped: 0 +blocked: 0 + +## Gaps diff --git a/.planning/phases/22-add-from-catalog-thread-integration/22-VERIFICATION.md b/.planning/phases/22-add-from-catalog-thread-integration/22-VERIFICATION.md new file mode 100644 index 0000000..0c79ef4 --- /dev/null +++ b/.planning/phases/22-add-from-catalog-thread-integration/22-VERIFICATION.md @@ -0,0 +1,172 @@ +--- +phase: 22-add-from-catalog-thread-integration +verified: 2026-04-06T14:30:00Z +status: human_needed +score: 9/9 must-haves verified +human_verification: + - test: "Add to Collection from catalog search overlay (collection mode)" + expected: "Clicking Add on a catalog card in collection mode opens AddToCollectionModal with category dropdown, notes textarea, and purchase price input. Submitting creates the item and shows 'Added to Collection' toast." + why_human: "Full modal submit + toast feedback requires a running browser and authenticated session." + - test: "Add to Collection from global item detail page" + expected: "Clicking 'Add to Collection' on /global-items/:id opens AddToCollectionModal with the correct item name pre-filled. Submit creates the item." + why_human: "Requires browser navigation and session auth." + - test: "Add to Thread (existing thread) from catalog search overlay (thread mode)" + expected: "Clicking Add in thread mode opens AddToThreadModal with a dropdown listing active threads. Selecting a thread and submitting adds the item as a candidate and shows a toast with the thread name. Subsequent adds pre-select the same thread (session memory)." + why_human: "Session thread memory and real-time thread list require a running app with seed data." + - test: "New Thread creation from thread picker" + expected: "Selecting '+ New Thread...' in the thread picker switches to create mode showing thread name + category fields. Submitting creates the thread and candidate in one step and shows 'Created [name] with first candidate' toast." + why_human: "Requires browser, active session, and real category data." + - test: "Thread resolution with catalog-linked candidate (CATFLOW-06 regression)" + expected: "Resolving a thread whose winning candidate has a globalItemId creates a new collection item with the global item link. Verifiable in /collection after resolution." + why_human: "End-to-end resolution flow requires a running app with a seeded catalog-linked thread." +--- + +# Phase 22: Add-from-Catalog & Thread Integration — Verification Report + +**Phase Goal:** Users can add catalog items to their collection and to threads directly from search +**Verified:** 2026-04-06T14:30:00Z +**Status:** human_needed +**Re-verification:** No — initial verification + +--- + +## Goal Achievement + +### Observable Truths + +| # | Truth | Status | Evidence | +|---|-------|--------|----------| +| 1 | Clicking Add on a catalog search card in collection mode opens the AddToCollectionModal | ✓ VERIFIED | `CatalogSearchOverlay.tsx` line 105: `if (catalogSearchMode === "collection") { openAddToCollection(item.id, itemName) }` | +| 2 | AddToCollectionModal shows category dropdown, optional notes, optional purchase price, and submit/cancel buttons | ✓ VERIFIED | `AddToCollectionModal.tsx` — all four form fields present (lines 99–173): category `