1.8 KiB
EventHub runtime event-mixing refactor
This patch refactors the previous targeted card/VU duplicate handling into a first-class runtime event-mixing subsystem.
New architecture components
RuntimeEventMixingModuleRuntimeEventMixingServiceRuntimeEventDescriptorRuntimeEventDescriptorFactoryRuntimeEventSourceProfileRuntimeEventMixingRuleRuntimeEventMixingRuleRegistryRuntimeEventMixingDecisionDtoRuntimeMixedEventBundleRuntimeResolvedEventRuntimeResolvedEventRoleRuntimeEventMixingChannel
Current configured rules
The rule registry currently applies these tachograph same-source rules:
tachograph.activity.card-vu.same-event-keytachograph.activity.card-vu.compatible-activity-keytachograph.support.card-vu.same-event-keytachograph.support.card-vu.compatible-support-key
The activity rules collapse duplicate CARD_ACTIVITY/VU_ACTIVITY points before activity intervalization.
The support rules collapse duplicate card/VU support evidence for:
CARD_POSITION/VU_POSITIONCARD_PLACE/VU_PLACECARD_BORDER_CROSSING/VU_BORDER_CROSSING
The card-side event remains the primary event. The VU-side event is suppressed from the processing channel but remains visible through suppressedEvents, resolvedEvents, and eventMixingDecisions.
Still intentionally unchanged
CARD_VEHICLES_USED and IW_CYCLE are still not mixed. They remain fully accepted in vehicleUsageEvents because they need a separate vehicle-usage rule later.
TACHOGRAPH_FILE_SESSION support
The descriptor factory recognizes TACHOGRAPH_FILE_SESSION and COMPOSITE_TACHOGRAPH_FILE_SESSION events and derives card/VU extraction codes from sourceKind and event domain when no explicit extractionCode is present.