Problem
#22 四輪 verify(R1–R4)留下一批刻意不在 #22 內處理的項目:有的是 issue 原文的「或」替代方案,有的是 wrapper 契約層的事,有的是 verify 對設計決策的合理保留。這裡收成一張 follow-up,避免散在四則 verify comment 的 Action 欄裡。
Type
refactor
Expected
封閉列舉,逐項各自可獨立處理:
--binary-version 引數 (plugin-update: binary-backed detection misses binaryVersion, non-wrapper.sh wrappers, missing marketplace version, and the post-release pin bump; Phase 5 never verifies the binary #22 第 3 點的「或」):plugin-update <name> --binary-version x.y.z 直接指定目標 pin,跳過 latest_release_version 查詢——release 剛發、gh 還沒回新 tag,或刻意 pin 非 latest 時用。走同一個 Case E bump fence(NEW_PIN 由引數代入,仍過 allowlist 與 asset 預檢)。(R1 verify LOW plugin-update: #18 R10 遺留 — Step 5 unresolved 語意、commit fence pathspec / 退出碼、Phase 2.5 信號 4 與 SKIPPED 消毒 #24 )
plugin-health 的 p['version'] KeyError (plugin-update: binary-backed detection misses binaryVersion, non-wrapper.sh wrappers, missing marketplace version, and the post-release pin bump; Phase 5 never verifies the binary #22 第 4 點的姊妹):plugin-health 對 marketplace entry 缺 version 的 plugin 會 KeyError;併入 plugin-debug / plugin-deploy 也寫死 plugins/<name> 佈局 (sister concern from #18) #23 的「plugin-deploy / plugin-health 也寫死佈局」名單一起改 .get。(R2 verify LOW #34)
Phase 1.5 Step 3 執行本機 binary version 的門檻 :Step 3 對 hook-only plugin 執行 $HOME/bin/<name> version(從 / 起)。名稱已過 allowlist、只在 hook-only 佈局跑,但「執行 plugin 檔案內容點名的 binary」仍是 plugin-update 唯一會執行第三方 binary 的地方——要不要改成只讀 sidecar、或加 --no-exec,值得單獨決定。(R2 verify MEDIUM)
E-auto 的版本跳幅上限 :unattended 自動 bump 只有 version_gt 單調守門(0.3.0 → 99.0.0 也放行)。是否加一個「major 跳超過 N 就退回 attended」的界線沒有客觀判準,R4 沒做;如果要做,判準寫在 Phase 0.5 封閉列舉 (0) 旁。(R3 verify MEDIUM Step 2.5 的 BLOCK 對 75% 的 wrapper 從沒執行過——抽不到就靜默 continue #17 )
sidecar 拼法是 wrapper 契約 :Phase 5 對照 ~/bin/.<install name>.version;macdoc 的 hook 寫的是 .<name>.installed_version,會永遠 UNVERIFIED(誠實但沒用)。要嘛 wrapper 契約文件(rules/mcp-binary-distribution.md)明訂 sidecar 檔名,要嘛 helper 認第二種拼法。(R3 verify LOW #35)
_pbm_json_field 對非字串值印空 :"binaryVersion": 3 與缺鍵在 helper 輸出上同形(都是空);helper 的「答不出來回 distinct rc」契約在這一點沒守住。要區分需要新的 rc。(R4 verify LOW plugin-update: PLUGIN_DIR 寫死 aggregator 佈局,self-hosted marketplace 會讓 binary gate 靜默失效 #18 )
Actual
六項都不在 #22 的 diff 內;#22 的 verify report Action 欄各自標了 #26 (follow-up)。
Impact
低:#22 的主線(五點)已由 R1–R4 覆蓋;這六項是邊角或契約層,不影響 che-keychain 形 plugin 的 release-after-update 自動鏈。
Refs #22 , #23
Problem
#22 四輪 verify(R1–R4)留下一批刻意不在 #22 內處理的項目:有的是 issue 原文的「或」替代方案,有的是 wrapper 契約層的事,有的是 verify 對設計決策的合理保留。這裡收成一張 follow-up,避免散在四則 verify comment 的 Action 欄裡。
Type
refactor
Expected
封閉列舉,逐項各自可獨立處理:
--binary-version引數(plugin-update: binary-backed detection misses binaryVersion, non-wrapper.sh wrappers, missing marketplace version, and the post-release pin bump; Phase 5 never verifies the binary #22 第 3 點的「或」):plugin-update <name> --binary-version x.y.z直接指定目標 pin,跳過latest_release_version查詢——release 剛發、gh 還沒回新 tag,或刻意 pin 非 latest 時用。走同一個 Case E bump fence(NEW_PIN由引數代入,仍過 allowlist 與 asset 預檢)。(R1 verify LOW plugin-update: #18 R10 遺留 — Step 5 unresolved 語意、commit fence pathspec / 退出碼、Phase 2.5 信號 4 與 SKIPPED 消毒 #24)plugin-health 的
p['version']KeyError(plugin-update: binary-backed detection misses binaryVersion, non-wrapper.sh wrappers, missing marketplace version, and the post-release pin bump; Phase 5 never verifies the binary #22 第 4 點的姊妹):plugin-health對 marketplace entry 缺version的 plugin 會 KeyError;併入 plugin-debug / plugin-deploy 也寫死 plugins/<name> 佈局 (sister concern from #18) #23 的「plugin-deploy / plugin-health 也寫死佈局」名單一起改.get。(R2 verify LOW #34)Phase 1.5 Step 3 執行本機 binary
version的門檻:Step 3 對 hook-only plugin 執行$HOME/bin/<name> version(從/起)。名稱已過 allowlist、只在 hook-only 佈局跑,但「執行 plugin 檔案內容點名的 binary」仍是 plugin-update 唯一會執行第三方 binary 的地方——要不要改成只讀 sidecar、或加--no-exec,值得單獨決定。(R2 verify MEDIUM)E-auto 的版本跳幅上限:unattended 自動 bump 只有
version_gt單調守門(0.3.0 → 99.0.0 也放行)。是否加一個「major 跳超過 N 就退回 attended」的界線沒有客觀判準,R4 沒做;如果要做,判準寫在 Phase 0.5 封閉列舉 (0) 旁。(R3 verify MEDIUM Step 2.5 的 BLOCK 對 75% 的 wrapper 從沒執行過——抽不到就靜默 continue #17)sidecar 拼法是 wrapper 契約:Phase 5 對照
~/bin/.<install name>.version;macdoc 的 hook 寫的是.<name>.installed_version,會永遠 UNVERIFIED(誠實但沒用)。要嘛 wrapper 契約文件(rules/mcp-binary-distribution.md)明訂 sidecar 檔名,要嘛 helper 認第二種拼法。(R3 verify LOW #35)_pbm_json_field對非字串值印空:"binaryVersion": 3與缺鍵在 helper 輸出上同形(都是空);helper 的「答不出來回 distinct rc」契約在這一點沒守住。要區分需要新的 rc。(R4 verify LOW plugin-update: PLUGIN_DIR 寫死 aggregator 佈局,self-hosted marketplace 會讓 binary gate 靜默失效 #18)Actual
六項都不在 #22 的 diff 內;#22 的 verify report Action 欄各自標了
#26 (follow-up)。Impact
低:#22 的主線(五點)已由 R1–R4 覆蓋;這六項是邊角或契約層,不影響 che-keychain 形 plugin 的 release-after-update 自動鏈。
Refs #22, #23