Skip to content

fix(pulse): use LIFEOS (all-caps) runtime dir in observability.ts#1397

Closed
badosanjos wants to merge 1 commit into
danielmiessler:mainfrom
badosanjos:fix/lifeos-dir-case
Closed

fix(pulse): use LIFEOS (all-caps) runtime dir in observability.ts#1397
badosanjos wants to merge 1 commit into
danielmiessler:mainfrom
badosanjos:fix/lifeos-dir-case

Conversation

@badosanjos

Copy link
Copy Markdown

Fixes #1391.

DeployCore deploys the runtime to ~/.claude/LIFEOS (all-caps), but observability.ts hardcodes ~/.claude/LifeOS in three places (const LIFEOS_DIR, dashboard dir helper, and an env-fallback). On case-sensitive filesystems (Linux) Pulse crash-loops with ENOENT on first start — and the crash loop mkdir's a stray real ~/.claude/LifeOS/ directory (captures pulse.pid) that then shadows any later symlink workaround. macOS is unaffected only because APFS defaults to case-insensitive.

Fix: all three occurrences now use LIFEOS, matching the deployer.

Verified on Ubuntu 24.04: with paths aligned, Pulse boots clean under the shipped systemd user unit (manage.sh install) and binds 127.0.0.1:31337.

DeployCore deploys the runtime to ~/.claude/LIFEOS (all-caps), but
observability.ts hardcoded ~/.claude/LifeOS in three places. On
case-sensitive filesystems (Linux) Pulse crash-loops with ENOENT on
first start, and the crash loop mkdir's a stray real ~/.claude/LifeOS/
directory as a side effect. macOS is unaffected only because APFS is
case-insensitive by default.

Fixes danielmiessler#1391
@danielmiessler

Copy link
Copy Markdown
Owner

Thanks a lot for this, @badosanjos — really appreciate you flagging it and taking the time to write the fix.

When I went back through the current source, this turns out to already be handled: all-caps LIFEOS runtime dir is already the case in current source — thanks for catching the casing issue that has since been resolved. The system has moved a fair bit since you opened this (the PAI → LifeOS rename and a few subsystem rewrites), so the gap you spotted has since been closed independently.

Going to close this one out on that basis — but genuinely grateful for the contribution. 🙏

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.

v6.0.0 Linux: LifeOS vs LIFEOS case mismatch crash-loops Pulse on case-sensitive filesystems (+ stray dir side effect)

2 participants