fix(installer): bun install nested runtime packages so Pulse can start#1581
Closed
elhoim wants to merge 2 commits into
Closed
fix(installer): bun install nested runtime packages so Pulse can start#1581elhoim wants to merge 2 commits into
elhoim wants to merge 2 commits into
Conversation
Owner
|
Ported with credit. Confirmed the gap in source — the installer ran exactly one root-level |
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.
Problem
On a fresh install, Pulse dies on startup:
smol-tomlis correctly declared inLIFEOS/PULSE/package.json. The bug is not a missing manifest entry — it is that the installer never runsbun installinside the nested package.Several directories in the deployed runtime ship their own
package.json(LIFEOS/PULSE/,LIFEOS/PULSE/Observability/,LIFEOS/TOOLS/, …). Node/Bun module resolution stops walking up at the first ancestor that owns apackage.json, so the sharednode_modulesthe installer creates at the config root never satisfies these nested packages. Each needs its ownbun install.The Observability dashboard has a second layer of the same problem: it ships as a Next.js static export (
Observability/out/index.html) that must be built. Until it is,pulse.tsreportsstatus: degradedand the dashboard route returns HTTP 503.Reproduction
bun run pulse.ts→ dies onCannot find package 'smol-toml'.bun install-ingLIFEOS/PULSE/, Pulse starts butGET /503s untilObservability/is installed and built.Fix
Adds a
nested-dependenciesdeploy step toDeployCore.tsthat, after the existing dependency step:package.json(skippingnode_modules/.git) and runsbun install --cwd <dir>on each;bun run buildfor the Observability dashboard when its static export is missing.Respects the existing
--apply/ dry-run contract (dry-run lists the exactbun install/bun run buildcommands it would run) and records per-package failures without aborting the whole deploy.Files
LifeOS/Tools/DeployCore.tsLifeOS/install/skills/LifeOS/Tools/DeployCore.ts(install-payload mirror)