Skip to content

recall: evaluate recency-weighted cluster centroid for candidate_l2s nomination #652

@toejough

Description

@toejough

Deferred from recall v2 (eval-gated follow-up, Joe's call).

Recall v2 already applies recency twice: in the matched-set ranking (recency-biased cosine decides what's in and on top) and via use-only activation (only notes the agent actually used get LastUsed bumped — so a superseded-but-surfaced note drops in rank as more recently-used notes are activated, and fades).

The idea: weight the vector sum of each cluster's note members by their recency scalars when computing the centroid used to nominate the within-cluster top-5 candidate_l2s (and the cluster representative):

centroid = Σ(recency_i · vec_i) / Σ recency_i

This reinforces drift toward recently-used notes.

Why deferred, not dropped:

  • It's a third recency lever on the same axis — risk of over-rotation toward recency (the same risk the baseScore relevance floor was chosen to avoid).
  • In v2's within-cluster nomination it rarely changes anything: the top-5 only re-orders when a cluster has >5 note members, which is rare (~dozens of notes across ≤7 clusters).
  • It's an empirical question: use the recency-eval harness to test whether nomination over-surfaces superseded notes. Add the weighted centroid only if the eval shows it's needed, calibrated to that signal.

Note: candidate_l2s is the YAML field name (kept for back-compat); the tier vocabulary collapsed to "notes" in recall v2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions