agrag.ingestion.merge.merge_properties
merge_properties(property_sources:list[dict[str, object]], rules:PropertyRules, *, description_settings:Any | None = None, description_client:Any | None = None, tracer:Tracer | None = None) -> tuple[dict[str, object], list[ConflictRecord], list[Any]]
Return field-resolved properties and records of every real conflict.
Parameters:
- property_sources (
list[dict[str, object]]) – One dict per source entity/mention, keyed by field. - rules (
PropertyRules) – The per-property rule table. - description_settings (
Any | None) – LLM settings for description summarization. - description_client (
Any | None) – Injected LLM client for tests. - tracer (
Tracer | None) – Passed to description summarization.
Returns:
tuple[dict[str, object], list[ConflictRecord], list[Any]]– The resolved properties, conflict records, and optional stage failures.