fix(harness-audit): detect ECC plugin under marketplaces/ subdirectory

`findPluginInstall()` in `scripts/harness-audit.js` scans two candidate
roots:

  {rootDir}/.claude/plugins/
  {HOME}/.claude/plugins/

Current Claude Code marketplace installs live one directory deeper:

  {HOME}/.claude/plugins/marketplaces/{ecc,everything-claude-code}/...

As a result, running `node scripts/harness-audit.js repo` on any
consumer project reports `consumer-plugin-install: false` even when ECC
is fully installed via marketplace, costing 4 points from Tool Coverage.

Add the `marketplaces/` intermediate directory to `candidateRoots` so
both legacy and current install layouts are recognized. The change is
purely additive: existing candidate paths still resolve, and the new
ones only match when the marketplace layout is present.

Reproduction:
  1. Install ECC via Claude Code plugin marketplace
  2. cd into any consumer project
  3. node ~/.claude/plugins/marketplaces/everything-claude-code/scripts/harness-audit.js repo
  4. Observe consumer-plugin-install=false despite a working install
This commit is contained in:
S1lverline
2026-04-14 23:37:10 +09:00
parent e0ddb331f6
commit aa96279ecc

View File

@@ -196,7 +196,9 @@ function findPluginInstall(rootDir) {
]; ];
const candidateRoots = [ const candidateRoots = [
path.join(rootDir, '.claude', 'plugins'), path.join(rootDir, '.claude', 'plugins'),
path.join(rootDir, '.claude', 'plugins', 'marketplaces'),
homeDir && path.join(homeDir, '.claude', 'plugins'), homeDir && path.join(homeDir, '.claude', 'plugins'),
homeDir && path.join(homeDir, '.claude', 'plugins', 'marketplaces'),
].filter(Boolean); ].filter(Boolean);
const candidates = candidateRoots.flatMap((pluginsDir) => const candidates = candidateRoots.flatMap((pluginsDir) =>
pluginDirs.flatMap((pluginDir) => [ pluginDirs.flatMap((pluginDir) => [