hippo-memory 1.28.0 → 1.30.0
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/README.md +15 -0
- package/dist/api.d.ts +25 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +101 -2
- package/dist/api.js.map +1 -1
- package/dist/audit.d.ts +1 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js.map +1 -1
- package/dist/capture.d.ts +49 -2
- package/dist/capture.d.ts.map +1 -1
- package/dist/capture.js +464 -1
- package/dist/capture.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +196 -3
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +21 -0
- package/dist/config.js.map +1 -1
- package/dist/consolidate.d.ts.map +1 -1
- package/dist/consolidate.js +195 -22
- package/dist/consolidate.js.map +1 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +75 -1
- package/dist/db.js.map +1 -1
- package/dist/hooks.d.ts +10 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +64 -1
- package/dist/hooks.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +14 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/memory-value-weights.d.ts +22 -0
- package/dist/memory-value-weights.d.ts.map +1 -0
- package/dist/memory-value-weights.js +31 -0
- package/dist/memory-value-weights.js.map +1 -0
- package/dist/memory-value.d.ts +123 -0
- package/dist/memory-value.d.ts.map +1 -0
- package/dist/memory-value.js +255 -0
- package/dist/memory-value.js.map +1 -0
- package/dist/recall-trace.d.ts +117 -0
- package/dist/recall-trace.d.ts.map +1 -0
- package/dist/recall-trace.js +179 -0
- package/dist/recall-trace.js.map +1 -0
- package/dist/secret-detect.d.ts +8 -0
- package/dist/secret-detect.d.ts.map +1 -1
- package/dist/secret-detect.js +25 -0
- package/dist/secret-detect.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/src/api.js +101 -2
- package/dist/src/api.js.map +1 -1
- package/dist/src/audit.js.map +1 -1
- package/dist/src/capture.js +464 -1
- package/dist/src/capture.js.map +1 -1
- package/dist/src/cli.js +196 -3
- package/dist/src/cli.js.map +1 -1
- package/dist/src/config.js +21 -0
- package/dist/src/config.js.map +1 -1
- package/dist/src/consolidate.js +195 -22
- package/dist/src/consolidate.js.map +1 -1
- package/dist/src/db.js +75 -1
- package/dist/src/db.js.map +1 -1
- package/dist/src/hooks.js +64 -1
- package/dist/src/hooks.js.map +1 -1
- package/dist/src/mcp/server.js +14 -1
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/memory-value-weights.js +31 -0
- package/dist/src/memory-value-weights.js.map +1 -0
- package/dist/src/memory-value.js +255 -0
- package/dist/src/memory-value.js.map +1 -0
- package/dist/src/recall-trace.js +179 -0
- package/dist/src/recall-trace.js.map +1 -0
- package/dist/src/secret-detect.js +25 -0
- package/dist/src/secret-detect.js.map +1 -1
- package/dist/src/server.js +1 -0
- package/dist/src/server.js.map +1 -1
- package/dist/src/store.js +55 -4
- package/dist/src/store.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/store.d.ts +15 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +55 -4
- package/dist/store.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
- package/extensions/openclaw-plugin/package.json +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LC2-E2 frozen learned memory-value weight vector.
|
|
3
|
+
*
|
|
4
|
+
* GENERATED FROM the E2 frozen artifact
|
|
5
|
+
* (benchmarks/memory-value/weights-learned.json +
|
|
6
|
+
* benchmarks/memory-value/weights-learned.meta.json). NEVER EDIT BY HAND —
|
|
7
|
+
* tests/memory-value-wiring.test.ts's weights-sync test asserts this constant
|
|
8
|
+
* equals the committed JSON artifact (value equality + digest match), so
|
|
9
|
+
* drift between the artifact and this file fails CI.
|
|
10
|
+
*
|
|
11
|
+
* CAVEAT (verbatim from the E2 result doc, carried by design decision D3 /
|
|
12
|
+
* binding constraint 4 in docs/plans/2026-08-10-lc2-e3-mv-wiring.md):
|
|
13
|
+
* usage-feature signs reflect E1's anti-oracle simulation, NOT real usage
|
|
14
|
+
* value. Never read this as production ranking advice — LC3 tests real
|
|
15
|
+
* usage value.
|
|
16
|
+
*/
|
|
17
|
+
/** The 8 live feature dims the E2 fitter optimized over (FIT_DIMS). */
|
|
18
|
+
export declare const MEMORY_VALUE_WEIGHTS: Readonly<Record<string, number>>;
|
|
19
|
+
/** sha256 of benchmarks/memory-value/weights-learned.json at freeze time
|
|
20
|
+
* (weights-learned.meta.json's `weightsFileSha256`). */
|
|
21
|
+
export declare const SOURCE_ARTIFACT_SHA256 = "1e747abed0df771fc9c354da8562771b336c4042faf0266f565bba1b5a8c5a40";
|
|
22
|
+
//# sourceMappingURL=memory-value-weights.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-value-weights.d.ts","sourceRoot":"","sources":["../src/memory-value-weights.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAShE,CAAC;AAEH;yDACyD;AACzD,eAAO,MAAM,sBAAsB,qEACiC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LC2-E2 frozen learned memory-value weight vector.
|
|
3
|
+
*
|
|
4
|
+
* GENERATED FROM the E2 frozen artifact
|
|
5
|
+
* (benchmarks/memory-value/weights-learned.json +
|
|
6
|
+
* benchmarks/memory-value/weights-learned.meta.json). NEVER EDIT BY HAND —
|
|
7
|
+
* tests/memory-value-wiring.test.ts's weights-sync test asserts this constant
|
|
8
|
+
* equals the committed JSON artifact (value equality + digest match), so
|
|
9
|
+
* drift between the artifact and this file fails CI.
|
|
10
|
+
*
|
|
11
|
+
* CAVEAT (verbatim from the E2 result doc, carried by design decision D3 /
|
|
12
|
+
* binding constraint 4 in docs/plans/2026-08-10-lc2-e3-mv-wiring.md):
|
|
13
|
+
* usage-feature signs reflect E1's anti-oracle simulation, NOT real usage
|
|
14
|
+
* value. Never read this as production ranking advice — LC3 tests real
|
|
15
|
+
* usage value.
|
|
16
|
+
*/
|
|
17
|
+
/** The 8 live feature dims the E2 fitter optimized over (FIT_DIMS). */
|
|
18
|
+
export const MEMORY_VALUE_WEIGHTS = Object.freeze({
|
|
19
|
+
age_days: -0.3245577821391783,
|
|
20
|
+
half_life_days: 0.11410695580440973,
|
|
21
|
+
strength: -0.06310995260145681,
|
|
22
|
+
retrieval_count: -0.5444761735321539,
|
|
23
|
+
outcome_positive: 0.2334052054621342,
|
|
24
|
+
outcome_negative: 0.37679543146869454,
|
|
25
|
+
outcome_ratio: 0.0770929409760307,
|
|
26
|
+
content_length: -0.6154742645858876,
|
|
27
|
+
});
|
|
28
|
+
/** sha256 of benchmarks/memory-value/weights-learned.json at freeze time
|
|
29
|
+
* (weights-learned.meta.json's `weightsFileSha256`). */
|
|
30
|
+
export const SOURCE_ARTIFACT_SHA256 = '1e747abed0df771fc9c354da8562771b336c4042faf0266f565bba1b5a8c5a40';
|
|
31
|
+
//# sourceMappingURL=memory-value-weights.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-value-weights.js","sourceRoot":"","sources":["../src/memory-value-weights.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAqC,MAAM,CAAC,MAAM,CAAC;IAClF,QAAQ,EAAE,CAAC,kBAAkB;IAC7B,cAAc,EAAE,mBAAmB;IACnC,QAAQ,EAAE,CAAC,mBAAmB;IAC9B,eAAe,EAAE,CAAC,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,mBAAmB;IACrC,aAAa,EAAE,kBAAkB;IACjC,cAAc,EAAE,CAAC,kBAAkB;CACpC,CAAC,CAAC;AAEH;yDACyD;AACzD,MAAM,CAAC,MAAM,sBAAsB,GACjC,kEAAkE,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LC2-E3 — learned memory-value scorer, wired into the sleep decay pass as a
|
|
3
|
+
* rescue-only veto (design D1/D2, docs/plans/2026-08-10-lc2-e3-mv-wiring.md).
|
|
4
|
+
*
|
|
5
|
+
* computeMvFeatures mirrors benchmarks/memory-value/extract.mjs's
|
|
6
|
+
* computeFeatures for the 8 live dims the E2 fitter optimized over
|
|
7
|
+
* (FIT_DIMS) — the only dims MEMORY_VALUE_WEIGHTS carries a weight for.
|
|
8
|
+
* Any future edit to either side must keep them byte-equivalent; the parity
|
|
9
|
+
* test in tests/memory-value-wiring.test.ts enforces this.
|
|
10
|
+
*
|
|
11
|
+
* scoreEntries mirrors benchmarks/memory-value/evaluate.mjs's per-store
|
|
12
|
+
* min-max normalization + weighted scorer (no additional orientation
|
|
13
|
+
* multiply — the frozen weights already encode sign/orientation).
|
|
14
|
+
*
|
|
15
|
+
* rescueSet implements D1's rescue-only semantics: a condemned entry is
|
|
16
|
+
* rescued iff its learned score ranks in the top 30% (RESCUE_BUDGET, the E2
|
|
17
|
+
* keep-budget operating point) of its own tenant's non-pinned candidate set
|
|
18
|
+
* (D2). Deletes(flag-on) subset Deletes(flag-off) by construction — this
|
|
19
|
+
* function can only ever shrink the condemned set, never grow it.
|
|
20
|
+
*/
|
|
21
|
+
import { type MemoryEntry } from './memory.js';
|
|
22
|
+
/** The 8 live feature dims (FIT_DIMS) — canonical order for iteration. */
|
|
23
|
+
export declare const MV_FEATURE_NAMES: ReadonlyArray<keyof MvFeatureVector>;
|
|
24
|
+
export interface MvFeatureVector {
|
|
25
|
+
age_days: number;
|
|
26
|
+
half_life_days: number;
|
|
27
|
+
strength: number;
|
|
28
|
+
retrieval_count: number;
|
|
29
|
+
outcome_positive: number;
|
|
30
|
+
outcome_negative: number;
|
|
31
|
+
outcome_ratio: number;
|
|
32
|
+
content_length: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Blind v1 feature dict for one MemoryEntry, restricted to the 8 dims the
|
|
36
|
+
* frozen weights carry (mirrors extract.mjs's computeFeatures).
|
|
37
|
+
*
|
|
38
|
+
* CRITICAL: `strength` is CLOCK-BASIS `calculateStrength(entry, now)` with
|
|
39
|
+
* NO DecayOptions — that is how the frozen weights' training features were
|
|
40
|
+
* computed (extract.mjs never passes decayOpts). Passing the production
|
|
41
|
+
* decay basis (config.decayBasis via consolidate.ts's decayOpts) into this
|
|
42
|
+
* feature would silently break parity with the frozen weight vector. This
|
|
43
|
+
* is an intentional divergence from the condemnation TRIGGER in
|
|
44
|
+
* consolidate.ts, which keeps using decayOpts as today — only the rescue
|
|
45
|
+
* FEATURE is clock-basis.
|
|
46
|
+
*/
|
|
47
|
+
export declare function computeMvFeatures(entry: MemoryEntry, now: Date): MvFeatureVector;
|
|
48
|
+
/**
|
|
49
|
+
* Throws if the weight constant is malformed: fewer/extra dims, a
|
|
50
|
+
* non-finite weight value, or a missing source digest. Flag-on + a broken
|
|
51
|
+
* constant must THROW, never silently behave as flag-off.
|
|
52
|
+
*
|
|
53
|
+
* Parameterized (defaults to the real frozen singleton) so the throw
|
|
54
|
+
* conditions are directly unit-testable without mutating the frozen
|
|
55
|
+
* MEMORY_VALUE_WEIGHTS export — mirrors fit.mjs's verifyFrozenWeights
|
|
56
|
+
* (see tests/memory-value-fit.test.ts's `describe('verifyFrozenWeights')`).
|
|
57
|
+
*/
|
|
58
|
+
export declare function validateWeights(weights?: Readonly<Record<string, number>>, digest?: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* Min-max normalize each of the 8 features over the given entry set
|
|
61
|
+
* (constant feature -> 0, matching evaluate.mjs), then score = dot(weights,
|
|
62
|
+
* normalized). The normalization context is exactly the entries passed in —
|
|
63
|
+
* callers control the bounded scope (D2: per-tenant, non-pinned).
|
|
64
|
+
*
|
|
65
|
+
* `weights` defaults to the real frozen singleton; parameterized (like
|
|
66
|
+
* validateWeights) so callers/tests can score against an explicit vector
|
|
67
|
+
* without touching the module singleton.
|
|
68
|
+
*
|
|
69
|
+
* Review-round F2 (non-finite features): Date.parse on a malformed `created`
|
|
70
|
+
* string yields NaN, and NaN would silently corrupt every OTHER entry's
|
|
71
|
+
* min-max in the same group. An entry with ANY non-finite computed feature
|
|
72
|
+
* is excluded from the normalization context entirely (its raw values never
|
|
73
|
+
* touch min/max) and always scores -Infinity — the lowest possible score, so
|
|
74
|
+
* it sorts to the bottom of its tenant deterministically and (via rescueSet's
|
|
75
|
+
* explicit finite-score guard below) can never be rescued. Conservative
|
|
76
|
+
* direction: deletes(flag-on) subset deletes(flag-off) still holds.
|
|
77
|
+
*/
|
|
78
|
+
export declare function scoreEntries(entries: MemoryEntry[], now: Date, weights?: Readonly<Record<string, number>>): Map<string, number>;
|
|
79
|
+
/** Per-entry rank context within its tenant's non-pinned candidate set —
|
|
80
|
+
* the score-rank basis both rescueSet's rescue decision and consolidate.ts's
|
|
81
|
+
* audit-row metadata read from. */
|
|
82
|
+
export interface MvRankInfo {
|
|
83
|
+
tenantId: string;
|
|
84
|
+
score: number;
|
|
85
|
+
/** 1-based rank by score DESC within the tenant's non-pinned candidate set. */
|
|
86
|
+
rank: number;
|
|
87
|
+
/** Size of the tenant's non-pinned candidate set (D2). */
|
|
88
|
+
totalNonPinned: number;
|
|
89
|
+
/** ceil(RESCUE_BUDGET * totalNonPinned) — the rescue cutoff; rank <= keepN rescues. */
|
|
90
|
+
keepN: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Groups non-pinned entries by tenantId (D2), scores + ranks each tenant's
|
|
94
|
+
* group independently, and returns per-entry rank context for every
|
|
95
|
+
* non-pinned entry (not just condemned ones) — the shared basis for both
|
|
96
|
+
* rescueSet's rescue decision and consolidate.ts's audit-row rank context,
|
|
97
|
+
* so the two never compute the ranking differently.
|
|
98
|
+
*
|
|
99
|
+
* `weights`/`digest` default to the real frozen singleton — parameterized
|
|
100
|
+
* (like validateWeights/scoreEntries) purely for direct unit-testability of
|
|
101
|
+
* the fail-loud path, never overridden by production callers.
|
|
102
|
+
*/
|
|
103
|
+
export declare function rankNonPinnedByTenant(entries: MemoryEntry[], now: Date, weights?: Readonly<Record<string, number>>, digest?: string): Map<string, MvRankInfo>;
|
|
104
|
+
/**
|
|
105
|
+
* D1 rescue decision: a condemned entry is rescued iff it ranks in the top
|
|
106
|
+
* 30% of its tenant's non-pinned candidate set by learned score. Returns the
|
|
107
|
+
* subset of condemnedIds that are rescued — the caller filters commits
|
|
108
|
+
* (rescued -> survivors) and threads the same set into detectConflicts.
|
|
109
|
+
*
|
|
110
|
+
* `weights`/`digest` default to the real frozen singleton; production
|
|
111
|
+
* callers (consolidate.ts) never pass overrides — the params exist purely so
|
|
112
|
+
* "flag on + a broken constant throws" is directly testable end-to-end
|
|
113
|
+
* through this function without mutating the frozen module singleton.
|
|
114
|
+
*
|
|
115
|
+
* `precomputedRanks` (round-2 code-review P2-2): when the caller has already
|
|
116
|
+
* computed the per-tenant ranking (e.g. consolidate.ts needs it separately
|
|
117
|
+
* for detail/audit rank context), pass it here to skip the internal
|
|
118
|
+
* rankNonPinnedByTenant call — the whole-store ranking pass then runs
|
|
119
|
+
* exactly once per sleep instead of twice. Omitted (the default), rescueSet
|
|
120
|
+
* computes it internally as before — existing callers/tests are unaffected.
|
|
121
|
+
*/
|
|
122
|
+
export declare function rescueSet(entries: MemoryEntry[], condemnedIds: Set<string>, now: Date, weights?: Readonly<Record<string, number>>, digest?: string, precomputedRanks?: Map<string, MvRankInfo>): Set<string>;
|
|
123
|
+
//# sourceMappingURL=memory-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-value.d.ts","sourceRoot":"","sources":["../src/memory-value.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,aAAa,CAAC;AAIlE,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,eAAe,CASjE,CAAC;AAoBF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,GAAG,eAAe,CAchF;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAwB,EAChE,MAAM,GAAE,MAA+B,GACtC,IAAI,CAeN;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EAAE,EACtB,GAAG,EAAE,IAAI,EACT,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAwB,GAC/D,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAuCrB;AAED;;oCAEoC;AACpC,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EAAE,EACtB,GAAG,EAAE,IAAI,EACT,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAwB,EAChE,MAAM,GAAE,MAA+B,GACtC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CA8CzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,WAAW,EAAE,EACtB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,GAAG,EAAE,IAAI,EACT,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAwB,EAChE,MAAM,GAAE,MAA+B,EACvC,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GACzC,GAAG,CAAC,MAAM,CAAC,CAcb"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LC2-E3 — learned memory-value scorer, wired into the sleep decay pass as a
|
|
3
|
+
* rescue-only veto (design D1/D2, docs/plans/2026-08-10-lc2-e3-mv-wiring.md).
|
|
4
|
+
*
|
|
5
|
+
* computeMvFeatures mirrors benchmarks/memory-value/extract.mjs's
|
|
6
|
+
* computeFeatures for the 8 live dims the E2 fitter optimized over
|
|
7
|
+
* (FIT_DIMS) — the only dims MEMORY_VALUE_WEIGHTS carries a weight for.
|
|
8
|
+
* Any future edit to either side must keep them byte-equivalent; the parity
|
|
9
|
+
* test in tests/memory-value-wiring.test.ts enforces this.
|
|
10
|
+
*
|
|
11
|
+
* scoreEntries mirrors benchmarks/memory-value/evaluate.mjs's per-store
|
|
12
|
+
* min-max normalization + weighted scorer (no additional orientation
|
|
13
|
+
* multiply — the frozen weights already encode sign/orientation).
|
|
14
|
+
*
|
|
15
|
+
* rescueSet implements D1's rescue-only semantics: a condemned entry is
|
|
16
|
+
* rescued iff its learned score ranks in the top 30% (RESCUE_BUDGET, the E2
|
|
17
|
+
* keep-budget operating point) of its own tenant's non-pinned candidate set
|
|
18
|
+
* (D2). Deletes(flag-on) subset Deletes(flag-off) by construction — this
|
|
19
|
+
* function can only ever shrink the condemned set, never grow it.
|
|
20
|
+
*/
|
|
21
|
+
import { calculateStrength } from './memory.js';
|
|
22
|
+
import { compareEntryIdentity } from './compare.js';
|
|
23
|
+
import { MEMORY_VALUE_WEIGHTS, SOURCE_ARTIFACT_SHA256 } from './memory-value-weights.js';
|
|
24
|
+
/** The 8 live feature dims (FIT_DIMS) — canonical order for iteration. */
|
|
25
|
+
export const MV_FEATURE_NAMES = [
|
|
26
|
+
'age_days',
|
|
27
|
+
'half_life_days',
|
|
28
|
+
'strength',
|
|
29
|
+
'retrieval_count',
|
|
30
|
+
'outcome_positive',
|
|
31
|
+
'outcome_negative',
|
|
32
|
+
'outcome_ratio',
|
|
33
|
+
'content_length',
|
|
34
|
+
];
|
|
35
|
+
/** The E2 keep-budget operating point (the only point with measured
|
|
36
|
+
* evidence) — a code constant tied to that evidence, not user-tunable. */
|
|
37
|
+
const RESCUE_BUDGET = 0.3;
|
|
38
|
+
/**
|
|
39
|
+
* Review-round F1 (small-tenant degeneracy): below this per-tenant
|
|
40
|
+
* non-pinned candidate-set size, a rank statistic is noise — E2's evidence
|
|
41
|
+
* says nothing about tiny scale — and the floor prevents immortal-entry
|
|
42
|
+
* convergence: keepN=ceil(0.3*N) guarantees >=1 rescue at N=1, so without a
|
|
43
|
+
* floor a condemned-only 1-entry tenant would be rescued every single sleep
|
|
44
|
+
* forever. A condemned-only tenant below the floor instead drains normally
|
|
45
|
+
* as entries are deleted: the surviving rescued subset only ever shrinks
|
|
46
|
+
* toward 0, never regrows past 10 to regain eligibility on its own. Code
|
|
47
|
+
* constant tied to that reasoning, not user-tunable (same posture as
|
|
48
|
+
* RESCUE_BUDGET).
|
|
49
|
+
*/
|
|
50
|
+
const MIN_RESCUE_GROUP = 10;
|
|
51
|
+
/**
|
|
52
|
+
* Blind v1 feature dict for one MemoryEntry, restricted to the 8 dims the
|
|
53
|
+
* frozen weights carry (mirrors extract.mjs's computeFeatures).
|
|
54
|
+
*
|
|
55
|
+
* CRITICAL: `strength` is CLOCK-BASIS `calculateStrength(entry, now)` with
|
|
56
|
+
* NO DecayOptions — that is how the frozen weights' training features were
|
|
57
|
+
* computed (extract.mjs never passes decayOpts). Passing the production
|
|
58
|
+
* decay basis (config.decayBasis via consolidate.ts's decayOpts) into this
|
|
59
|
+
* feature would silently break parity with the frozen weight vector. This
|
|
60
|
+
* is an intentional divergence from the condemnation TRIGGER in
|
|
61
|
+
* consolidate.ts, which keeps using decayOpts as today — only the rescue
|
|
62
|
+
* FEATURE is clock-basis.
|
|
63
|
+
*/
|
|
64
|
+
export function computeMvFeatures(entry, now) {
|
|
65
|
+
const ageDays = (now.getTime() - Date.parse(entry.created)) / (1000 * 60 * 60 * 24);
|
|
66
|
+
const pos = entry.outcome_positive ?? 0;
|
|
67
|
+
const neg = entry.outcome_negative ?? 0;
|
|
68
|
+
return {
|
|
69
|
+
age_days: ageDays,
|
|
70
|
+
half_life_days: entry.half_life_days,
|
|
71
|
+
strength: calculateStrength(entry, now), // clock-basis, never decayOpts — see doc comment above
|
|
72
|
+
retrieval_count: entry.retrieval_count,
|
|
73
|
+
outcome_positive: pos,
|
|
74
|
+
outcome_negative: neg,
|
|
75
|
+
outcome_ratio: (pos - neg) / (pos + neg + 1), // same formula as extract.mjs / calculateRewardFactor's ratio term
|
|
76
|
+
content_length: entry.content.length,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Throws if the weight constant is malformed: fewer/extra dims, a
|
|
81
|
+
* non-finite weight value, or a missing source digest. Flag-on + a broken
|
|
82
|
+
* constant must THROW, never silently behave as flag-off.
|
|
83
|
+
*
|
|
84
|
+
* Parameterized (defaults to the real frozen singleton) so the throw
|
|
85
|
+
* conditions are directly unit-testable without mutating the frozen
|
|
86
|
+
* MEMORY_VALUE_WEIGHTS export — mirrors fit.mjs's verifyFrozenWeights
|
|
87
|
+
* (see tests/memory-value-fit.test.ts's `describe('verifyFrozenWeights')`).
|
|
88
|
+
*/
|
|
89
|
+
export function validateWeights(weights = MEMORY_VALUE_WEIGHTS, digest = SOURCE_ARTIFACT_SHA256) {
|
|
90
|
+
for (const key of MV_FEATURE_NAMES) {
|
|
91
|
+
const v = weights[key];
|
|
92
|
+
if (typeof v !== 'number' || !Number.isFinite(v)) {
|
|
93
|
+
throw new Error(`memory-value: weights constant is malformed — "${key}" is not a finite number ` +
|
|
94
|
+
`(src/memory-value-weights.ts)`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (typeof digest !== 'string' || digest.length === 0) {
|
|
98
|
+
throw new Error('memory-value: weights constant is malformed — SOURCE_ARTIFACT_SHA256 digest missing (src/memory-value-weights.ts)');
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Min-max normalize each of the 8 features over the given entry set
|
|
103
|
+
* (constant feature -> 0, matching evaluate.mjs), then score = dot(weights,
|
|
104
|
+
* normalized). The normalization context is exactly the entries passed in —
|
|
105
|
+
* callers control the bounded scope (D2: per-tenant, non-pinned).
|
|
106
|
+
*
|
|
107
|
+
* `weights` defaults to the real frozen singleton; parameterized (like
|
|
108
|
+
* validateWeights) so callers/tests can score against an explicit vector
|
|
109
|
+
* without touching the module singleton.
|
|
110
|
+
*
|
|
111
|
+
* Review-round F2 (non-finite features): Date.parse on a malformed `created`
|
|
112
|
+
* string yields NaN, and NaN would silently corrupt every OTHER entry's
|
|
113
|
+
* min-max in the same group. An entry with ANY non-finite computed feature
|
|
114
|
+
* is excluded from the normalization context entirely (its raw values never
|
|
115
|
+
* touch min/max) and always scores -Infinity — the lowest possible score, so
|
|
116
|
+
* it sorts to the bottom of its tenant deterministically and (via rescueSet's
|
|
117
|
+
* explicit finite-score guard below) can never be rescued. Conservative
|
|
118
|
+
* direction: deletes(flag-on) subset deletes(flag-off) still holds.
|
|
119
|
+
*/
|
|
120
|
+
export function scoreEntries(entries, now, weights = MEMORY_VALUE_WEIGHTS) {
|
|
121
|
+
const raw = new Map();
|
|
122
|
+
for (const e of entries)
|
|
123
|
+
raw.set(e.id, computeMvFeatures(e, now));
|
|
124
|
+
const nonFiniteIds = new Set();
|
|
125
|
+
for (const e of entries) {
|
|
126
|
+
const nf = raw.get(e.id);
|
|
127
|
+
if (MV_FEATURE_NAMES.some((f) => !Number.isFinite(nf[f])))
|
|
128
|
+
nonFiniteIds.add(e.id);
|
|
129
|
+
}
|
|
130
|
+
const normContextEntries = entries.filter((e) => !nonFiniteIds.has(e.id));
|
|
131
|
+
const minMax = new Map();
|
|
132
|
+
for (const f of MV_FEATURE_NAMES) {
|
|
133
|
+
let min = Infinity;
|
|
134
|
+
let max = -Infinity;
|
|
135
|
+
for (const e of normContextEntries) {
|
|
136
|
+
const v = raw.get(e.id)[f];
|
|
137
|
+
if (v < min)
|
|
138
|
+
min = v;
|
|
139
|
+
if (v > max)
|
|
140
|
+
max = v;
|
|
141
|
+
}
|
|
142
|
+
minMax.set(f, { min, max });
|
|
143
|
+
}
|
|
144
|
+
const norm = (f, v) => {
|
|
145
|
+
const { min, max } = minMax.get(f);
|
|
146
|
+
return max === min ? 0 : (v - min) / (max - min);
|
|
147
|
+
};
|
|
148
|
+
const scores = new Map();
|
|
149
|
+
for (const e of entries) {
|
|
150
|
+
if (nonFiniteIds.has(e.id)) {
|
|
151
|
+
scores.set(e.id, -Infinity);
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
const nf = raw.get(e.id);
|
|
155
|
+
let sum = 0;
|
|
156
|
+
for (const f of MV_FEATURE_NAMES)
|
|
157
|
+
sum += weights[f] * norm(f, nf[f]);
|
|
158
|
+
scores.set(e.id, sum);
|
|
159
|
+
}
|
|
160
|
+
return scores;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Groups non-pinned entries by tenantId (D2), scores + ranks each tenant's
|
|
164
|
+
* group independently, and returns per-entry rank context for every
|
|
165
|
+
* non-pinned entry (not just condemned ones) — the shared basis for both
|
|
166
|
+
* rescueSet's rescue decision and consolidate.ts's audit-row rank context,
|
|
167
|
+
* so the two never compute the ranking differently.
|
|
168
|
+
*
|
|
169
|
+
* `weights`/`digest` default to the real frozen singleton — parameterized
|
|
170
|
+
* (like validateWeights/scoreEntries) purely for direct unit-testability of
|
|
171
|
+
* the fail-loud path, never overridden by production callers.
|
|
172
|
+
*/
|
|
173
|
+
export function rankNonPinnedByTenant(entries, now, weights = MEMORY_VALUE_WEIGHTS, digest = SOURCE_ARTIFACT_SHA256) {
|
|
174
|
+
validateWeights(weights, digest);
|
|
175
|
+
const byTenant = new Map();
|
|
176
|
+
for (const e of entries) {
|
|
177
|
+
if (e.pinned)
|
|
178
|
+
continue; // D2: pinned entries never compete for rescue (never condemned)
|
|
179
|
+
// F9: guard undefined tenantId the same way dag.ts:341 does — the
|
|
180
|
+
// MemoryEntry type says `string`, but a raw/legacy row can still carry
|
|
181
|
+
// undefined at runtime, and grouping it under the literal key
|
|
182
|
+
// "undefined" would silently split it into its own singleton tenant.
|
|
183
|
+
const tenantId = e.tenantId ?? 'default';
|
|
184
|
+
const list = byTenant.get(tenantId);
|
|
185
|
+
if (list)
|
|
186
|
+
list.push(e);
|
|
187
|
+
else
|
|
188
|
+
byTenant.set(tenantId, [e]);
|
|
189
|
+
}
|
|
190
|
+
const result = new Map();
|
|
191
|
+
for (const [tenantId, group] of byTenant) {
|
|
192
|
+
const scores = scoreEntries(group, now, weights);
|
|
193
|
+
// score DESC -> compareEntryIdentity (content asc -> id asc), the shared
|
|
194
|
+
// deterministic tie-break used by every score-primary sort site in this
|
|
195
|
+
// codebase (src/compare.ts). F2: `-Infinity - -Infinity` is NaN, not 0 —
|
|
196
|
+
// two non-finite-feature entries tied at -Infinity would otherwise fall
|
|
197
|
+
// through to `diff` (NaN), which Array.sort treats as "no preference"
|
|
198
|
+
// and leaves insertion-order-dependent. Route NaN through the same
|
|
199
|
+
// deterministic tie-break as an exact-zero diff.
|
|
200
|
+
const sorted = [...group].sort((a, b) => {
|
|
201
|
+
const diff = scores.get(b.id) - scores.get(a.id);
|
|
202
|
+
return diff === 0 || Number.isNaN(diff) ? compareEntryIdentity(a, b) : diff;
|
|
203
|
+
});
|
|
204
|
+
// F1: tenants smaller than MIN_RESCUE_GROUP never rescue (keepN 0) — see
|
|
205
|
+
// that constant's doc comment.
|
|
206
|
+
const keepN = sorted.length < MIN_RESCUE_GROUP
|
|
207
|
+
? 0
|
|
208
|
+
: Math.min(sorted.length, Math.ceil(RESCUE_BUDGET * sorted.length));
|
|
209
|
+
sorted.forEach((e, i) => {
|
|
210
|
+
result.set(e.id, {
|
|
211
|
+
tenantId,
|
|
212
|
+
score: scores.get(e.id),
|
|
213
|
+
rank: i + 1,
|
|
214
|
+
totalNonPinned: sorted.length,
|
|
215
|
+
keepN,
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
return result;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* D1 rescue decision: a condemned entry is rescued iff it ranks in the top
|
|
223
|
+
* 30% of its tenant's non-pinned candidate set by learned score. Returns the
|
|
224
|
+
* subset of condemnedIds that are rescued — the caller filters commits
|
|
225
|
+
* (rescued -> survivors) and threads the same set into detectConflicts.
|
|
226
|
+
*
|
|
227
|
+
* `weights`/`digest` default to the real frozen singleton; production
|
|
228
|
+
* callers (consolidate.ts) never pass overrides — the params exist purely so
|
|
229
|
+
* "flag on + a broken constant throws" is directly testable end-to-end
|
|
230
|
+
* through this function without mutating the frozen module singleton.
|
|
231
|
+
*
|
|
232
|
+
* `precomputedRanks` (round-2 code-review P2-2): when the caller has already
|
|
233
|
+
* computed the per-tenant ranking (e.g. consolidate.ts needs it separately
|
|
234
|
+
* for detail/audit rank context), pass it here to skip the internal
|
|
235
|
+
* rankNonPinnedByTenant call — the whole-store ranking pass then runs
|
|
236
|
+
* exactly once per sleep instead of twice. Omitted (the default), rescueSet
|
|
237
|
+
* computes it internally as before — existing callers/tests are unaffected.
|
|
238
|
+
*/
|
|
239
|
+
export function rescueSet(entries, condemnedIds, now, weights = MEMORY_VALUE_WEIGHTS, digest = SOURCE_ARTIFACT_SHA256, precomputedRanks) {
|
|
240
|
+
validateWeights(weights, digest); // fail loud before any rescue computation (constraint 5)
|
|
241
|
+
const ranked = precomputedRanks ?? rankNonPinnedByTenant(entries, now, weights, digest);
|
|
242
|
+
const rescued = new Set();
|
|
243
|
+
for (const id of condemnedIds) {
|
|
244
|
+
const info = ranked.get(id);
|
|
245
|
+
// F2: Number.isFinite(info.score) is an explicit, absolute guard — not
|
|
246
|
+
// just reliance on -Infinity naturally sorting last. In the degenerate
|
|
247
|
+
// case where every entry in a tenant is non-finite-scored (a tie at
|
|
248
|
+
// -Infinity), rank position alone could otherwise place one inside
|
|
249
|
+
// keepN; this makes "never rescued" hold regardless.
|
|
250
|
+
if (info && info.rank <= info.keepN && Number.isFinite(info.score))
|
|
251
|
+
rescued.add(id);
|
|
252
|
+
}
|
|
253
|
+
return rescued;
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=memory-value.js.map
|