Leo
|
2876cb295d
|
merge: 移除自造的待驗單機制,改由 Gitea 原生三格承接(inkstone/ISEP#62)
順序刻意是先 #58 後 #62:新機制(comment-carries-task-guard/baton-handback-guard/
scripts/ticket 的 subtask)先到位,舊機制才拆,main 上不存在「舊的拆了、新的沒到」的真空。
衝突只有 .claude-plugin/plugin.json:
- version 依 inkstone/ISEP#59 comment 4763 的裁決收斂成 0.6.0(四張 PR 各自宣告的作廢)
- description 的數字不採信任何一邊,改成併完後當場數出來的 48 支/59 條
一併把 docs/hooks-inventory.md 與 README.md 的同一組數字改成實數結果
(原本各寫 58/57,都是用加減兜出來的)。
|
2026-08-27 17:59:43 +08:00 |
|
Leo
|
67dae3b814
|
推送閘改成判目標,不判整條指令裡有沒有那個字
一個晚上誤攔六次,全都不是在推預設分支:
① checkout -b 建新分支時把預設分支寫在後面,再推那條新分支
② gh pr create 指定 base——根本不是 git push
③ 推 tag(refs/tags/…)
④ 推 feature 分支(帶 -u)
⑤ 它擋住了我用來**測試它自己**的那條指令
⑥ 它擋住了這一筆的 commit——因為 message 裡引用了那幾個字
leo 2026-08-17 早就講過這個形狀:文字層封路必敗,
「紅線寫得越細,命中關鍵字的機率越高 ⇒ 那些閘在懲罰謹慎」。
舊版掃整條指令字串,正是文字層。
改成解析 push 的目標 refspec:
旗標跳過/第一個非旗標=remote/a:b 取 b/refs/tags/* 不算分支
一個 refspec 都沒給,才退回看當前分支
八向實測(hooks/tests/main-and-prod-push-guard.test.sh,8/8):
五種該放行的(今晚誤攔的原形狀,含分支名帶 domain 那種)全過
三種該擋的全擋
中途自己抓到一個 bug:tag 被跳過後目標清單變空 → 退回猜當前分支
⇒ 當前分支剛好叫預設名時誤擋。改成看到 refspec 就不退回猜測。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-21 01:29:55 +08:00 |
|
Leo
|
291787eaaa
|
TESTING.md B 段整段換掉——舊版在閘全滅時會回綠
2026-08-20 雲端實證:B2/B3/B4 三步在 plugin 完全缺席時**全部通過**。
一個在閘死掉時也會給出正確答案的測試,不是測試。
三處各自為什麼假:
- B2「跑 claude plugin list」→ 要它自己報自己,沒有獨立證據
- B3「Skills (9) / Hooks (5)」→ 那組數字剛好是薄殼自己的 .claude/ 產生的
- B4「git tag -a v9.9.9」→ git tag 在三支閘的白名單裡
新版三步都改成有鑑別力的:
- B2 找 v0.3.0 新增的載入信標(那支腳本住在 plugin 裡,沒載入就不可能發聲)
- B3 看 setup script 的自我驗證輸出(v0.3.0 新增)
- B4 改用金鑰佔位符觸發 credential-only-guard(不在任何白名單上)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-20 23:02:47 +08:00 |
|