5acd56a5e3
listInstalledPlugins() was marking user-scope entries as shadowedBy: "project" based on plugin ID presence in the project registry alone. A disabled project copy (enabled: false) is not active in discovery, so the user copy is the effective install and must not appear shadowed. activeProjectIds now only includes project plugins where the first entry does not have enabled: false.