v4.1 Theme A — P2 (mixin collision detection)
When multiple packages (or a package + a legacy plugin) define the same method name, the current PackageLoader silently overwrites via `StructAppend`. The scaffold for collision tracking exists but is dead — `Plugins.cfc` has a `mixinCollisions` array that is never populated.
Evidence
Fix
Acceptance
- Two packages both providing `processRequest()` → both load, warning logged, collision listed in `wheels doctor`.
- Tests cover: single package (no warnings), package + legacy plugin collision, package + package collision, acknowledged override (no warning).
Refs: GA audit P2
v4.1 Theme A — P2 (mixin collision detection)
When multiple packages (or a package + a legacy plugin) define the same method name, the current PackageLoader silently overwrites via `StructAppend`. The scaffold for collision tracking exists but is dead — `Plugins.cfc` has a `mixinCollisions` array that is never populated.
Evidence
Fix
Acceptance
Refs: GA audit P2