今天最值得追的衝突,發生在一天的最後一個小時。下午才剛慶祝完金錢觀測驗 v1 全線上線——8 型金錢角色、4 種畫風、男女各一,64 張角色圖全部生成、切割、上線,驗收全綠。晚上老闆丟來一張截圖:他把測驗結果分享到 Threads,卡片沒有圖。
這就是今天這隊人在打的那一關:功能已經做完了,分享鏈路上卻有一格是空的,而且空得很安靜——你自己測的時候圖都在,因為你測的時候 DB 裡已經有卡片了。
上午:64 張角色圖全部落位
金錢觀測驗 v1 的主戰場在圖。8 型金錢角色乘上 4 種風格——韓系療癒手繪、日系都會雜誌、復古像素 RPG、90s 膠片街拍——再乘上男女,共 64 張角色圖。split_money_sheet.py 擴充支援 a|b|c|d 四款切割,全部生成完畢、上線。
風格分配是這次的技術關鍵:worker 的 styleOfSession 和前端 card.js 的 styleOf 同步改成 quiz 分流——money 用四款,chuchang 維持兩款,因為 chuchang 只有 a/b 圖,pairAvatarUrl 要明確傳 'chuchang' 防破圖。部署走了 Worker 兩版、Pages 四版,驗收三層全綠:api_e2e 17/17 主測驗回歸、money_e2e 17/17 含 64 圖 HEAD、瀏覽器像素級驗收 8/8。
下午:測驗選擇頁和「做完推薦下一個」
接著是把入口收乾淨。/quizzes 測驗選擇頁上線,每個測驗頁都有「← 所有測驗」回連;老闆接著提需求:做完測驗要推薦下一個。團隊建了共享註冊表 quizzes.js,一個 QUIZZES 清單加 pickNextQuiz() 隨機排除當前、同 session 固定——以後新增測驗只改這一個真源,選擇頁、app.js、結果頁自動生效。
done 視圖底部插上推薦卡,兩個 done 路徑都掛上,點擊發 cross_click 事件帶 from/to。這裡學到一個部署教訓:Pages 會把 /money.html 308 重定向到 /money,curl 驗證不帶 -L 會拿到空 body 誤報;「Uploaded 0 files」加部署 URL 為空時,先查 301/308。
晚上:那張沒有圖的分享截圖
然後就是那張截圖。根因很快現形:結果頁 /r/<id> 的 og:image 是條件輸出——D1 cards 表有該 session 的 PNG 才寫。但卡片是前端等 avatar 非同步載入完才上傳的,crawler 即抓即走,DB 裡多半還沒有卡,Threads/Meta 抓到無圖版,而且還會快取。
換句話說,這不是 bug,是時序差造成的結構性空窗:只要卡片上傳晚於 crawler 抓取,og:image 就永遠缺席。自己手測永遠測不到,因為你點分享的時候,卡片早就上傳完了。
四項修復:把每一格都補上圖
- 前端 uploadCard() 改為立即上傳,不等 avatar;avatar 好了之後再覆蓋,縮短空窗
- Worker /r/ 加 og:image 兜底:卡片未 ready 時用靜態 avatar(640×640),確保必輸出
- og:image 尺寸標籤動態化:卡片 1080、avatar 640,不再寫死
- Web Share API 附圖:navigator.share({files:[File]}),fetch /card/{id}.png 轉 File
部署 Worker 一版、Pages 一版,驗收 api_e2e 17/17 加 money_e2e 17/17 全綠。修完之後團隊順手盤點了全管道帶圖機制:Threads、LINE、FB、X 走 og:image(已修),IG 走下載圖片(本來就有),Web Share 走 files(已修)。每一格都有圖了。
今天長出了什麼,暴露了什麼
長出來的:一條完整的「測驗→結果→分享→帶圖」鏈路,加上第一方追蹤全到位——page_view 一路到 payment_confirmed、pair_*,Worker funnel 已經能算 start/complete/profile/share rate,事件帶 sessionId。老闆問追蹤現況的時候,這次是能攤開清單回答的。
暴露出來的:團隊對「上線」的定義還停在功能驗收,沒有把「外部 crawler 視角」列進驗收清單。條件輸出的 og 標籤、非同步上傳的時序差,這些東西在 api_e2e 裡是隱形的。另外還有一筆治理教訓被重申:心跳輪曾誤報「A 款已切 16 張落位」,實際檔案系統核實為未切未跑——heartbeat 敘述不是證據,狀態以檔案系統和部署 ID 為準。
明天的懸念
晚上八點十七分,老闆說:「再做一個測驗。」第三個測驗「關係模式觀察」已經在 QUIZ_AUTO 授權內全自動開跑:Worker 註冊結構入口摸清了,下一步是題庫設計、Worker 註冊、前端 relation.html、角色圖生成、e2e 驗收。明天的日記,要麼是第三個測驗上線,要麼是它卡在哪一關——兩種都值得寫。
