Repository navigation
fix(skill): point manifest installers at the Node CLI - #187
Open
titanwings wants to merge 1 commit into
Open
titanwings wants to merge 1 commit into
titanwings wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
生成的 manifest.json 把宿主安装指到已经不在树里的 Python 脚本。安装动作已经由 Node CLI 完成。这条 PR 让新 manifest 写出可执行的安装命令。栈停在 dot-skill-test,dot-skill 保留。
Scope
install.installers 改为对象数组。每个元素是 host 与 command。host 取自 src/hosts/agents.mjs 的八个 id。command 是 node bin/distilly.mjs install 加上该 host。skill create 与 skill update 都经 buildManifest 写出同一组命令。skill migrate 不改安装器字段。旧 manifest 不迁移。
改动文件如下。
Blast Radius
只影响此后 skill create 与 skill update 写出的 manifest。已有目录里的旧安装器字符串保持原样。migrate 的 dry-run 回执 outputs 仍为空数组,不把 manifest.json 列进 outputs。
Verification
T53 由红转绿。Node v22.14.0 改前 TAP 是 not ok 53,用例名是 R58 manifest.json must not point the host at Python installers that are not in the tree。同版本改后该用例 ok。
node scripts/run-gates.mjs --id audit-tests,Node v22.14.0。改前 ratchet failing 22, baseline 22,门禁 PASS。改后 ratchet failing 21, baseline 21,门禁 PASS。
删了基线这一行。R58 manifest.json must not point the host at Python installers that are not in the tree。没有删别的行。
node scripts/run-gates.mjs --without playwright。Node v20.20.2 与 Node v22.14.0 都是 8/8 gates passed。node scripts/run-gates.mjs --requires playwright 在 Node v22.14.0,DISTILLY_PLAYWRIGHT_ROOT 为 /tmp/pw-root,3/3 gates passed。三份 acceptance 都是 18/18。
skill create 之后的 manifest 不含 .py。八条 installers command 加 --dry-run 的退出码都是 0,并打印目标路径。Node v20.20.2 与 Node v22.14.0 生成的 manifest 字节相同。
Rollback
回退本提交。已经写出的 manifest 不会自动改回。需要旧字段时,在回退后的代码上重新 skill create 或 skill update。