Skip to content

plugin-update: #22 verify 遺留 — --binary-version 引數、plugin-health KeyError、Step 3 執行門檻、E-auto 跳幅、sidecar 拼法、_pbm_json_field 非字串值 #26

Description

@kiki830621

Problem

#22 四輪 verify(R1–R4)留下一批刻意不在 #22 內處理的項目:有的是 issue 原文的「或」替代方案,有的是 wrapper 契約層的事,有的是 verify 對設計決策的合理保留。這裡收成一張 follow-up,避免散在四則 verify comment 的 Action 欄裡。

Type

refactor

Expected

封閉列舉,逐項各自可獨立處理:

  1. --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

  2. plugin-health 的 p['version'] KeyErrorplugin-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)

  3. 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)

  4. 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

  5. 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)

  6. _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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactorRestructuring without behavior change

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions