[midPoint-git] [Evolveum/midpoint] 05422e: Smart Integration: Skip low-quality mapping sugges...

Michal Zelenčík noreply at github.com
Thu Dec 11 09:20:52 CET 2025


  Branch: refs/heads/feature/utilize-mapping-statistics-review
  Home:   https://github.com/Evolveum/midpoint
  Commit: 05422e9aff0e861563e7fba672bdee9cfbcd6372
      https://github.com/Evolveum/midpoint/commit/05422e9aff0e861563e7fba672bdee9cfbcd6372
  Author: Michal Zelencik <michal.zelencik at evolveum.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/MappingsSuggestionOperation.java
    A model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/mappings/LowQualityMappingException.java
    A model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/mappings/MissingSourceDataException.java
    M model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/TestMappingsSuggestionOperation.java

  Log Message:
  -----------
  Smart Integration: Skip low-quality mapping suggestions using threshold-based filtering

Introduce quality thresholds to improve mapping suggestion reliability:
- Add 5% threshold for missing data detection in isSourceDataMissing/isTargetDataMissing
- Add 10% minimum quality threshold for suggested mappings
- Implement LowQualityMappingException to handle mappings below threshold
- Record low-quality mappings as SKIP instead of FAILURE

When data is too sparse (<5% of pairs have values), skip LLM call and use
asIs mapping with null quality. When assessed quality falls below 10%,
throw exception and skip the mapping entirely rather than returning
potentially incorrect suggestions.

Signed-off-by: Michal Zelencik <michal.zelencik at evolveum.com>


  Commit: f1842b8374dbef5fec39c8d4ffcc1ad30b4355f0
      https://github.com/Evolveum/midpoint/commit/f1842b8374dbef5fec39c8d4ffcc1ad30b4355f0
  Author: Michal Zelencik <michal.zelencik at evolveum.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/MappingsSuggestionOperation.java
    A model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/mappings/MappingDirection.java
    M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/mappings/ValuesPair.java
    M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/mappings/ValuesPairSample.java
    M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/scoring/MappingsQualityAssessor.java
    M model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/TestMappingsSuggestionOperation.java

  Log Message:
  -----------
  Smart Integration: Separate value pair analysis logic

Move direction-aware data analysis methods from MappingsSuggestionOperation
into ValuesPair and ValuesPairSample classes where they semantically belong.

- Introduce MappingDirection enum (INBOUND/OUTBOUND) to replace direction booleans
- Move isSourceDataMissing() and isTargetDataMissing() to ValuesPairSample
- Move asIs mapping detection to ValuesPairSample.allSourceValuesMatchTarget()
- Add direction-aware getSourceValues/getTargetValues methods to ValuesPair
- Update MappingsQualityAssessor to use direction from sample object
- Simplify all call sites to use new encapsulated methods
- Refactor naming


Compare: https://github.com/Evolveum/midpoint/compare/05422e9aff0e%5E...f1842b8374db

To unsubscribe from these emails, change your notification settings at https://github.com/Evolveum/midpoint/settings/notifications


More information about the midPoint-svn mailing list