⚠️ 固化 SOP

📋 部署流程紀律

固化時間:2026-04-24|ERR-068 + ERR-069

🔄 強制 SOP:tomemo → updatememo → deploy

所有文件部署必須走完整流程,不得跳步、不得主動「順便做完」。

步驟 動作 說明
① tomemo 生成標準化 HTML 從源文件(docx/txt)製作成品 HTML
② updatememo 四向同步 ① memodata.json ② memodata.html 四陣列 ③ index.html 導航卡 ④ HTML 檔案本體
③ deploy 部署上線 wrangler pages deploy

🔴 固化教訓 #ERR-068

updatememo 中 memodata.json 追加使用 replace_in_file 時,必須先讀取末尾確認最後一筆記錄的完整內容作為 old_str,不可假設 id 直接替換。

✅ 防呆 SOP(五步)
  • Step 1:讀取 memodata.json 倒數 15 行,確認現有最後一筆記錄的 id(如 tmemo-078)
  • Step 2:確認本筆記錄的序號(078 + 1 = 079)
  • Step 3:完整複製最後一筆記錄的 JSON 結構作為 old_str(包含所有字段)
  • Step 4:new_str = 完整舊記錄 + 逗號 + 完整新記錄 + 換行 + ] + 換行 + }
  • Step 5:驗證 JSON 有效性(python -c "import json; json.load(open('memodata.json'))")

🟠 固化教訓 #ERR-069

memodata.html 有 localStorage 覆蓋風險,完成 deploy 後必須主動告知「請用無痕視窗驗證」。

⚠️ memodata.html 有兩套並行數據(必須同時同步更新)
static arrays[](寫死在 HTML 中)
memodata.json(動態數據)
static arrays[] memodata.json index.html 導航卡 HTML 檔案本體

✅ = updatememo 已同步 ❌ = 需手動同步

🔄 四向同步範圍(updatememo 必須全部執行)

# 同步位置 同步內容
memodata.json 新增 id/source/title/size 條目,total_count++
memodata.html memos[] + plans[] + backups[] + journals[] 四個靜態陣列全部追加
index.html 在相應分類區塊插入導航卡片( 標記後)
HTML 檔案本體 wrangler pages deploy 上傳至 Cloudflare Pages

🚫 四項禁止行為

tomemo 後直接 upload-html(跳過 updatememo)
只更新 memodata.json,不同步 memodata.html 四個靜態陣列
只更新 memodata.html,不寫入 memodata.json
主動「順便優化」workskm(雙站一致化原則:改 aiforall → 覆蓋 workskm → 分別部署)

✅ deploy 後驗證標準