Skip to content

macdoc CLI binary auto-install via registered session-start hook#125

Merged
kiki830621 merged 3 commits into
mainfrom
idd/114-cli-auto-install
Jul 2, 2026
Merged

macdoc CLI binary auto-install via registered session-start hook#125
kiki830621 merged 3 commits into
mainfrom
idd/114-cli-auto-install

Conversation

@kiki830621

Copy link
Copy Markdown
Collaborator

Refs #114

Stacked PR:base = idd/118-doc-refresh(PR #123)。上游 merge 後自動 retarget。

Summary

  • CLI v0.5.0 released(signed + notarized、arm64-only — CLI 依賴 MLX,Apple Silicon 專屬)
  • plugins/macdoc/hooks/session-start.sh + hooks.json 註冊(verify 抓到死 hook BLOCKING):版本比對(5s alarm probe、檔案重導向防 pipe 卡死)→ 強制 sha256 + Developer ID 驗證 → 裝 ~/bin;session fail-soft / artifact fail-closed
  • scripts/release-cli.shMCP release pipelines: add pre-upload signature-verification gate (verify follow-up from #112) #119 模板 arm64 改編);shell 1.2.0 + binary_version 0.5.0 + CHANGELOG/SKILL/marketplace 同步

Verification

DEGRADED engine(Opus quota 撞頂:requirements + Codex + coordinator fallback ×4 — 詳見 issue #114 Verify comment 的 Process Gaps)。BLOCKING 與 HIGH 均已修復並實測(hang 自癒、快路徑 69ms)。quota 重置後可補跑完整 ensemble。

Checklist

  • Diagnose
  • Implement (3 commits + release v0.5.0)
  • Verify PASS(degraded engine,process gaps 已標記)
  • Verify-gated: ready to merge → after merge, run /idd-close to finalize (manual gate; no auto-close trailer)

🤖 Generated by /idd-all. Do NOT add a GitHub close trailer (Closes/Fixes/Resolves).

- CLI v0.5.0 released (Developer ID signed + notarized, arm64-only —
  the CLI depends on MLX which is Apple Silicon exclusive; universal
  build is structurally impossible, not a compromise)
- scripts/release-cli.sh: #119 hardened template adapted (single-arch
  gate) for future CLI releases
- plugins/macdoc/hooks/session-start.sh: compares macdoc --version to
  plugin.json binary_version; missing/mismatch -> download + MANDATORY
  sha256 + Developer ID requirement verify (same ruler as wrappers and
  release gate) -> install to ~/bin (deliberate: CLI is a PATH tool,
  #117's .bin-cache rationale doesn't apply). Session fail-soft,
  artifact fail-closed. E2E: fresh install / 44ms fast path / fail-soft
- shell 1.1.0 -> 1.2.0 + binary_version 0.5.0; CHANGELOG; SKILL.md;
  marketplace sync

Refs #114
Verify requirements BLOCKING: hooks are NOT auto-discovered by filename
— without hooks/hooks.json the auto-install hook was dead code (format
per che-ical-mcp precedent, the plugin whose SessionStart demonstrably
fires). Also release-cli.sh notes self-reference nit.

Refs #114
Codex V114 findings: HIGH-1 --version probe now runs under a 5s perl
alarm writing to a FILE (a killed probe's grandchildren holding an
inherited pipe fd stalled command substitution far past the alarm —
empirically reproduced with a sleep-300 plant; file redirection makes
the hang self-heal into a verified reinstall). M-2 semver-token
normalize + loop-guard sidecar prevents banner-format re-download
loops. M-3 hooks.json command quoted. M-4 release-cli.sh header
pipeline text aligned to arm64. M-5 unset-HOME guard before set -u
expansion. Job-control alarm noise suppressed.

Refs #114
@kiki830621 kiki830621 force-pushed the idd/114-cli-auto-install branch from 556f122 to bcb08fd Compare July 2, 2026 12:57
@kiki830621 kiki830621 merged commit 2dc65cb into main Jul 2, 2026
@kiki830621 kiki830621 deleted the idd/114-cli-auto-install branch July 2, 2026 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant