#!/bin/sh # stage-ok.sh — **leo 親自確認 stage 沒問題**。出貨的第二把鑰匙。 # # 🔴 為什麼有這支(leo 2026-08-08,同一天講了兩次): # 「以後你在 stage 驗證後**要交給我驗證**,如果 stage 完全沒問題,**才能推 prod**, # 今天你沒給我看 stage,**我應該在 stage 安裝一次確認成功**。」 # 「**你自己的測試就是有問題,為什麼推 prod**」 # # 那天發生什麼(這支存在的理由,別刪這段): # 總管宣稱「stage 五項驗收全通」就推了 prod。但那五項全是 # **API 回應、JSON 欄位、頁面原始碼裡有沒有某個字串**—— # **沒有任何一項是「人能不能登進去」**。 # 當晚 leo 真的去按登入,看到「連線中斷——請檢查網路後重試」; # 總管自己的瀏覽器 probe 也是同一個失敗。 # ⇒ **我的驗證方式對「這東西能不能用」是結構性失明的**, # 再多自我驗證也補不上——只有真人走一遍才補得上。 # # ⇒ 出貨從此要兩把鑰匙,**都在 leo 手上**: # ① 本支:他在 stage 真的裝一次/用一次,確認沒問題 # ② github-arm.sh:發射保險 # 總管**兩把都造不出來**,這是刻意的。 # # 用法(leo 跑): # scripts/stage-ok.sh "<你在 stage 確認了什麼>" [有效小時數,預設 6] set -eu NOTE="${1:-}" HOURS="${2:-6}" if [ -z "$NOTE" ]; then cat >&2 <<'EOF' 用法:scripts/stage-ok.sh "<你在 stage 確認了什麼>" [有效小時數,預設 6] 例: scripts/stage-ok.sh "stage 裝了一次,能登入、首頁數字對得起來、匯出診斷檔正常" 6 📌 這是「**你**在 stage 上親自確認過」的紀錄,不是 AI 的自我驗證。 AI 造不出這個檔——那是刻意的。 EOF exit 1 fi STAMP=/tmp/.stage-ok-by-leo now=$(date +%s) { echo "$now" echo "$NOTE" echo "confirmed_at=$(date '+%Y-%m-%d %H:%M:%S')" echo "valid_hours=$HOURS" } > "$STAMP" echo "✅ 已記錄:leo 在 stage 確認過,有效 ${HOURS} 小時" echo " 內容:$NOTE" echo " 撤銷:rm $STAMP"