Skip to content

fix(deps): fail fast on stale runtime dependencies - #200

Merged
rochecompaan merged 1 commit into
mainfrom
fix/dependency-staleness-preflight
Aug 29, 2026
Merged

fix(deps): fail fast on stale runtime dependencies#200
rochecompaan merged 1 commit into
mainfrom
fix/dependency-staleness-preflight

Conversation

@rochecompaan

@rochecompaan rochecompaan commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Summary

The missing workflowChildren metadata came from a run that started before Home Manager activated Patchmill 0.20.0. That running Pi process had already loaded an older Patchmill build with pi-subagents 0.55.0. Home Manager activation changes what new processes load; it does not replace modules in an existing process.

This change hardens source execution against a separate drift case: package.json can advance while the untracked node_modules tree still reflects an earlier install.

  • run npm ls --depth=0 before npm test
  • verify resolved pi-subagents matches Patchmill's exact pin before source CLI dispatch
  • fail with an actionable npm install or packaged-install message
  • limit the bootstrap catch to dependency preflight so normal CLI errors are unchanged

No npm install ban is introduced.

Tests

  • npm test — 1414/1414 passed
  • focused dependency and CLI tests — 5/5 passed
  • Prettier and ESLint — passed
  • nix build path:.#patchmill --no-link --print-build-logs — passed
  • built dist/bin/patchmill.js version — passed
  • stale source-dependency simulation — preflight and npm ls both fail before CLI dispatch

Known baseline failures

  • npm run check:types has unrelated existing failures; none reference changed files
  • npm run check:architecture has an existing extensions/todos.ts → typebox violation

@rochecompaan
rochecompaan merged commit 69bab32 into main Aug 29, 2026
2 checks passed
@rochecompaan
rochecompaan deleted the fix/dependency-staleness-preflight branch August 29, 2026 11:56
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