@framers/agentos 0.5.5 → 0.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/memory-router/index.d.ts +3 -1
- package/dist/memory-router/index.d.ts.map +1 -1
- package/dist/memory-router/index.js +7 -1
- package/dist/memory-router/index.js.map +1 -1
- package/dist/memory-router/reader-router.d.ts +155 -0
- package/dist/memory-router/reader-router.d.ts.map +1 -0
- package/dist/memory-router/reader-router.js +171 -0
- package/dist/memory-router/reader-router.js.map +1 -0
- package/dist/memory-router/routing-tables.d.ts +49 -5
- package/dist/memory-router/routing-tables.d.ts.map +1 -1
- package/dist/memory-router/routing-tables.js +65 -4
- package/dist/memory-router/routing-tables.js.map +1 -1
- package/package.json +1 -1
|
@@ -115,7 +115,7 @@ export type { MemoryBudgetMode, MemoryRouterConfig, MemoryRoutingDecision, } fro
|
|
|
115
115
|
export type { IMemoryClassifier, IMemoryClassifierLLM, MemoryClassifierLLMRequest, MemoryClassifierLLMResponse, MemoryClassifierClassifyOptions, MemoryClassifierResult, LLMMemoryClassifierOptions, } from './classifier.js';
|
|
116
116
|
export type { IMemoryDispatcher, MemoryDispatchArgs, MemoryDispatchResult, MemoryBackendExecutor, MemoryBackendExecutorContext, MemoryBackendRegistry, } from './dispatcher.js';
|
|
117
117
|
export type { MemoryBudgetPolicy, MemoryRouterOptions, MemoryRouterDecideOptions, MemoryRouterDecision, MemoryRouterDispatchedDecision, MemoryRouterAugmentedDecision, MemoryRouterAugmentedDispatchedDecision, } from './MemoryRouter.js';
|
|
118
|
-
export { MINIMIZE_COST_TABLE, BALANCED_TABLE, MAXIMIZE_ACCURACY_TABLE, PRESET_TABLES, MINIMIZE_COST_AUGMENTED_TABLE, S_BEST_CAT_HYDE_MS_2026_04_28_TABLE, AUGMENTED_PRESET_TABLES, SAFE_FALLBACK_BACKEND, SAFE_FALLBACK_DISPATCH_KEY, selectAugmentedDispatch, } from './routing-tables.js';
|
|
118
|
+
export { MINIMIZE_COST_TABLE, BALANCED_TABLE, MAXIMIZE_ACCURACY_TABLE, PRESET_TABLES, MINIMIZE_COST_AUGMENTED_TABLE, S_BEST_CAT_HYDE_MS_2026_04_28_TABLE, S_BEST_CAT_TOPK50_MULT5_MS_2026_04_29_TABLE, AUGMENTED_PRESET_TABLES, SAFE_FALLBACK_BACKEND, SAFE_FALLBACK_DISPATCH_KEY, selectAugmentedDispatch, } from './routing-tables.js';
|
|
119
119
|
export { TIER_1_CANONICAL_COSTS, TIER_2A_V10_COSTS, TIER_2B_V11_COSTS, DEFAULT_MEMORY_BACKEND_COSTS, } from './backend-costs.js';
|
|
120
120
|
export { selectBackend, MemoryRouterUnknownCategoryError, MemoryRouterBudgetExceededError, } from './select-backend.js';
|
|
121
121
|
export { CLASSIFIER_SYSTEM_PROMPT, CLASSIFIER_SYSTEM_PROMPT_FEWSHOT, SAFE_FALLBACK_CATEGORY, LLMMemoryClassifier, normalizeClassifierOutput, parseClassifierOutput, } from './classifier.js';
|
|
@@ -127,4 +127,6 @@ export { EntityRetrievalRanker, createEntityRetrievalRanker, } from './backends/
|
|
|
127
127
|
export type { RankedCandidate, RankedCandidateWithBoost, EntityRetrievalRankerOptions, } from './backends/index.js';
|
|
128
128
|
export { RETRIEVAL_CONFIG_IDS, RETRIEVAL_CONFIG_SPECS, M_PHASE_A_PER_CATEGORY_ACCURACY, M_PHASE_A_COST_PER_CORRECT, M_TUNED_PER_CATEGORY_TABLE, selectBestRetrievalConfig, computeOracleAggregate, computeOracleCostPerCorrect, } from './retrieval-config.js';
|
|
129
129
|
export type { RetrievalConfigId, RetrievalConfigSpec, } from './retrieval-config.js';
|
|
130
|
+
export { MIN_COST_BEST_CAT_2026_04_28_TABLE as READER_MIN_COST_BEST_CAT_2026_04_28_TABLE, MIN_COST_BEST_CAT_GPT5_TR_2026_04_29_TABLE as READER_MIN_COST_BEST_CAT_GPT5_TR_2026_04_29_TABLE, READER_ROUTER_PRESET_TABLES, ReaderRouterUnknownCategoryError, ReaderRouterUnknownPresetError, selectReader, } from './reader-router.js';
|
|
131
|
+
export type { ReaderTier, ReaderRouterPreset, ReaderRouterTable, } from './reader-router.js';
|
|
130
132
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory-router/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6GG;AAMH,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,8BAA8B,EAC9B,6BAA6B,EAC7B,uCAAuC,GACxC,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,6BAA6B,EAC7B,mCAAmC,EACnC,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,mBAAmB,CAAC;AAM3B,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAMvB,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,eAAe,EACf,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,+BAA+B,EAC/B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory-router/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,7 +112,7 @@ export { MEMORY_QUERY_CATEGORIES } from './routing-tables.js';
|
|
|
112
112
|
// ============================================================================
|
|
113
113
|
// Values
|
|
114
114
|
// ============================================================================
|
|
115
|
-
export { MINIMIZE_COST_TABLE, BALANCED_TABLE, MAXIMIZE_ACCURACY_TABLE, PRESET_TABLES, MINIMIZE_COST_AUGMENTED_TABLE, S_BEST_CAT_HYDE_MS_2026_04_28_TABLE, AUGMENTED_PRESET_TABLES, SAFE_FALLBACK_BACKEND, SAFE_FALLBACK_DISPATCH_KEY, selectAugmentedDispatch, } from './routing-tables.js';
|
|
115
|
+
export { MINIMIZE_COST_TABLE, BALANCED_TABLE, MAXIMIZE_ACCURACY_TABLE, PRESET_TABLES, MINIMIZE_COST_AUGMENTED_TABLE, S_BEST_CAT_HYDE_MS_2026_04_28_TABLE, S_BEST_CAT_TOPK50_MULT5_MS_2026_04_29_TABLE, AUGMENTED_PRESET_TABLES, SAFE_FALLBACK_BACKEND, SAFE_FALLBACK_DISPATCH_KEY, selectAugmentedDispatch, } from './routing-tables.js';
|
|
116
116
|
export { TIER_1_CANONICAL_COSTS, TIER_2A_V10_COSTS, TIER_2B_V11_COSTS, DEFAULT_MEMORY_BACKEND_COSTS, } from './backend-costs.js';
|
|
117
117
|
export { selectBackend, MemoryRouterUnknownCategoryError, MemoryRouterBudgetExceededError, } from './select-backend.js';
|
|
118
118
|
export { CLASSIFIER_SYSTEM_PROMPT, CLASSIFIER_SYSTEM_PROMPT_FEWSHOT, SAFE_FALLBACK_CATEGORY, LLMMemoryClassifier, normalizeClassifierOutput, parseClassifierOutput, } from './classifier.js';
|
|
@@ -128,4 +128,10 @@ export { EntityRetrievalRanker, createEntityRetrievalRanker, } from './backends/
|
|
|
128
128
|
// from 2026-04-26 LongMemEval-M Phase A N=54 ablation matrix)
|
|
129
129
|
// ============================================================================
|
|
130
130
|
export { RETRIEVAL_CONFIG_IDS, RETRIEVAL_CONFIG_SPECS, M_PHASE_A_PER_CATEGORY_ACCURACY, M_PHASE_A_COST_PER_CORRECT, M_TUNED_PER_CATEGORY_TABLE, selectBestRetrievalConfig, computeOracleAggregate, computeOracleCostPerCorrect, } from './retrieval-config.js';
|
|
131
|
+
// ============================================================================
|
|
132
|
+
// ReaderRouter (per-query reader-tier dispatch, calibrated from
|
|
133
|
+
// 2026-04-28 LongMemEval-S Phase B N=500 per-category gpt-4o vs
|
|
134
|
+
// gpt-5-mini split)
|
|
135
|
+
// ============================================================================
|
|
136
|
+
export { MIN_COST_BEST_CAT_2026_04_28_TABLE as READER_MIN_COST_BEST_CAT_2026_04_28_TABLE, MIN_COST_BEST_CAT_GPT5_TR_2026_04_29_TABLE as READER_MIN_COST_BEST_CAT_GPT5_TR_2026_04_29_TABLE, READER_ROUTER_PRESET_TABLES, ReaderRouterUnknownCategoryError, ReaderRouterUnknownPresetError, selectReader, } from './reader-router.js';
|
|
131
137
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory-router/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6GG;AAeH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAuC9D,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,6BAA6B,EAC7B,mCAAmC,EACnC,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,mBAAmB,CAAC;AAgB3B,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAE/E,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAO7B,+EAA+E;AAC/E,yEAAyE;AACzE,8DAA8D;AAC9D,+EAA+E;AAE/E,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,+BAA+B,EAC/B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory-router/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6GG;AAeH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAuC9D,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,6BAA6B,EAC7B,mCAAmC,EACnC,2CAA2C,EAC3C,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,mBAAmB,CAAC;AAgB3B,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAE/E,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAO7B,+EAA+E;AAC/E,yEAAyE;AACzE,8DAA8D;AAC9D,+EAA+E;AAE/E,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,+BAA+B,EAC/B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAO/B,+EAA+E;AAC/E,gEAAgE;AAChE,gEAAgE;AAChE,oBAAoB;AACpB,+EAA+E;AAE/E,OAAO,EACL,kCAAkC,IAAI,yCAAyC,EAC/E,0CAA0C,IAAI,iDAAiD,EAC/F,2BAA2B,EAC3B,gCAAgC,EAChC,8BAA8B,EAC9B,YAAY,GACb,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file reader-router.ts
|
|
3
|
+
* @description ReaderRouter primitive — per-query reader-tier dispatch.
|
|
4
|
+
*
|
|
5
|
+
* **What this primitive does:**
|
|
6
|
+
*
|
|
7
|
+
* The shipping {@link MemoryRouter} dispatches per-query among recall
|
|
8
|
+
* BACKENDS (canonical-hybrid, OM-v10, OM-v11). The
|
|
9
|
+
* {@link RetrievalConfigRouter} dispatches per-query retrieval-CONFIG
|
|
10
|
+
* (canonical, hyde, topk50-mult5, etc.). The ReaderRouter completes
|
|
11
|
+
* the orchestration triplet by dispatching per-query among READER
|
|
12
|
+
* MODELS (`gpt-4o`, `gpt-5`, `gpt-5-mini`) using the same
|
|
13
|
+
* `gpt-5-mini` classifier output.
|
|
14
|
+
*
|
|
15
|
+
* **Why this exists:**
|
|
16
|
+
*
|
|
17
|
+
* The 2026-04-28 LongMemEval-S Phase B per-category accuracy split
|
|
18
|
+
* between `gpt-4o` and `gpt-5-mini` at the canonical-hybrid retrieval
|
|
19
|
+
* stack revealed dramatic per-category preference: `gpt-4o` wins TR
|
|
20
|
+
* (+11.8 pp) and SSU (+4.3 pp); `gpt-5-mini` wins SSP (+23.4 pp), and
|
|
21
|
+
* the rest are statistically tied with `gpt-5-mini` cheaper. A static
|
|
22
|
+
* always-on reader at either tier leaves ~3 pp of accuracy on the table
|
|
23
|
+
* vs per-category-oracle dispatch (which the gpt-5-mini classifier
|
|
24
|
+
* already provides through the policy router and retrieval-config
|
|
25
|
+
* router pipelines).
|
|
26
|
+
*
|
|
27
|
+
* **Calibration sources:**
|
|
28
|
+
*
|
|
29
|
+
* `MIN_COST_BEST_CAT_2026_04_28_TABLE` (the v1 publication preset) is
|
|
30
|
+
* calibrated from LongMemEval-S Phase B N=500 runs:
|
|
31
|
+
*
|
|
32
|
+
* - results/runs/2026-04-27T06-27-24-170--longmemeval-s--gpt-4o--full-cognitive--ingest.json
|
|
33
|
+
* - results/runs/2026-04-28T08-07-48-754--longmemeval-s--gpt-5-mini--full-cognitive--ingest.json
|
|
34
|
+
*
|
|
35
|
+
* Per-category accuracy (judge `gpt-4o-2024-08-06`, rubric 2026-04-18.1):
|
|
36
|
+
*
|
|
37
|
+
* | Category | gpt-4o | gpt-5-mini | Pick | Δ |
|
|
38
|
+
* | ------------------------- | -----: | ---------: | :-------- | -------- |
|
|
39
|
+
* | temporal-reasoning (n=133)| 84.7% | 72.9% | gpt-4o | +11.8 pp |
|
|
40
|
+
* | single-session-user (n=70)| 94.3% | 90.0% | gpt-4o | +4.3 pp |
|
|
41
|
+
* | single-session-pref (n=30)| 63.3% | 86.7% | gpt-5-mini| +23.4 pp |
|
|
42
|
+
* | single-session-asst (n=56)| 98.2% | 100.0% | gpt-5-mini| +1.8 pp |
|
|
43
|
+
* | knowledge-update (n=78)| 85.7% | 87.2% | gpt-5-mini| +1.5 pp |
|
|
44
|
+
* | multi-session (n=133)| 76.2% | 79.7% | gpt-5-mini| +3.5 pp |
|
|
45
|
+
*
|
|
46
|
+
* Oracle aggregate at this calibration: 435/500 = 87.0% (+3.8 pp over
|
|
47
|
+
* either reader alone). Realized at ~80% classifier accuracy: ~85-86%
|
|
48
|
+
* (validated at 85.6% Phase B N=500 with the standalone classifier).
|
|
49
|
+
*
|
|
50
|
+
* `MIN_COST_BEST_CAT_GPT5_TR_2026_04_29_TABLE` (the v1.1 follow-up)
|
|
51
|
+
* replaces the gpt-4o picks for TR and SSU with `gpt-5`, on Phase A
|
|
52
|
+
* signal of +4 pp on TR + cheaper input pricing (gpt-5 input is half
|
|
53
|
+
* gpt-4o's per-1K-token rate). Phase B at N=500 is the validation
|
|
54
|
+
* gate.
|
|
55
|
+
*
|
|
56
|
+
* **Opt-in by registration:**
|
|
57
|
+
*
|
|
58
|
+
* Consumers register only the {@link ReaderRouterPreset} they support
|
|
59
|
+
* in their dispatcher. The selector throws a typed error if asked for
|
|
60
|
+
* a category that's missing from the active preset's table — the
|
|
61
|
+
* shipped presets cover every {@link MemoryQueryCategory}.
|
|
62
|
+
*
|
|
63
|
+
* @module @framers/agentos/memory-router/reader-router
|
|
64
|
+
*/
|
|
65
|
+
import type { MemoryQueryCategory } from './routing-tables.js';
|
|
66
|
+
/**
|
|
67
|
+
* Reader tier the router can dispatch to. Restricted to OpenAI models
|
|
68
|
+
* the shipped presets were calibrated against. Future presets (e.g.
|
|
69
|
+
* `claude-opus-4-7` + `gpt-5-mini`) would extend this union.
|
|
70
|
+
*/
|
|
71
|
+
export type ReaderTier = 'gpt-4o' | 'gpt-5' | 'gpt-5-mini';
|
|
72
|
+
/**
|
|
73
|
+
* Registered preset identifier. Each preset names the calibration
|
|
74
|
+
* source + the date the calibration table was derived, mirroring the
|
|
75
|
+
* `MINIMIZE_COST_*` preset naming convention in this package.
|
|
76
|
+
*/
|
|
77
|
+
export type ReaderRouterPreset = 'min-cost-best-cat-2026-04-28' | 'min-cost-best-cat-gpt5-tr-2026-04-29';
|
|
78
|
+
/**
|
|
79
|
+
* A complete reader-router calibration: every {@link MemoryQueryCategory}
|
|
80
|
+
* MUST map to a {@link ReaderTier}. The runtime guard in
|
|
81
|
+
* {@link selectReader} fires if a future table addition forgets a
|
|
82
|
+
* category.
|
|
83
|
+
*/
|
|
84
|
+
export interface ReaderRouterTable {
|
|
85
|
+
readonly preset: ReaderRouterPreset;
|
|
86
|
+
/** Per-category reader assignment. */
|
|
87
|
+
readonly mapping: Readonly<Record<MemoryQueryCategory, ReaderTier>>;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Error thrown when {@link selectReader} is called with a category
|
|
91
|
+
* that is not present in the active routing table. Should never fire
|
|
92
|
+
* in production (TypeScript guards exhaustive {@link MemoryQueryCategory}
|
|
93
|
+
* at compile time), but the runtime check protects against structural
|
|
94
|
+
* casts and future table refactors that introduce a partial mapping.
|
|
95
|
+
*/
|
|
96
|
+
export declare class ReaderRouterUnknownCategoryError extends Error {
|
|
97
|
+
constructor(category: string, preset: string);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Error thrown when {@link selectReader} is called with a preset that
|
|
101
|
+
* is not registered in {@link READER_ROUTER_PRESET_TABLES}. Guards
|
|
102
|
+
* against typos in CLI flag passthrough — `min-cost-best-cat-2026-04-27`
|
|
103
|
+
* (off-by-one date) would fail fast here rather than silently routing
|
|
104
|
+
* every case to a default reader.
|
|
105
|
+
*/
|
|
106
|
+
export declare class ReaderRouterUnknownPresetError extends Error {
|
|
107
|
+
constructor(preset: string);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The MIN_COST_BEST_CAT_2026_04_28 calibration. See file header for
|
|
111
|
+
* the derivation table and source runs.
|
|
112
|
+
*/
|
|
113
|
+
export declare const MIN_COST_BEST_CAT_2026_04_28_TABLE: ReaderRouterTable;
|
|
114
|
+
/**
|
|
115
|
+
* The MIN_COST_BEST_CAT_GPT5_TR_2026_04_29 calibration. Replaces the
|
|
116
|
+
* gpt-4o picks for `temporal-reasoning` and `single-session-user`
|
|
117
|
+
* with `gpt-5` (cheaper input than gpt-4o + Phase A signal of +4 pp
|
|
118
|
+
* on TR). Keeps the gpt-5-mini picks for `single-session-assistant`,
|
|
119
|
+
* `single-session-preference`, `knowledge-update`, and `multi-session`
|
|
120
|
+
* unchanged.
|
|
121
|
+
*
|
|
122
|
+
* **Calibration source:** Phase A N=54 stratified probe at
|
|
123
|
+
* canonical+RR + `--reader gpt-5` (no router) measured TR 88.9%
|
|
124
|
+
* [66.7%, 100%] vs the gpt-4o Phase B baseline 84.7% — a +4.2 pp
|
|
125
|
+
* point estimate at small sample. SSU was 100% at N=9 vs 94.3%
|
|
126
|
+
* baseline. Phase A only; Phase B at N=500 is the validation gate.
|
|
127
|
+
*
|
|
128
|
+
* **Why ship as a preset rather than defaulting:** preset is opt-in
|
|
129
|
+
* via the bench's `--reader-router min-cost-best-cat-gpt5-tr-2026-04-29`
|
|
130
|
+
* flag. Phase B may show the gpt-5 lift collapses (Phase A → Phase B
|
|
131
|
+
* compressions have happened repeatedly in this benchmark on small
|
|
132
|
+
* samples).
|
|
133
|
+
*/
|
|
134
|
+
export declare const MIN_COST_BEST_CAT_GPT5_TR_2026_04_29_TABLE: ReaderRouterTable;
|
|
135
|
+
/**
|
|
136
|
+
* Registry of all calibrated reader-router tables. Adding a new
|
|
137
|
+
* preset means (a) extending {@link ReaderRouterPreset}, (b) defining
|
|
138
|
+
* a `*_TABLE` const with the calibration, (c) adding the entry here.
|
|
139
|
+
* Frozen at module load.
|
|
140
|
+
*/
|
|
141
|
+
export declare const READER_ROUTER_PRESET_TABLES: Readonly<Record<ReaderRouterPreset, ReaderRouterTable>>;
|
|
142
|
+
/**
|
|
143
|
+
* Pick a reader tier for a given predicted category under a calibration
|
|
144
|
+
* preset. Stateless. Deterministic. No I/O. Suitable for use inside
|
|
145
|
+
* cache-key construction and hot dispatch loops.
|
|
146
|
+
*
|
|
147
|
+
* @throws {ReaderRouterUnknownPresetError} when `preset` is not in
|
|
148
|
+
* {@link READER_ROUTER_PRESET_TABLES}.
|
|
149
|
+
* @throws {ReaderRouterUnknownCategoryError} when the table for
|
|
150
|
+
* `preset` is missing an entry for `category`. (Defensive runtime
|
|
151
|
+
* guard; not reachable through the type system on a properly-
|
|
152
|
+
* constructed table.)
|
|
153
|
+
*/
|
|
154
|
+
export declare function selectReader(category: MemoryQueryCategory, preset: ReaderRouterPreset): ReaderTier;
|
|
155
|
+
//# sourceMappingURL=reader-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader-router.d.ts","sourceRoot":"","sources":["../../src/memory-router/reader-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAC1B,8BAA8B,GAC9B,sCAAsC,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAC;CACrE;AAED;;;;;;GAMG;AACH,qBAAa,gCAAiC,SAAQ,KAAK;gBAC7C,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAM7C;AAED;;;;;;GAMG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;gBAC3C,MAAM,EAAE,MAAM;CAO3B;AAED;;;GAGG;AACH,eAAO,MAAM,kCAAkC,EAAE,iBAU1B,CAAC;AAExB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,0CAA0C,EAAE,iBAUlC,CAAC;AAExB;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAChD,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAI7C,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,kBAAkB,GACzB,UAAU,CAUZ"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file reader-router.ts
|
|
3
|
+
* @description ReaderRouter primitive — per-query reader-tier dispatch.
|
|
4
|
+
*
|
|
5
|
+
* **What this primitive does:**
|
|
6
|
+
*
|
|
7
|
+
* The shipping {@link MemoryRouter} dispatches per-query among recall
|
|
8
|
+
* BACKENDS (canonical-hybrid, OM-v10, OM-v11). The
|
|
9
|
+
* {@link RetrievalConfigRouter} dispatches per-query retrieval-CONFIG
|
|
10
|
+
* (canonical, hyde, topk50-mult5, etc.). The ReaderRouter completes
|
|
11
|
+
* the orchestration triplet by dispatching per-query among READER
|
|
12
|
+
* MODELS (`gpt-4o`, `gpt-5`, `gpt-5-mini`) using the same
|
|
13
|
+
* `gpt-5-mini` classifier output.
|
|
14
|
+
*
|
|
15
|
+
* **Why this exists:**
|
|
16
|
+
*
|
|
17
|
+
* The 2026-04-28 LongMemEval-S Phase B per-category accuracy split
|
|
18
|
+
* between `gpt-4o` and `gpt-5-mini` at the canonical-hybrid retrieval
|
|
19
|
+
* stack revealed dramatic per-category preference: `gpt-4o` wins TR
|
|
20
|
+
* (+11.8 pp) and SSU (+4.3 pp); `gpt-5-mini` wins SSP (+23.4 pp), and
|
|
21
|
+
* the rest are statistically tied with `gpt-5-mini` cheaper. A static
|
|
22
|
+
* always-on reader at either tier leaves ~3 pp of accuracy on the table
|
|
23
|
+
* vs per-category-oracle dispatch (which the gpt-5-mini classifier
|
|
24
|
+
* already provides through the policy router and retrieval-config
|
|
25
|
+
* router pipelines).
|
|
26
|
+
*
|
|
27
|
+
* **Calibration sources:**
|
|
28
|
+
*
|
|
29
|
+
* `MIN_COST_BEST_CAT_2026_04_28_TABLE` (the v1 publication preset) is
|
|
30
|
+
* calibrated from LongMemEval-S Phase B N=500 runs:
|
|
31
|
+
*
|
|
32
|
+
* - results/runs/2026-04-27T06-27-24-170--longmemeval-s--gpt-4o--full-cognitive--ingest.json
|
|
33
|
+
* - results/runs/2026-04-28T08-07-48-754--longmemeval-s--gpt-5-mini--full-cognitive--ingest.json
|
|
34
|
+
*
|
|
35
|
+
* Per-category accuracy (judge `gpt-4o-2024-08-06`, rubric 2026-04-18.1):
|
|
36
|
+
*
|
|
37
|
+
* | Category | gpt-4o | gpt-5-mini | Pick | Δ |
|
|
38
|
+
* | ------------------------- | -----: | ---------: | :-------- | -------- |
|
|
39
|
+
* | temporal-reasoning (n=133)| 84.7% | 72.9% | gpt-4o | +11.8 pp |
|
|
40
|
+
* | single-session-user (n=70)| 94.3% | 90.0% | gpt-4o | +4.3 pp |
|
|
41
|
+
* | single-session-pref (n=30)| 63.3% | 86.7% | gpt-5-mini| +23.4 pp |
|
|
42
|
+
* | single-session-asst (n=56)| 98.2% | 100.0% | gpt-5-mini| +1.8 pp |
|
|
43
|
+
* | knowledge-update (n=78)| 85.7% | 87.2% | gpt-5-mini| +1.5 pp |
|
|
44
|
+
* | multi-session (n=133)| 76.2% | 79.7% | gpt-5-mini| +3.5 pp |
|
|
45
|
+
*
|
|
46
|
+
* Oracle aggregate at this calibration: 435/500 = 87.0% (+3.8 pp over
|
|
47
|
+
* either reader alone). Realized at ~80% classifier accuracy: ~85-86%
|
|
48
|
+
* (validated at 85.6% Phase B N=500 with the standalone classifier).
|
|
49
|
+
*
|
|
50
|
+
* `MIN_COST_BEST_CAT_GPT5_TR_2026_04_29_TABLE` (the v1.1 follow-up)
|
|
51
|
+
* replaces the gpt-4o picks for TR and SSU with `gpt-5`, on Phase A
|
|
52
|
+
* signal of +4 pp on TR + cheaper input pricing (gpt-5 input is half
|
|
53
|
+
* gpt-4o's per-1K-token rate). Phase B at N=500 is the validation
|
|
54
|
+
* gate.
|
|
55
|
+
*
|
|
56
|
+
* **Opt-in by registration:**
|
|
57
|
+
*
|
|
58
|
+
* Consumers register only the {@link ReaderRouterPreset} they support
|
|
59
|
+
* in their dispatcher. The selector throws a typed error if asked for
|
|
60
|
+
* a category that's missing from the active preset's table — the
|
|
61
|
+
* shipped presets cover every {@link MemoryQueryCategory}.
|
|
62
|
+
*
|
|
63
|
+
* @module @framers/agentos/memory-router/reader-router
|
|
64
|
+
*/
|
|
65
|
+
/**
|
|
66
|
+
* Error thrown when {@link selectReader} is called with a category
|
|
67
|
+
* that is not present in the active routing table. Should never fire
|
|
68
|
+
* in production (TypeScript guards exhaustive {@link MemoryQueryCategory}
|
|
69
|
+
* at compile time), but the runtime check protects against structural
|
|
70
|
+
* casts and future table refactors that introduce a partial mapping.
|
|
71
|
+
*/
|
|
72
|
+
export class ReaderRouterUnknownCategoryError extends Error {
|
|
73
|
+
constructor(category, preset) {
|
|
74
|
+
super(`ReaderRouter: category '${category}' not in routing table for preset '${preset}'`);
|
|
75
|
+
this.name = 'ReaderRouterUnknownCategoryError';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Error thrown when {@link selectReader} is called with a preset that
|
|
80
|
+
* is not registered in {@link READER_ROUTER_PRESET_TABLES}. Guards
|
|
81
|
+
* against typos in CLI flag passthrough — `min-cost-best-cat-2026-04-27`
|
|
82
|
+
* (off-by-one date) would fail fast here rather than silently routing
|
|
83
|
+
* every case to a default reader.
|
|
84
|
+
*/
|
|
85
|
+
export class ReaderRouterUnknownPresetError extends Error {
|
|
86
|
+
constructor(preset) {
|
|
87
|
+
super(`ReaderRouter: preset '${preset}' is not registered. ` +
|
|
88
|
+
`Known presets: ${Object.keys(READER_ROUTER_PRESET_TABLES).join(', ')}`);
|
|
89
|
+
this.name = 'ReaderRouterUnknownPresetError';
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* The MIN_COST_BEST_CAT_2026_04_28 calibration. See file header for
|
|
94
|
+
* the derivation table and source runs.
|
|
95
|
+
*/
|
|
96
|
+
export const MIN_COST_BEST_CAT_2026_04_28_TABLE = Object.freeze({
|
|
97
|
+
preset: 'min-cost-best-cat-2026-04-28',
|
|
98
|
+
mapping: Object.freeze({
|
|
99
|
+
'temporal-reasoning': 'gpt-4o',
|
|
100
|
+
'single-session-user': 'gpt-4o',
|
|
101
|
+
'single-session-preference': 'gpt-5-mini',
|
|
102
|
+
'single-session-assistant': 'gpt-5-mini',
|
|
103
|
+
'knowledge-update': 'gpt-5-mini',
|
|
104
|
+
'multi-session': 'gpt-5-mini',
|
|
105
|
+
}),
|
|
106
|
+
});
|
|
107
|
+
/**
|
|
108
|
+
* The MIN_COST_BEST_CAT_GPT5_TR_2026_04_29 calibration. Replaces the
|
|
109
|
+
* gpt-4o picks for `temporal-reasoning` and `single-session-user`
|
|
110
|
+
* with `gpt-5` (cheaper input than gpt-4o + Phase A signal of +4 pp
|
|
111
|
+
* on TR). Keeps the gpt-5-mini picks for `single-session-assistant`,
|
|
112
|
+
* `single-session-preference`, `knowledge-update`, and `multi-session`
|
|
113
|
+
* unchanged.
|
|
114
|
+
*
|
|
115
|
+
* **Calibration source:** Phase A N=54 stratified probe at
|
|
116
|
+
* canonical+RR + `--reader gpt-5` (no router) measured TR 88.9%
|
|
117
|
+
* [66.7%, 100%] vs the gpt-4o Phase B baseline 84.7% — a +4.2 pp
|
|
118
|
+
* point estimate at small sample. SSU was 100% at N=9 vs 94.3%
|
|
119
|
+
* baseline. Phase A only; Phase B at N=500 is the validation gate.
|
|
120
|
+
*
|
|
121
|
+
* **Why ship as a preset rather than defaulting:** preset is opt-in
|
|
122
|
+
* via the bench's `--reader-router min-cost-best-cat-gpt5-tr-2026-04-29`
|
|
123
|
+
* flag. Phase B may show the gpt-5 lift collapses (Phase A → Phase B
|
|
124
|
+
* compressions have happened repeatedly in this benchmark on small
|
|
125
|
+
* samples).
|
|
126
|
+
*/
|
|
127
|
+
export const MIN_COST_BEST_CAT_GPT5_TR_2026_04_29_TABLE = Object.freeze({
|
|
128
|
+
preset: 'min-cost-best-cat-gpt5-tr-2026-04-29',
|
|
129
|
+
mapping: Object.freeze({
|
|
130
|
+
'temporal-reasoning': 'gpt-5',
|
|
131
|
+
'single-session-user': 'gpt-5',
|
|
132
|
+
'single-session-preference': 'gpt-5-mini',
|
|
133
|
+
'single-session-assistant': 'gpt-5-mini',
|
|
134
|
+
'knowledge-update': 'gpt-5-mini',
|
|
135
|
+
'multi-session': 'gpt-5-mini',
|
|
136
|
+
}),
|
|
137
|
+
});
|
|
138
|
+
/**
|
|
139
|
+
* Registry of all calibrated reader-router tables. Adding a new
|
|
140
|
+
* preset means (a) extending {@link ReaderRouterPreset}, (b) defining
|
|
141
|
+
* a `*_TABLE` const with the calibration, (c) adding the entry here.
|
|
142
|
+
* Frozen at module load.
|
|
143
|
+
*/
|
|
144
|
+
export const READER_ROUTER_PRESET_TABLES = Object.freeze({
|
|
145
|
+
'min-cost-best-cat-2026-04-28': MIN_COST_BEST_CAT_2026_04_28_TABLE,
|
|
146
|
+
'min-cost-best-cat-gpt5-tr-2026-04-29': MIN_COST_BEST_CAT_GPT5_TR_2026_04_29_TABLE,
|
|
147
|
+
});
|
|
148
|
+
/**
|
|
149
|
+
* Pick a reader tier for a given predicted category under a calibration
|
|
150
|
+
* preset. Stateless. Deterministic. No I/O. Suitable for use inside
|
|
151
|
+
* cache-key construction and hot dispatch loops.
|
|
152
|
+
*
|
|
153
|
+
* @throws {ReaderRouterUnknownPresetError} when `preset` is not in
|
|
154
|
+
* {@link READER_ROUTER_PRESET_TABLES}.
|
|
155
|
+
* @throws {ReaderRouterUnknownCategoryError} when the table for
|
|
156
|
+
* `preset` is missing an entry for `category`. (Defensive runtime
|
|
157
|
+
* guard; not reachable through the type system on a properly-
|
|
158
|
+
* constructed table.)
|
|
159
|
+
*/
|
|
160
|
+
export function selectReader(category, preset) {
|
|
161
|
+
const table = READER_ROUTER_PRESET_TABLES[preset];
|
|
162
|
+
if (!table) {
|
|
163
|
+
throw new ReaderRouterUnknownPresetError(preset);
|
|
164
|
+
}
|
|
165
|
+
const reader = table.mapping[category];
|
|
166
|
+
if (!reader) {
|
|
167
|
+
throw new ReaderRouterUnknownCategoryError(category, preset);
|
|
168
|
+
}
|
|
169
|
+
return reader;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=reader-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader-router.js","sourceRoot":"","sources":["../../src/memory-router/reader-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAgCH;;;;;;GAMG;AACH,MAAM,OAAO,gCAAiC,SAAQ,KAAK;IACzD,YAAY,QAAgB,EAAE,MAAc;QAC1C,KAAK,CACH,2BAA2B,QAAQ,sCAAsC,MAAM,GAAG,CACnF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvD,YAAY,MAAc;QACxB,KAAK,CACH,yBAAyB,MAAM,uBAAuB;YACpD,kBAAkB,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1E,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAsB,MAAM,CAAC,MAAM,CAAC;IACjF,MAAM,EAAE,8BAAuC;IAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,oBAAoB,EAAE,QAAiB;QACvC,qBAAqB,EAAE,QAAiB;QACxC,2BAA2B,EAAE,YAAqB;QAClD,0BAA0B,EAAE,YAAqB;QACjD,kBAAkB,EAAE,YAAqB;QACzC,eAAe,EAAE,YAAqB;KACvC,CAAC;CACH,CAAsB,CAAC;AAExB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAsB,MAAM,CAAC,MAAM,CAAC;IACzF,MAAM,EAAE,sCAA+C;IACvD,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,oBAAoB,EAAE,OAAgB;QACtC,qBAAqB,EAAE,OAAgB;QACvC,2BAA2B,EAAE,YAAqB;QAClD,0BAA0B,EAAE,YAAqB;QACjD,kBAAkB,EAAE,YAAqB;QACzC,eAAe,EAAE,YAAqB;KACvC,CAAC;CACH,CAAsB,CAAC;AAExB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAEpC,MAAM,CAAC,MAAM,CAAC;IAChB,8BAA8B,EAAE,kCAAkC;IAClE,sCAAsC,EAAE,0CAA0C;CACnF,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAC1B,QAA6B,EAC7B,MAA0B;IAE1B,MAAM,KAAK,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,gCAAgC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -179,13 +179,25 @@ export declare const SAFE_FALLBACK_DISPATCH_KEY: MemoryDispatchKey;
|
|
|
179
179
|
* queries benefit from hypothetical-document expansion. Calibration
|
|
180
180
|
* anchors against the 2026-04-28 canonical+RR Phase B headline (85.6%
|
|
181
181
|
* aggregate, MS at 76.9% — the only weak category at S scale).
|
|
182
|
+
* **REFUTED at Phase A 2026-04-29** — MS dropped to 22.2% (vs Phase B
|
|
183
|
+
* baseline 74.4%, a -52.2 pp catastrophic regression). The dispatch
|
|
184
|
+
* primitive itself ships; this specific preset value is documented
|
|
185
|
+
* as a refuted hypothesis in the bench LEADERBOARD.
|
|
186
|
+
* - `s-best-cat-topk50-mult5-ms-2026-04-29` — surgical-MS-only S-tuned
|
|
187
|
+
* preset using a wider rerank candidate pool (rerank-candidate-
|
|
188
|
+
* multiplier 5) + larger reader-top-K (50) on MS only, on the bet
|
|
189
|
+
* that S-scale MS bridge queries are pool-size-bound rather than
|
|
190
|
+
* paraphrase-bound. The M Phase A ablation matrix supports this
|
|
191
|
+
* direction: `topk50-mult5` lifts M's MS from 18.0% canonical to
|
|
192
|
+
* 44.4%, while HyDE alone hurts (11.1%). This preset replaces the
|
|
193
|
+
* HyDE pick with topk50-mult5; SSA/SSU/KU/SSP/TR keep canonical.
|
|
182
194
|
*
|
|
183
195
|
* Reserved for v3 calibration alongside Stage E:
|
|
184
196
|
*
|
|
185
197
|
* - `balanced-augmented`, `maximize-accuracy-augmented` — table values
|
|
186
198
|
* and selector wiring will land when the calibration data exists.
|
|
187
199
|
*/
|
|
188
|
-
export type AugmentedMemoryRouterPreset = 'minimize-cost-augmented' | 's-best-cat-hyde-ms-2026-04-28' | 'balanced-augmented' | 'maximize-accuracy-augmented';
|
|
200
|
+
export type AugmentedMemoryRouterPreset = 'minimize-cost-augmented' | 's-best-cat-hyde-ms-2026-04-28' | 's-best-cat-topk50-mult5-ms-2026-04-29' | 'balanced-augmented' | 'maximize-accuracy-augmented';
|
|
189
201
|
/**
|
|
190
202
|
* An augmented routing table maps every {@link MemoryQueryCategory}
|
|
191
203
|
* to a {@link MemoryDispatchKey} (backend × retrieval-config). The
|
|
@@ -259,12 +271,44 @@ export declare const MINIMIZE_COST_AUGMENTED_TABLE: AugmentedRoutingTable;
|
|
|
259
271
|
* validation hypothesis once data lands.
|
|
260
272
|
*/
|
|
261
273
|
export declare const S_BEST_CAT_HYDE_MS_2026_04_28_TABLE: AugmentedRoutingTable;
|
|
274
|
+
/**
|
|
275
|
+
* Preset: s-best-cat-topk50-mult5-ms-2026-04-29.
|
|
276
|
+
*
|
|
277
|
+
* Surgical-MS-only S-tuned preset that follows on from the refuted
|
|
278
|
+
* `s-best-cat-hyde-ms-2026-04-28` HyDE-on-MS hypothesis. Switches
|
|
279
|
+
* multi-session to `topk50-mult5` (rerank candidate multiplier 5 +
|
|
280
|
+
* reader-top-K 50, no HyDE) and keeps every other category on
|
|
281
|
+
* canonical. Anchors against the 2026-04-28 canonical+RR Phase B
|
|
282
|
+
* headline (85.6% aggregate, MS at 76.9%).
|
|
283
|
+
*
|
|
284
|
+
* **Why this design:** The 2026-04-26 LongMemEval-M Phase A ablation
|
|
285
|
+
* matrix showed `topk50-mult5` lifts M's MS from canonical 18.0% to
|
|
286
|
+
* 44.4%, the second-best lift after the combined `hyde-topk50-mult5`
|
|
287
|
+
* config (66.7%). The HyDE-only variant HURT MS at every scale tested
|
|
288
|
+
* (M canonical 18% → HyDE 11.1%; S Phase B 74.4% → Phase A HyDE 22.2%).
|
|
289
|
+
* The reading: MS bridge queries are pool-size-bound, not paraphrase-
|
|
290
|
+
* bound. A wider Cohere rerank candidate pool gives the cross-encoder
|
|
291
|
+
* more candidate sessions to disambiguate among, without adding the
|
|
292
|
+
* hallucinated-document noise HyDE introduces. This preset isolates
|
|
293
|
+
* that variable on MS only.
|
|
294
|
+
*
|
|
295
|
+
* Backend axis: every category routes to canonical-hybrid (the 85.6%
|
|
296
|
+
* headline runs canonical end-to-end).
|
|
297
|
+
*
|
|
298
|
+
* **Calibration validity:** PRE-VALIDATION HYPOTHESIS. Anchored on
|
|
299
|
+
* the M Phase A ablation matrix's MS column. The transfer to S scale
|
|
300
|
+
* is the hypothesis to validate. Phase A probe at LongMemEval-S N=54
|
|
301
|
+
* is the next gate; Phase B at N=500 is the publication gate.
|
|
302
|
+
*/
|
|
303
|
+
export declare const S_BEST_CAT_TOPK50_MULT5_MS_2026_04_29_TABLE: AugmentedRoutingTable;
|
|
262
304
|
/**
|
|
263
305
|
* Convenience registry of augmented preset tables, keyed by preset
|
|
264
|
-
* name.
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
*
|
|
306
|
+
* name. Three presets ship: `minimize-cost-augmented` (v2 calibration),
|
|
307
|
+
* `s-best-cat-hyde-ms-2026-04-28` (S Pareto-win HyDE-on-MS — refuted
|
|
308
|
+
* at Phase A), and `s-best-cat-topk50-mult5-ms-2026-04-29` (the
|
|
309
|
+
* follow-up topk50-mult5-on-MS hypothesis). The `balanced-augmented`
|
|
310
|
+
* and `maximize-accuracy-augmented` slots are reserved for v3
|
|
311
|
+
* calibration alongside Stage E.
|
|
268
312
|
*/
|
|
269
313
|
export declare const AUGMENTED_PRESET_TABLES: Readonly<Partial<Record<AugmentedMemoryRouterPreset, AugmentedRoutingTable>>>;
|
|
270
314
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing-tables.d.ts","sourceRoot":"","sources":["../../src/memory-router/routing-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAM/D;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,sJAO1B,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,0BAA0B,GAC1B,0BAA0B,CAAC;AAE/B;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,UAAU,GACV,mBAAmB,CAAC;AAExB;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAC;CACjF;AAMD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mBAAmB,EAAE,YAUhB,CAAC;AAEnB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,YAUX,CAAC;AAEnB;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,EAAE,YAUpB,CAAC;AAEnB;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAKzE,CAAC;AAML;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,eAAoC,CAAC;AAEzE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAGvC,CAAC;AAEH
|
|
1
|
+
{"version":3,"file":"routing-tables.d.ts","sourceRoot":"","sources":["../../src/memory-router/routing-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAM/D;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,sJAO1B,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,0BAA0B,GAC1B,0BAA0B,CAAC;AAE/B;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,UAAU,GACV,mBAAmB,CAAC;AAExB;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAC;CACjF;AAMD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mBAAmB,EAAE,YAUhB,CAAC;AAEnB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,YAUX,CAAC;AAEnB;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,EAAE,YAUpB,CAAC;AAEnB;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAKzE,CAAC;AAML;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,eAAoC,CAAC;AAEzE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAGvC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,2BAA2B,GACnC,yBAAyB,GACzB,+BAA+B,GAC/B,uCAAuC,GACvC,oBAAoB,GACpB,6BAA6B,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAC;CACnF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,6BAA6B,EAAE,qBA4BjB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,mCAAmC,EAAE,qBA4BvB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,2CAA2C,EAAE,qBA4B/B,CAAC;AAE5B;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAC5C,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE,qBAAqB,CAAC,CAAC,CAKnE,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,EAAE,qBAAqB,GAC3B,iBAAiB,CAEnB"}
|
|
@@ -281,16 +281,77 @@ export const S_BEST_CAT_HYDE_MS_2026_04_28_TABLE = Object.freeze({
|
|
|
281
281
|
}),
|
|
282
282
|
}),
|
|
283
283
|
});
|
|
284
|
+
/**
|
|
285
|
+
* Preset: s-best-cat-topk50-mult5-ms-2026-04-29.
|
|
286
|
+
*
|
|
287
|
+
* Surgical-MS-only S-tuned preset that follows on from the refuted
|
|
288
|
+
* `s-best-cat-hyde-ms-2026-04-28` HyDE-on-MS hypothesis. Switches
|
|
289
|
+
* multi-session to `topk50-mult5` (rerank candidate multiplier 5 +
|
|
290
|
+
* reader-top-K 50, no HyDE) and keeps every other category on
|
|
291
|
+
* canonical. Anchors against the 2026-04-28 canonical+RR Phase B
|
|
292
|
+
* headline (85.6% aggregate, MS at 76.9%).
|
|
293
|
+
*
|
|
294
|
+
* **Why this design:** The 2026-04-26 LongMemEval-M Phase A ablation
|
|
295
|
+
* matrix showed `topk50-mult5` lifts M's MS from canonical 18.0% to
|
|
296
|
+
* 44.4%, the second-best lift after the combined `hyde-topk50-mult5`
|
|
297
|
+
* config (66.7%). The HyDE-only variant HURT MS at every scale tested
|
|
298
|
+
* (M canonical 18% → HyDE 11.1%; S Phase B 74.4% → Phase A HyDE 22.2%).
|
|
299
|
+
* The reading: MS bridge queries are pool-size-bound, not paraphrase-
|
|
300
|
+
* bound. A wider Cohere rerank candidate pool gives the cross-encoder
|
|
301
|
+
* more candidate sessions to disambiguate among, without adding the
|
|
302
|
+
* hallucinated-document noise HyDE introduces. This preset isolates
|
|
303
|
+
* that variable on MS only.
|
|
304
|
+
*
|
|
305
|
+
* Backend axis: every category routes to canonical-hybrid (the 85.6%
|
|
306
|
+
* headline runs canonical end-to-end).
|
|
307
|
+
*
|
|
308
|
+
* **Calibration validity:** PRE-VALIDATION HYPOTHESIS. Anchored on
|
|
309
|
+
* the M Phase A ablation matrix's MS column. The transfer to S scale
|
|
310
|
+
* is the hypothesis to validate. Phase A probe at LongMemEval-S N=54
|
|
311
|
+
* is the next gate; Phase B at N=500 is the publication gate.
|
|
312
|
+
*/
|
|
313
|
+
export const S_BEST_CAT_TOPK50_MULT5_MS_2026_04_29_TABLE = Object.freeze({
|
|
314
|
+
preset: 's-best-cat-topk50-mult5-ms-2026-04-29',
|
|
315
|
+
defaultMapping: Object.freeze({
|
|
316
|
+
'single-session-assistant': Object.freeze({
|
|
317
|
+
backend: 'canonical-hybrid',
|
|
318
|
+
retrievalConfig: 'canonical',
|
|
319
|
+
}),
|
|
320
|
+
'single-session-user': Object.freeze({
|
|
321
|
+
backend: 'canonical-hybrid',
|
|
322
|
+
retrievalConfig: 'canonical',
|
|
323
|
+
}),
|
|
324
|
+
'single-session-preference': Object.freeze({
|
|
325
|
+
backend: 'canonical-hybrid',
|
|
326
|
+
retrievalConfig: 'canonical',
|
|
327
|
+
}),
|
|
328
|
+
'knowledge-update': Object.freeze({
|
|
329
|
+
backend: 'canonical-hybrid',
|
|
330
|
+
retrievalConfig: 'canonical',
|
|
331
|
+
}),
|
|
332
|
+
'multi-session': Object.freeze({
|
|
333
|
+
backend: 'canonical-hybrid',
|
|
334
|
+
retrievalConfig: 'topk50-mult5',
|
|
335
|
+
}),
|
|
336
|
+
'temporal-reasoning': Object.freeze({
|
|
337
|
+
backend: 'canonical-hybrid',
|
|
338
|
+
retrievalConfig: 'canonical',
|
|
339
|
+
}),
|
|
340
|
+
}),
|
|
341
|
+
});
|
|
284
342
|
/**
|
|
285
343
|
* Convenience registry of augmented preset tables, keyed by preset
|
|
286
|
-
* name.
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
344
|
+
* name. Three presets ship: `minimize-cost-augmented` (v2 calibration),
|
|
345
|
+
* `s-best-cat-hyde-ms-2026-04-28` (S Pareto-win HyDE-on-MS — refuted
|
|
346
|
+
* at Phase A), and `s-best-cat-topk50-mult5-ms-2026-04-29` (the
|
|
347
|
+
* follow-up topk50-mult5-on-MS hypothesis). The `balanced-augmented`
|
|
348
|
+
* and `maximize-accuracy-augmented` slots are reserved for v3
|
|
349
|
+
* calibration alongside Stage E.
|
|
290
350
|
*/
|
|
291
351
|
export const AUGMENTED_PRESET_TABLES = Object.freeze({
|
|
292
352
|
'minimize-cost-augmented': MINIMIZE_COST_AUGMENTED_TABLE,
|
|
293
353
|
's-best-cat-hyde-ms-2026-04-28': S_BEST_CAT_HYDE_MS_2026_04_28_TABLE,
|
|
354
|
+
's-best-cat-topk50-mult5-ms-2026-04-29': S_BEST_CAT_TOPK50_MULT5_MS_2026_04_29_TABLE,
|
|
294
355
|
});
|
|
295
356
|
/**
|
|
296
357
|
* Pure-function selector: given a category and an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing-tables.js","sourceRoot":"","sources":["../../src/memory-router/routing-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,qBAAqB;IACrB,0BAA0B;IAC1B,2BAA2B;IAC3B,kBAAkB;IAClB,eAAe;IACf,oBAAoB;CACZ,CAAC;AA+CX,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAiB,MAAM,CAAC,MAAM,CAAC;IAC7D,MAAM,EAAE,eAAwB;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC;QAC5B,0BAA0B,EAAE,kBAAkB;QAC9C,qBAAqB,EAAE,kBAAkB;QACzC,oBAAoB,EAAE,kBAAkB;QACxC,kBAAkB,EAAE,kBAAkB;QACtC,eAAe,EAAE,0BAA0B;QAC3C,2BAA2B,EAAE,0BAA0B;KACxD,CAAC;CACH,CAAiB,CAAC;AAEnB;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiB,MAAM,CAAC,MAAM,CAAC;IACxD,MAAM,EAAE,UAAmB;IAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC;QAC5B,0BAA0B,EAAE,kBAAkB;QAC9C,qBAAqB,EAAE,kBAAkB;QACzC,oBAAoB,EAAE,0BAA0B;QAChD,kBAAkB,EAAE,0BAA0B;QAC9C,eAAe,EAAE,0BAA0B;QAC3C,2BAA2B,EAAE,0BAA0B;KACxD,CAAC;CACH,CAAiB,CAAC;AAEnB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAiB,MAAM,CAAC,MAAM,CAAC;IACjE,MAAM,EAAE,mBAA4B;IACpC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC;QAC5B,0BAA0B,EAAE,kBAAkB;QAC9C,qBAAqB,EAAE,0BAA0B;QACjD,oBAAoB,EAAE,kBAAkB;QACxC,kBAAkB,EAAE,0BAA0B;QAC9C,eAAe,EAAE,0BAA0B;QAC3C,2BAA2B,EAAE,0BAA0B;KACxD,CAAC;CACH,CAAiB,CAAC;AAEnB;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,MAAM,CAAC,MAAM,CAAC;IACZ,eAAe,EAAE,mBAAmB;IACpC,UAAU,EAAE,cAAc;IAC1B,mBAAmB,EAAE,uBAAuB;CAC7C,CAAC,CAAC;AAEL,+EAA+E;AAC/E,2DAA2D;AAC3D,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAoB,kBAAkB,CAAC;AAoBzE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAsB,MAAM,CAAC,MAAM,CAAC;IACzE,OAAO,EAAE,qBAAqB;IAC9B,eAAe,EAAE,WAAoB;CACtC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"routing-tables.js","sourceRoot":"","sources":["../../src/memory-router/routing-tables.ts"],"names":[],"mappings":"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"}
|