Skip to content

fix(claude): inventory designated config workspaces - #50

Merged
phodal merged 1 commit into
mainfrom
fix/asset-inventory-designated-user-home
Aug 1, 2026
Merged

fix(claude): inventory designated config workspaces#50
phodal merged 1 commit into
mainfrom
fix/asset-inventory-designated-user-home

Conversation

@phodal

@phodal phodal commented Aug 1, 2026

Copy link
Copy Markdown
Member

Summary

  • treat a selected Claude config root as project-authorized evidence instead of probing a nested .claude/.claude path
  • inventory root-level Skills, Commands, Hooks, Rules, and contained enabled Plugins without requiring --include-user-home
  • preserve the privacy boundary for adjacent Claude state, external Plugin roots, and symlink escapes

Root cause

The Claude provider always resolved project assets from <workspace>/.claude/* and gated <claudeHome>/* behind user-home authority. When the selected workspace was the Claude config root itself, both rules applied in the wrong direction: project discovery looked one directory too deep while the real root assets were suppressed.

Impact

Agent Customize now reports the assets physically contained by an explicitly selected Claude config workspace. The public authority remains scope.includeUserHome: false, and ordinary project workspaces retain their existing <workspace>/.claude/* behavior.

Validation

  • node --test test/agent-customize.test.mjs test/agent-asset-baseline.test.mjs test/agent-lint.test.mjs test/better-harness-evidence-bundle.test.mjs — 87/87
  • node --test test/doc-link-graph.test.mjs — 6/6
  • npm test — 1095/1095
  • npm run pack:verify — 382 npm entries, 405 runtime ZIP entries

Risk boundaries

Regression fixtures cover an adjacent state file, an external Plugin root, a symlink-escaping Plugin root, a canonical workspace alias, and the normal Claude project layout.

Fixes #42

Treat a selected Claude config root as project-authorized evidence while keeping adjacent state and escaping Plugin roots outside the default boundary. Implements #42 using docs/specs/2026-08-01-42-claude-config-root-asset-inventory.md. Validated with npm test (1095/1095) and npm run pack:verify.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
@phodal
phodal marked this pull request as ready for review August 1, 2026 14:51
@phodal
phodal merged commit 8fa92b1 into main Aug 1, 2026
4 checks passed
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.

Claude asset inventory reports 0 skills/hooks/commands/plugins when the analyzed workspace root is the user's ~/.claude directory

1 participant