fusion
Backend-neutral reciprocal-rank fusion for Memory retrieval.
funcadmit_fts_candidates(query, candidates, *, admission=None) -> tuple[MemoryChannelHit, ...]Keep lexical candidates with enough distinct query-term evidence.
admission=None reproduces today's behaviour bit for bit.
paramquerystrparamcandidatesSequence[MemoryChannelHit]paramadmissionAdmissionFloor | None= NoneReturns
tuple[powercontext.builtin.artifacts.memory.models.MemoryChannelHit, ...]funcadmit_vector_candidates(candidates, *, admission=None) -> tuple[MemoryChannelHit, ...]Keep unit-vector L2 candidates meeting the semantic similarity baseline.
paramcandidatesSequence[MemoryChannelHit]paramadmissionAdmissionFloor | None= NoneReturns
tuple[powercontext.builtin.artifacts.memory.models.MemoryChannelHit, ...]func_unit_l2_cosine_similarity(distance) -> floatparamdistancefloatReturns
floatfuncfuse_rankings(*, fts, vector, limit) -> tuple[MemoryHit, ...]Fuse ordered channel candidates with reciprocal rank fusion.
paramftsSequence[MemoryChannelHit]paramvectorSequence[MemoryChannelHit]paramlimitintReturns
tuple[powercontext.builtin.artifacts.memory.models.MemoryHit, ...]func_identity(hit) -> _HitIdentityparamhitMemoryChannelHitReturns
powercontext.builtin.artifacts.memory.fusion._HitIdentity
