diff_classification
Show what MOVED on the competitive classification landscape: each competitor reclassification (from one classification_value to another on an axis) since a date. Reads the append-only reclassification history auto-recorded at the classify-write chokepoint, so "did AEM move from integrated to agentic" is one call instead of in-head reasoning. Returns transitions with resolved titles (competitor, from, to), sorted newest first. Pairs with `list_portfolio_cross_edges` freshness (which decides WHEN to re-assess); this surfaces WHAT changed. Empty when nothing moved or no history exists. Read-only.
Arguments
productstringoptionalRestrict to reclassifications of competitors owned by this product (matched on the competitor id product prefix).
competitorstringoptionalRestrict to one competitor by its qualified id (e.g. p_rival/n_acme).
sincestringoptionalISO date. Only transitions observed on or after this date (e.g. 2026-06-01). Omit for all history.
Returns
{ product?, competitor?, since?, total, transitions: Array<{ signal_id, competitor, competitor_title?, axis, from_value, from_title?, to_value, to_title?, observed_at, confidence?, observed_by? }> }transitions when nothing moved or no history exists.