edit | blame | history | raw

M4C-GH-02 安装发现修复

用户目标

接手 M4C-GH-02-INSTALL-DISCOVERY-FIX,修复公开候选安装入口的确定性失败:install-local.sh 能添加 marketplace,但 codex plugin add mindraw@mindraw4agent 找不到 plugin mindraw。要求隔离 HOME/CODEX_HOME 复现、最小修复、重建候选 / manifest / SHA,生成新 Review Request / Gate,并回写统一台账和 PMO_INBOX。

已完成事项

  • 在隔离环境 /tmp/m4c-gh-02-repro-20260712-a 复现 GH-01 候选失败,日志保存到 P2.mindrawforcodex/02-P/M4C-GitHubOpenSource/evidence-m4c-gh-02-20260712/
  • 新建隔离公开候选:
  • /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/M4C-GitHubOpenSource/mindraw4agent-0.1.3-public-source-candidate-GH20260712135055-M4C-GH-02/
  • 修复 public candidate marketplace layout:
  • public repo root 仍作为 Codex local marketplace root。
  • .agents/plugins/marketplace.jsonmindraw plugin source 改为 ./plugins/mindraw
  • plugin runtime 移入 source/plugins/mindraw/
  • root package.json / root scripts/doctor.mjs 改为委托 nested plugin root。
  • 在隔离环境 /tmp/m4c-gh-02-fixed-20260712-a 验证:
  • install-local.sh exit 0
  • codex plugin list 和 restart-equivalent 新进程均显示 mindraw@mindraw4agent installed, enabled
  • uninstall-local.sh exit 0,后续 plugin list 显示 No marketplace plugins found
  • 生成新 candidate manifest、tarball、SHA、Coder 报告和 Review Request。
  • 回写根 INDEX.md、P2 INDEX.md、P2 03-O/C1.source/CODEGRAPH.md、统一台账 02-P/plan-progress.markdown 和本机 02-P/PMO_INBOX.md

核心事实 / 变更快照

  • 变更对象:M4C GitHub public source candidate install discovery layout。
  • 变更前:GH-01 candidate root 直接承载 plugin runtime;Codex CLI 能添加 marketplace,但 codex plugin add mindraw@mindraw4agent 找不到 mindraw
  • 变更后:GH-02 candidate root 承载 marketplace,plugin runtime 位于 source/plugins/mindraw/,marketplace source path 为 ./plugins/mindraw
  • Review Gate:crg-981b219e8011,状态为 requested,尚未复审通过。
  • Candidate tarball SHA256:f90bbfa972b9b1e00fa1dde96804b3353ba01994ad043a8690ad21666f35348b
  • Source tree hash manifest SHA256:5f5cb27aefecfe52733b55767ba5fdf5e88e831f3cf75c60c647f233a6729ace
  • SkillSpector:
  • skill root SAFE / score 0
  • plugin root CAUTION / score 29
  • repo root CAUTION / score 32
  • Loopback smoke:当前 worker sandbox 仍禁止 127.0.0.1 listen,最小 control 和五项 smoke 都以 EPERM 失败;未声明 smoke PASS。
  • 范围边界:未修改 Mindraw App、DMG、installed cache、/Users/ar/plugins/mindraw、canonical plugin source、GitHub remote 或 target-link sidebar scope。

文件变更

  • 新增候选与证据:
  • P2.mindrawforcodex/03-O/C2.builds/M4C-GitHubOpenSource/mindraw4agent-0.1.3-public-source-candidate-GH20260712135055-M4C-GH-02/
  • 新增过程文档:
  • P2.mindrawforcodex/02-P/M4C-GitHubOpenSource/m4c-gh-02-install-discovery-fix-check-20260712.md
  • P2.mindrawforcodex/02-P/M4C-GitHubOpenSource/m4c-gh-02-install-discovery-fix-check-20260712.json
  • P2.mindrawforcodex/02-P/M4C-GitHubOpenSource/m4c-gh-02-review-request-crg-981b219e8011.md
  • 更新索引和台账:
  • INDEX.md
  • P2.mindrawforcodex/INDEX.md
  • P2.mindrawforcodex/03-O/C1.source/CODEGRAPH.md
  • 02-P/plan-progress.markdown
  • 02-P/PMO_INBOX.md

可复用命令 / Runbook

用途:在干净 HOME/CODEX_HOME 中复核 mindraw4agent public source candidate 的 local marketplace 安装发现链路。

前置条件:从 candidate source/ 目录执行;替换路径为当前候选根。

cd /Users/ar/Projects/Mindraw/P2.mindrawforcodex/03-O/C2.builds/M4C-GitHubOpenSource/mindraw4agent-0.1.3-public-source-candidate-GH20260712135055-M4C-GH-02/source
mkdir -p /tmp/m4c-gh-02-fixed-20260712-a/home /tmp/m4c-gh-02-fixed-20260712-a/codex-home
HOME=/tmp/m4c-gh-02-fixed-20260712-a/home CODEX_HOME=/tmp/m4c-gh-02-fixed-20260712-a/codex-home ./scripts/install-local.sh
HOME=/tmp/m4c-gh-02-fixed-20260712-a/home CODEX_HOME=/tmp/m4c-gh-02-fixed-20260712-a/codex-home codex plugin list
env -i PATH="$PATH" HOME=/tmp/m4c-gh-02-fixed-20260712-a/home CODEX_HOME=/tmp/m4c-gh-02-fixed-20260712-a/codex-home SHELL=/bin/zsh codex plugin list
HOME=/tmp/m4c-gh-02-fixed-20260712-a/home CODEX_HOME=/tmp/m4c-gh-02-fixed-20260712-a/codex-home ./scripts/uninstall-local.sh
HOME=/tmp/m4c-gh-02-fixed-20260712-a/home CODEX_HOME=/tmp/m4c-gh-02-fixed-20260712-a/codex-home codex plugin list

静态验证:

npm run check
PYTHONPATH=/Users/ar/.cache/uv/archive-v0/PteCx2P-8sAvyZhLnTSXW python3 /Users/ar/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py plugins/mindraw
node scripts/doctor.mjs --json
node plugins/mindraw/scripts/doctor.mjs --json
skillspector scan plugins/mindraw/skills/mindraw-open-canvas --no-llm --format json --output ../evidence/skillspector-skill.json
skillspector scan plugins/mindraw --no-llm --format json --output ../evidence/skillspector-plugin.json
skillspector scan . --no-llm --format json --output ../evidence/skillspector-repo-root.json
shasum -a 256 -c ../SHA256SUMS

端口类 smoke 在允许 loopback listen 的环境中执行:

npm run smoke
npm run smoke:http
npm run smoke:lifecycle
npm run smoke:mcp
npm run smoke:sidebar

清理 / 恢复:隔离环境只在 /tmp/m4c-gh-02-fixed-20260712-a 下写入;验证结束后可删除该临时目录,不影响正式 Codex HOME。

搜索关键词:M4C-GH-02-INSTALL-DISCOVERY-FIXmindraw@mindraw4agentplugins/mindrawcrg-981b219e8011GH20260712135055

未决问题

  • crg-981b219e8011 需要代码审核员复核后才能进入 public QA 或 GitHub publication / prerelease 决策。
  • 当前 worker 环境 loopback bind EPERM,如 PMO/Reviewer 要求 post-layout smoke,需要派允许本地端口监听的 alternate smoke。

后续建议

  1. PMO 派发 REVIEW-M4C-GH-02 消费 Review Gate crg-981b219e8011
  2. Review 后在允许 loopback 的环境复跑 smoke / HTTP / lifecycle / MCP / sidebar。
  3. 复审和必要 smoke 通过后再派公开候选 QA;在此之前不得创建/推送 GitHub 或公开发布。