Context
The scanner first deduplicates true replicas by real-path-derived ID, then collapses every repeated display name into the first item. The second path and content are discarded while its tool ID is attached to the first item.
Evidence:
src/scanner.ts:303-329 performs name-only collapsing.
src/types.ts:27-30 stores only one path and one content value per item.
This hides unrelated project skills and divergent per-agent copies that happen to share a name. Editing the visible item affects only the first file while the UI implies broader ownership.
Task
Deduplicate only identical real paths or model same-name files as a replica group retaining every path, tool, project, and content identity.
Acceptance criteria
- The same real file discovered through multiple tools remains one item with combined attribution.
- Different files with the same name remain individually addressable or retain every replica.
- Edit and delete operations target an explicit path.
- Favorites, collections, counts, and project filters remain stable.
- Fixture tests cover same-name collisions and divergent copies.
Context
The scanner first deduplicates true replicas by real-path-derived ID, then collapses every repeated display name into the first item. The second path and content are discarded while its tool ID is attached to the first item.
Evidence:
src/scanner.ts:303-329performs name-only collapsing.src/types.ts:27-30stores only one path and one content value per item.This hides unrelated project skills and divergent per-agent copies that happen to share a name. Editing the visible item affects only the first file while the UI implies broader ownership.
Task
Deduplicate only identical real paths or model same-name files as a replica group retaining every path, tool, project, and content identity.
Acceptance criteria