Files
neuron/tools/retrieval-eval/cmp-bm25-vs-execfilter.json
T
Tim Lingo cc4c9345f2 feat(engram): Will's Layer-2 executive filter (claims 44/45) on the recall read path
Claim 44 requires a second pass that computes a working memory weight
(background activation x goal-state attentional bias x confidence) and
promotes only what clears a per-type threshold; claim 45 keeps the
un-promoted field retained rather than discarded. That pass exists in
engram_activate and nowhere on the route /api/neuron/recall reaches.

engram_search_json now splits each of its three legs into promoted and
suppressed sublists and rotates the promoted material into the head of
the result, background-only behind it (05-detailed-description l.221:
'promoted nodes first ... followed by background-only nodes').

MEASURED: net +0 queries vs its parent feat/bm25-lexical-leg on the
38-query gold set. NOT-SHOWN. hit@5 74.3% both sides; recall@10
61.8 -> 63.2%, MRR@10 0.502 -> 0.524, latency p50 1184 -> 1198ms.

The first cut (results-execfilter.json, kept as evidence) fed pass 2 the
semantic leg's shift-and-floor value instead of raw cosine and lost 6
queries (paraphrase 61.5 -> 23.1%, p=0.0312).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 16:10:17 -05:00

138 lines
3.0 KiB
JSON

{
"baseline": "bm25lex",
"candidate": "execfilter",
"n_shared_queries": 38,
"fixed_by_candidate": [],
"broken_by_candidate": [
"q15",
"q16",
"q20",
"q21",
"q26",
"q37"
],
"discordant": 6,
"net_queries": -6,
"mcnemar_exact_p": 0.03125,
"min_detectable_swing_queries": 6,
"observed_run_to_run_drift_queries": 0,
"noise_floor_queries": 6,
"verdict": "candidate worse",
"baseline_aggregate": {
"n_queries": 38,
"n_scored": 35,
"hit@5": 0.7428571428571429,
"recall@5": 0.5536485340056769,
"recall@10": 0.6175677497106068,
"precision@5": 0.20000000000000007,
"mrr@10": 0.5021428571428571,
"nonsense_clean": "2/3",
"superseded_outranks": "2/3",
"latency_ms_p50": 1184.4,
"latency_ms_p95": 1620.0,
"latency_ms_max": 1655.4,
"errors": 0,
"by_category": {
"associative": {
"n": 6,
"hit@5": 0.6666666666666666,
"recall@5": 0.08857808857808858,
"recall@10": 0.23310023310023312,
"mrr@10": 0.25
},
"exact_rare": {
"n": 6,
"hit@5": 1.0,
"recall@5": 1.0,
"recall@10": 1.0,
"mrr@10": 1.0
},
"nonsense": {
"n": 3,
"clean": 2,
"avg_false_positives": 3.3333333333333335
},
"paraphrase": {
"n": 13,
"hit@5": 0.6153846153846154,
"recall@5": 0.6153846153846154,
"recall@10": 0.6153846153846154,
"mrr@10": 0.2846153846153846
},
"phrase": {
"n": 7,
"hit@5": 1.0,
"recall@5": 0.5494614512471656,
"recall@10": 0.6023242630385487,
"mrr@10": 0.8214285714285714
},
"superseded": {
"n": 3,
"hit@5": 0.3333333333333333,
"recall@5": 0.3333333333333333,
"recall@10": 0.6666666666666666,
"mrr@10": 0.20833333333333334,
"outranks": 2
}
}
},
"candidate_aggregate": {
"n_queries": 38,
"n_scored": 35,
"hit@5": 0.6,
"recall@5": 0.41518699554413835,
"recall@10": 0.4869109065537637,
"precision@5": 0.18285714285714288,
"mrr@10": 0.4493197278911565,
"nonsense_clean": "2/3",
"superseded_outranks": "1/3",
"latency_ms_p50": 1183.3,
"latency_ms_p95": 1637.5,
"latency_ms_max": 1672.5,
"errors": 0,
"by_category": {
"associative": {
"n": 6,
"hit@5": 0.6666666666666666,
"recall@5": 0.11421911421911422,
"recall@10": 0.3146853146853147,
"mrr@10": 0.2916666666666667
},
"exact_rare": {
"n": 6,
"hit@5": 1.0,
"recall@5": 1.0,
"recall@10": 1.0,
"mrr@10": 1.0
},
"nonsense": {
"n": 3,
"clean": 2,
"avg_false_positives": 3.3333333333333335
},
"paraphrase": {
"n": 13,
"hit@5": 0.23076923076923078,
"recall@5": 0.23076923076923078,
"recall@10": 0.3076923076923077,
"mrr@10": 0.12637362637362637
},
"phrase": {
"n": 7,
"hit@5": 1.0,
"recall@5": 0.5494614512471656,
"recall@10": 0.5933956916099773,
"mrr@10": 0.8333333333333334
},
"superseded": {
"n": 3,
"hit@5": 0.3333333333333333,
"recall@5": 0.3333333333333333,
"recall@10": 0.3333333333333333,
"mrr@10": 0.16666666666666666,
"outranks": 1
}
}
},
"repeat_variance": {}
}