fix: close install manifest packaging gaps#2172
Conversation
- commands-core now ships scripts/harness-audit.js and scripts/skills-health.js: the module installs the whole commands/ dir, so /harness-audit and /skill-health were installed without their backing engines on manifest-driven installs (the original 1.10.0 failure mode) - agentic-patterns now ships scripts/claw.js: the module installs the nanoclaw-repl skill, whose workflow operates scripts/claw.js - package.json files array gains scripts/skills-health.js so the npm publish surface stays aligned with the module graph (claw.js and harness-audit.js were already listed) - orchestration drops commands/multi-workflow.md and commands/sessions.md from its explicit paths: both are already shipped by commands-core, which is a declared dependency of the module, so the duplicate ownership produced two copy operations per destination in install-state. The two scripts/lib entries are kept because hooks-runtime is NOT a declared dependency and a standalone orchestration install still needs them
|
Too much diff to scan? Review this PR in Change Stack to start with the highest-impact changes. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughThis PR updates module manifest paths in ChangesModule Manifest and Publish Configuration
🎯 1 (Trivial) | ⏱️ ~3 minutes
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- commands-core now ships scripts/harness-audit.js and scripts/skills-health.js: the module installs the whole commands/ dir, so /harness-audit and /skill-health were installed without their backing engines on manifest-driven installs (the original 1.10.0 failure mode) - agentic-patterns now ships scripts/claw.js: the module installs the nanoclaw-repl skill, whose workflow operates scripts/claw.js - package.json files array gains scripts/skills-health.js so the npm publish surface stays aligned with the module graph (claw.js and harness-audit.js were already listed) - orchestration drops commands/multi-workflow.md and commands/sessions.md from its explicit paths: both are already shipped by commands-core, which is a declared dependency of the module, so the duplicate ownership produced two copy operations per destination in install-state. The two scripts/lib entries are kept because hooks-runtime is NOT a declared dependency and a standalone orchestration install still needs them
What Changed
manifests/install-modules.json:scripts/harness-audit.jsandscripts/skills-health.jstocommands-corepaths - their commands (/harness-audit,/skill-health) currently ship without their enginesscripts/claw.jstoagentic-patterns- thenanoclaw-replskill ships without its scriptcommands/multi-workflow.mdandcommands/sessions.mdfrom theorchestrationmodule:orchestrationalready declares a dependency oncommands-core, which ships the wholecommands/directory, so these two entries were pure duplicates. The twoscripts/lib/*paths inorchestrationare deliberately KEPT -hooks-runtimeis not a declared dependency, so dropping them would break a standalone orchestration install. That asymmetry is the point of this diffpackage.json:scripts/skills-health.jsadded to the npmfilesarray (alphabetical position within its run)tests/scripts/npm-publish-surface.test.js: removedscripts/claw.jsandscripts/harness-audit.jsfrom the hardcodedextraPathsallowlist - they are now covered by module paths, and keeping both entries would mask a future module-path removalWhy This Change
Selective installs resolve files from module paths. A module that installs a command but not its engine produces a command that fails at first use; the duplicated command paths inflate the orchestration module for files its dependency already provides.
Testing Done
validate-install-manifests,catalog:check, and the npm publish-surface contract all passnode tests/run-all.js) - full suite 2619/2619 in a clean Linux container (node:22-bookworm, freshnpm ci)orchestrationinstall retains itsscripts/libruntime;npm pack --dry-runincludes the newly wired scriptsType of Change
fix:Bug fixSecurity & Quality Checklist
Documentation
Summary by cubic
Fixes install manifest coverage so module installs include their backing engines and avoid duplicate files. Adds missing script paths, removes redundant command docs, and aligns the npm publish surface.
commands-core: addscripts/harness-audit.jsandscripts/skills-health.jsso/harness-auditand/skill-healthwork on selective installs.agentic-patterns: addscripts/claw.jsfor thenanoclaw-replskill.orchestration: removecommands/multi-workflow.mdandcommands/sessions.md(already provided bycommands-core).package.json: includescripts/skills-health.jsinfilesto keep the publish surface in sync.scripts/claw.jsandscripts/harness-audit.jsfrom the extra-paths allowlist since module paths now cover them.Written for commit bacf3ce. Summary will update on new commits.
Summary by CodeRabbit
Release Notes