from __future__ import annotations def test_node_mapper_preserves_canonical_identity_and_freshness_metadata(): from app.core.knowledge.llamaindex.node_mapper import evidence_to_node from app.core.knowledge.retrieval.contracts import KnowledgeEvidence evidence = KnowledgeEvidence( chunk_id="chunk-1", content="客户同步用途", score=0.9, retriever="vector", object_uid="object-1", object_type="DataFlow", object_version=4, business_domain_uid="domain-a", point_keys=("DataFlow/object-1/purpose",), point_revisions=(2,), generation=3, source_updated_at="2026-07-23T00:00:00+00:00", ) node = evidence_to_node(evidence) assert node.node_id == "chunk-1" assert node.metadata["object_version"] == 4 assert node.metadata["point_revisions"] == [2] assert node.metadata["index_generation"] == 3