Skip to content

fix(daemon): exclude USER/WORK/YOUR_COMPANIES from the aggregator - #2110

Open
pai-scaffolde wants to merge 1 commit into
danielmiessler:mainfrom
pai-scaffolde:fix/j-daemon-exclude-companies
Open

fix(daemon): exclude USER/WORK/YOUR_COMPANIES from the aggregator#2110
pai-scaffolde wants to merge 1 commit into
danielmiessler:mainfrom
pai-scaffolde:fix/j-daemon-exclude-companies

Conversation

@pai-scaffolde

Copy link
Copy Markdown

Reproduced on a fresh LifeOS 7.40.4 install (macOS, Claude Code in the Claude desktop app); the fix was applied to that install before filing. Related decision: #1720 (installer layout is canonical).

Observed

skills/Daemon/Tools/DaemonAggregator.ts EXCLUDED_PATHS names USER/BUSINESS as the business-confidential zone; the installed tree has no USER/BUSINESS and business data lives at USER/WORK/YOUR_COMPANIES (present on the install), which the deny list does not cover.

Root cause

The structural deny list was written for the pre-#1720 layout. isExcluded() is a prefix match on EXCLUDED_PATHS, so the real business directory is not excluded. Stated plainly: no current read path in the aggregator walks USER/WORK/ (it reads TELOS, KNOWLEDGE/Ideas, PROJECTS.md, PRINCIPAL_IDENTITY.md and MEMORY/WORK), so this is not an observed leak; it is the guard every future read goes through being wrong about where the confidential data is.

Fix

Add join(USER_DIR, "WORK", "YOUR_COMPANIES") to EXCLUDED_PATHS. USER/BUSINESS stays for installs that created one (CLAUDE.md still lists BUSINESS/ as a conventional location).

How tested

No test surface: isExcluded is module-private and nothing reads the directory today, so there is no observable before/after. Transpiles (bun build --target=bun --no-bundle).

🤖 Generated with Claude Code

DaemonAggregator's structural deny list names USER/BUSINESS as the
business-confidential zone, but the shipped USER scaffold puts business
data at USER/WORK/YOUR_COMPANIES (installer layout, canonical per issue
danielmiessler#1720; the same path observability.ts reads). The real location was
therefore not covered by isExcluded(). Add it; USER/BUSINESS stays for
installs that created one.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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