BC-065C — EventPlatform / M12 Consolidation¶
Status: HISTORICAL
For the current architecture, see: ./dependances.md.
Status¶
BC-065C completed.
No plugin file changed. No runtime mirror file changed. No Composer change. No runtime sync.
Decision¶
Retained option: B.
CMonChoix\Application\EventPlatform\...remains the active canonical legacy family for this slice.CMonChoix\Application\M12\...remains a compatibility wrapper family.- no Projection or Realtime class is moved in this tranche.
Real issue fixed¶
BC-065A documented the M12 wrappers as active compatibility surfaces:
src/Application/M12/EventBus/EventBus.phpsrc/Application/M12/Wiring/PlatformKernel.php
But both wrappers extended classes declared final:
src/Application/EventPlatform/Bus/EventBus.phpsrc/Application/EventPlatform/Kernel/PlatformKernel.php
Loading the wrappers therefore produced a fatal compatibility error.
BC-065C fixes only that incompatibility by restoring wrapper-safe inheritance on the two canonical EventPlatform classes.
Consolidated classification¶
| Class | Role | Status |
|---|---|---|
EventPlatform\Bus\EventBus |
active in-memory bus | retained canonical legacy type |
EventPlatform\Bus\EventDispatcher |
thin delegate to EventBus |
retained, no proven consumer |
EventPlatform\Contracts\Event |
marker contract | retained, no proven consumer |
EventPlatform\Contracts\EventHandler |
callable contract | retained, no proven consumer |
EventPlatform\Kernel\PlatformKernel |
lightweight wiring shell | retained canonical legacy type |
M12\EventBus\EventBus |
wrapper over EventPlatform bus | retained compatibility wrapper |
M12\Wiring\PlatformKernel |
wrapper over EventPlatform kernel | retained compatibility wrapper |
Behavior certification¶
EventBus behavior remained unchanged:
- same
subscribe(string, callable): void - same
publish(object): void - same handler ordering
- same duplicate registration behavior
- same no-op when no handler is registered
- same exception propagation
Reflection / compatibility¶
After BC-065C:
- M12 wrappers can be loaded without fatal error;
M12\EventBus\EventBus instanceof EventPlatform\Bus\EventBusremains true;M12\Wiring\PlatformKernel instanceof EventPlatform\Kernel\PlatformKernelremains true;- no method signature changed.
Deferred debt¶
Still deferred to later BCs:
EventPlatform\EventDispatcherEventPlatform\Contracts\EventEventPlatform\Contracts\EventHandler- Projection legacy shells
- Realtime legacy shells
BC-065E final certification closes BC-065 while keeping the remaining non-critical residual debt explicitly documented as P2 only.