# T712 — product readiness suggestions generic assign > Status: `done` > Milestone: `M1` · Phase B > Kind: `feat` · Est. change: `~180 lines` ## Goal 在 watch 設定中顯示產品資料完整度、建議詞依據,並提供舊 generic watch 一次性補綁。 ## Depends on - T710、T711 ## Inputs - `../spec.md` §4.1、§4.6 - Product 的 context/pain points/tags/capability/exclude fields ## Outputs | 路徑 | 動作 | 說明 | |------|------|------| | `apps/web/src/components/radar/ProductContextReadiness.tsx` | add | 資料完整度與缺口提示 | | `apps/web/src/components/radar/WatchTermSuggestions.tsx` | edit/add | basis kind/text、include/exclude 採用 | | `apps/web/src/pages/RadarWatchesPage.tsx` | edit | generic 補綁與不可換綁狀態 | | `apps/web/src/pages/RadarWatchesPage.test.tsx` | edit | readiness/assign cases | ## Behavior - 建議詞顯示來源,不以產品名稱充當需求證據。 - 資料不足提示但不阻擋 product watch;Brand/Product 本體缺失才阻擋。 - 補綁成功後 selector 只讀;更換產品提示建立新 watch。 ## Out of scope - 後端建議演算法(T741) - Product 編輯器重做 ## Acceptance - [x] generic 可補綁一次,第二次 mock 回 conflict 且 UI 保留原值。 ```bash cd apps/web && npm run test -- RadarWatchesPage && npm run check:tokens ``` Implementation result (2026-08-10): added readiness checks, suggestion basis display, product-context suggestion requests, and a one-time generic watch assignment flow with unavailable resume protection.