Files
neuron/tools/retrieval-eval/cmp-bm25-vs-execfilter2.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

131 lines
3.0 KiB
JSON

{
"baseline": "bm25lex",
"candidate": "execfilter2",
"n_shared_queries": 38,
"fixed_by_candidate": [],
"broken_by_candidate": [],
"discordant": 0,
"net_queries": 0,
"mcnemar_exact_p": 1.0,
"min_detectable_swing_queries": 6,
"observed_run_to_run_drift_queries": 0,
"noise_floor_queries": 6,
"verdict": "no measurable difference",
"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.7428571428571429,
"recall@5": 0.5580441384012813,
"recall@10": 0.631553763696621,
"precision@5": 0.2114285714285715,
"mrr@10": 0.5235714285714286,
"nonsense_clean": "2/3",
"superseded_outranks": "2/3",
"latency_ms_p50": 1198.3,
"latency_ms_p95": 1632.6,
"latency_ms_max": 1664.0,
"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.6153846153846154,
"recall@5": 0.6153846153846154,
"recall@10": 0.6153846153846154,
"mrr@10": 0.3230769230769231
},
"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
}
}
},
"repeat_variance": {}
}