eventhub/README_PATCH.md

33 lines
1.9 KiB
Markdown

# Generic runtime event mixing refactoring
This patch removes tachograph-specific source roles and representations from the common runtime mixing contracts.
## Main changes
- `RuntimeEventMixingRule` now uses generic `RuntimeEventSelector` objects, generic pair constraints, compatibility-policy ids, and fusion-policy ids.
- `RuntimeEventDescriptor` and `RuntimeEventSourceProfile` expose opaque classification values instead of `RuntimeTachographEvidenceSourceRole` and `RuntimeTachographRepresentation` fields.
- `RuntimeEventDescriptorFactory` consumes pluggable `RuntimeEventSemantics` adapters.
- `RuntimeEventMixingRuleRegistry` aggregates pluggable `RuntimeEventMixingRuleProvider` implementations.
- Compatibility and primary-event enrichment are delegated to policy registries.
- Tachograph-specific country/region/coordinate normalization and vehicle/VIN enrichment were moved out of common classes.
- Common diagnostics now expose classification-count maps instead of tachograph-specific scalar fields.
- `eventMixingMode=FULL` is the generic default. The tachograph provider still accepts `TACHOGRAPH_SAME_SOURCE` for request compatibility.
## Tachograph behavior retained
The tachograph provider still implements:
- database/file-session same-role duplicate suppression;
- driver-card/vehicle-unit activity mixing;
- driver-card/vehicle-unit support-event mixing;
- semantic place lifecycle normalization;
- tachograph nation and region normalization;
- coordinate tolerance checks;
- vehicle/VIN enrichment of the retained primary event.
## Validation
- The complete modified mixing package was compiled with Java 21 using local stubs for external Spring/Jackson/validation APIs.
- A Java runtime harness confirmed that duplicate DB/file-session driver-card activity events are reduced to one event and that generic classification diagnostics are populated.
- Maven is not installed in the execution environment, so the complete project test suite was not run.