Files
ECC/tests
ECC Agent 48acd64ae6 fix(pi): recognize @scope/pi-subagents in /ecc-doctor companion check
The /ecc-doctor false-negative for users who installed @tintinweb/pi-subagents
(a working, separately-published subagents implementation) because matching
was a bare exact string match against COMPANION_PACKAGES.

Matching is now asymmetric:
- exact match first (stable reported name when both present)
- unscoped entry also satisfied by @scope/<bare-name> (via @ + /suffix check,
  not plain endsWith, so my-pi-subagents does not qualify)
- scoped entry is exact-only (no silent substitution by another publisher's
  rpiv-todo for @juicesharp/rpiv-todo)
- non-exact match emits "satisfied by: <actual>" so user sees the real impl

Verification (already performed, not re-run here):
- node tests/pi/pi-extension-adapter.test.js: 31/31 pass
- Mutation test: the three reverts (old .has loop; delete scoped guard;
  plain endsWith) each fail the new test
- Real settings.json with npm:@tintinweb/pi-subagents produces correct
  "installed      pi-subagents" / "satisfied by: @tintinweb/pi-subagents"
- Full npm test: 4546/4636 pass, failures byte-identical to clean main

Refs: pi-subagents capability, ecc-doctor report
2026-09-15 20:26:49 +00:00
..
2026-04-12 12:34:45 +05:30