agent-working-memory 0.16.1 → 0.18.1
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 +321 -318
- package/dist/adapters/common.d.ts +34 -0
- package/dist/adapters/common.d.ts.map +1 -1
- package/dist/adapters/common.js +528 -444
- package/dist/adapters/common.js.map +1 -1
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +19 -0
- package/dist/api/routes.js.map +1 -1
- package/dist/cli/migrate.d.ts.map +1 -1
- package/dist/cli/migrate.js +31 -29
- package/dist/cli/migrate.js.map +1 -1
- package/dist/core/asked-value.d.ts +37 -0
- package/dist/core/asked-value.d.ts.map +1 -0
- package/dist/core/asked-value.js +77 -0
- package/dist/core/asked-value.js.map +1 -0
- package/dist/core/conflicts.d.ts +89 -0
- package/dist/core/conflicts.d.ts.map +1 -0
- package/dist/core/conflicts.js +267 -0
- package/dist/core/conflicts.js.map +1 -0
- package/dist/core/embeddings.d.ts +14 -2
- package/dist/core/embeddings.d.ts.map +1 -1
- package/dist/core/embeddings.js +32 -10
- package/dist/core/embeddings.js.map +1 -1
- package/dist/core/format-recall.d.ts +21 -1
- package/dist/core/format-recall.d.ts.map +1 -1
- package/dist/core/format-recall.js +60 -5
- package/dist/core/format-recall.js.map +1 -1
- package/dist/core/ml-worker.d.ts +24 -1
- package/dist/core/ml-worker.d.ts.map +1 -1
- package/dist/core/ml-worker.js +165 -4
- package/dist/core/ml-worker.js.map +1 -1
- package/dist/core/model-daemon-client.d.ts +77 -0
- package/dist/core/model-daemon-client.d.ts.map +1 -0
- package/dist/core/model-daemon-client.js +383 -0
- package/dist/core/model-daemon-client.js.map +1 -0
- package/dist/core/model-daemon-server.d.ts +71 -0
- package/dist/core/model-daemon-server.d.ts.map +1 -0
- package/dist/core/model-daemon-server.js +363 -0
- package/dist/core/model-daemon-server.js.map +1 -0
- package/dist/core/model-daemon.d.ts +137 -0
- package/dist/core/model-daemon.d.ts.map +1 -0
- package/dist/core/model-daemon.js +231 -0
- package/dist/core/model-daemon.js.map +1 -0
- package/dist/core/query-expander.d.ts +5 -0
- package/dist/core/query-expander.d.ts.map +1 -1
- package/dist/core/query-expander.js +3 -2
- package/dist/core/query-expander.js.map +1 -1
- package/dist/core/recall-config.d.ts +1 -1
- package/dist/core/recall-config.d.ts.map +1 -1
- package/dist/core/recall-config.js +5 -0
- package/dist/core/recall-config.js.map +1 -1
- package/dist/core/rerank-window.d.ts +7 -2
- package/dist/core/rerank-window.d.ts.map +1 -1
- package/dist/core/rerank-window.js +9 -4
- package/dist/core/rerank-window.js.map +1 -1
- package/dist/core/rerank2.d.ts +52 -2
- package/dist/core/rerank2.d.ts.map +1 -1
- package/dist/core/rerank2.js +60 -3
- package/dist/core/rerank2.js.map +1 -1
- package/dist/core/reranker.d.ts +19 -0
- package/dist/core/reranker.d.ts.map +1 -1
- package/dist/core/reranker.js +76 -12
- package/dist/core/reranker.js.map +1 -1
- package/dist/core/salience.d.ts +2 -0
- package/dist/core/salience.d.ts.map +1 -1
- package/dist/core/salience.js +45 -18
- package/dist/core/salience.js.map +1 -1
- package/dist/core/trust.d.ts +32 -0
- package/dist/core/trust.d.ts.map +1 -0
- package/dist/core/trust.js +66 -0
- package/dist/core/trust.js.map +1 -0
- package/dist/core/validity.d.ts +21 -0
- package/dist/core/validity.d.ts.map +1 -0
- package/dist/core/validity.js +41 -0
- package/dist/core/validity.js.map +1 -0
- package/dist/core/whoami.d.ts +3 -0
- package/dist/core/whoami.d.ts.map +1 -1
- package/dist/core/whoami.js +14 -0
- package/dist/core/whoami.js.map +1 -1
- package/dist/core/write-pipeline.d.ts +48 -0
- package/dist/core/write-pipeline.d.ts.map +1 -1
- package/dist/core/write-pipeline.js +104 -4
- package/dist/core/write-pipeline.js.map +1 -1
- package/dist/engine/activation.d.ts.map +1 -1
- package/dist/engine/activation.js +27 -4
- package/dist/engine/activation.js.map +1 -1
- package/dist/engine/consolidation.d.ts.map +1 -1
- package/dist/engine/consolidation.js +67 -5
- package/dist/engine/consolidation.js.map +1 -1
- package/dist/hooks/prime-query.d.ts +57 -0
- package/dist/hooks/prime-query.d.ts.map +1 -0
- package/dist/hooks/prime-query.js +388 -0
- package/dist/hooks/prime-query.js.map +1 -0
- package/dist/hooks/prime.d.ts +8 -0
- package/dist/hooks/prime.d.ts.map +1 -1
- package/dist/hooks/prime.js +21 -2
- package/dist/hooks/prime.js.map +1 -1
- package/dist/hooks/sidecar.d.ts +7 -0
- package/dist/hooks/sidecar.d.ts.map +1 -1
- package/dist/hooks/sidecar.js +10 -2
- package/dist/hooks/sidecar.js.map +1 -1
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +148 -103
- package/dist/mcp.js.map +1 -1
- package/dist/model-daemon.d.ts +8 -0
- package/dist/model-daemon.d.ts.map +1 -0
- package/dist/model-daemon.js +45 -0
- package/dist/model-daemon.js.map +1 -0
- package/dist/storage/factory.d.ts.map +1 -1
- package/dist/storage/factory.js +5 -0
- package/dist/storage/factory.js.map +1 -1
- package/dist/storage/pglite-schema.d.ts.map +1 -1
- package/dist/storage/pglite-schema.js +176 -170
- package/dist/storage/pglite-schema.js.map +1 -1
- package/dist/storage/pglite.d.ts +5 -0
- package/dist/storage/pglite.d.ts.map +1 -1
- package/dist/storage/pglite.js +165 -153
- package/dist/storage/pglite.js.map +1 -1
- package/dist/storage/postgres.d.ts +5 -0
- package/dist/storage/postgres.d.ts.map +1 -1
- package/dist/storage/postgres.js +165 -153
- package/dist/storage/postgres.js.map +1 -1
- package/dist/storage/sqlite.d.ts +22 -0
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +400 -363
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/types/engram.d.ts +33 -0
- package/dist/types/engram.d.ts.map +1 -1
- package/dist/types/engram.js.map +1 -1
- package/package.json +106 -106
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/README.md +1 -1
- package/plugin/bin/awm-mcp-launcher.cjs +2 -2
- package/plugin/skills/awm-memory/SKILL.md +16 -5
- package/src/adapters/common.ts +881 -800
- package/src/api/routes.ts +20 -0
- package/src/cli/migrate.ts +309 -307
- package/src/core/asked-value.ts +74 -0
- package/src/core/conflicts.ts +280 -0
- package/src/core/embeddings.ts +35 -10
- package/src/core/format-recall.ts +83 -25
- package/src/core/ml-worker.ts +458 -281
- package/src/core/model-daemon-client.ts +374 -0
- package/src/core/model-daemon-server.ts +344 -0
- package/src/core/model-daemon.ts +243 -0
- package/src/core/query-expander.ts +127 -126
- package/src/core/recall-config.ts +5 -0
- package/src/core/rerank-window.ts +164 -159
- package/src/core/rerank2.ts +143 -82
- package/src/core/reranker.ts +78 -11
- package/src/core/salience.ts +45 -18
- package/src/core/trust.ts +65 -0
- package/src/core/validity.ts +47 -0
- package/src/core/whoami.ts +136 -120
- package/src/core/write-pipeline.ts +143 -4
- package/src/engine/activation.ts +27 -4
- package/src/engine/consolidation.ts +950 -887
- package/src/hooks/prime-query.ts +375 -0
- package/src/hooks/prime.ts +25 -2
- package/src/hooks/sidecar.ts +13 -3
- package/src/index.ts +255 -248
- package/src/mcp.ts +1521 -1475
- package/src/model-daemon.ts +48 -0
- package/src/storage/factory.ts +25 -19
- package/src/storage/pglite-schema.ts +199 -193
- package/src/storage/pglite.ts +1513 -1498
- package/src/storage/postgres.ts +1613 -1598
- package/src/storage/sqlite.ts +2056 -2019
- package/src/types/engram.ts +30 -0
|
@@ -53,12 +53,41 @@ export interface WriteInput {
|
|
|
53
53
|
eventType?: SalienceEventType;
|
|
54
54
|
surprise?: number;
|
|
55
55
|
decisionMade?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Caller-declared purpose of the write: 'decision' | 'question' | 'todo' |
|
|
58
|
+
* 'finding' | 'context'. Stored as an `intent=` tag by the callers, and read HERE
|
|
59
|
+
* so a declared decision reaches the salience filter.
|
|
60
|
+
*
|
|
61
|
+
* It did not, before 2026-10-12: `intent` became a tag and nothing else, while the
|
|
62
|
+
* redundant `decisionMade` boolean was the only wired path, so a caller following
|
|
63
|
+
* the documented tagging discipline got no salience credit for saying this was a
|
|
64
|
+
* decision. Measured over all 496 discarded writes in the live store
|
|
65
|
+
* (`low-salience`, `work`+`personal`): those tagged `intent=decision` were later
|
|
66
|
+
* recalled at **77.3% against a 38.1% base rate**, +41pp — the strongest
|
|
67
|
+
* discriminator of any feature tested, discarded anyway.
|
|
68
|
+
*
|
|
69
|
+
* Mapped in the pipeline rather than at each call site so both write surfaces, and
|
|
70
|
+
* any future one, inherit it; widening the content-based operational-verb list was
|
|
71
|
+
* tested on the same population and rejected, because every candidate token scored
|
|
72
|
+
* at the base rate.
|
|
73
|
+
*/
|
|
74
|
+
intent?: string;
|
|
56
75
|
causalDepth?: number;
|
|
57
76
|
resolutionEffort?: number;
|
|
58
77
|
/** Confidence override. When unset, defaults from disposition + eventType priors. */
|
|
59
78
|
confidence?: number;
|
|
60
79
|
/** Explicit supersession requested by caller (independent of correction-on-match). */
|
|
61
80
|
supersedes?: string;
|
|
81
|
+
/**
|
|
82
|
+
* This write corrects an existing memory whose id the caller does not have
|
|
83
|
+
* (2026-10-19). The closest active memory about the same thing — the same
|
|
84
|
+
* concept, else the novelty match when it is close enough — is superseded,
|
|
85
|
+
* the correction goes active at no less than that memory's confidence, and
|
|
86
|
+
* the result says what was replaced (`correctionOf`). Never reinforce-merges.
|
|
87
|
+
* With nothing close enough, the write is stored as new and `correctionOf`
|
|
88
|
+
* is null. An explicit `supersedes` outranks this.
|
|
89
|
+
*/
|
|
90
|
+
correction?: boolean;
|
|
62
91
|
/** Workspace scope for cross-agent novelty (v0.5.4+ stores only). */
|
|
63
92
|
workspace?: string | null;
|
|
64
93
|
/** Set to false to skip the reinforce/supersede branching and always create. */
|
|
@@ -103,6 +132,25 @@ export interface WriteResult {
|
|
|
103
132
|
supersedeOf?: {
|
|
104
133
|
id: string;
|
|
105
134
|
};
|
|
135
|
+
/**
|
|
136
|
+
* Set when the write asked `correction: true`: the memory it replaced, or
|
|
137
|
+
* null when nothing close enough existed and the write was stored as new.
|
|
138
|
+
*/
|
|
139
|
+
correctionOf?: {
|
|
140
|
+
id: string;
|
|
141
|
+
concept: string;
|
|
142
|
+
matchScore: number;
|
|
143
|
+
} | null;
|
|
144
|
+
/**
|
|
145
|
+
* Set when a merge, supersede, revive or correction was refused because the
|
|
146
|
+
* write is less trusted than the memory it matched (src/core/trust.ts). The
|
|
147
|
+
* write was stored as its own engram instead.
|
|
148
|
+
*/
|
|
149
|
+
trustBlocked?: {
|
|
150
|
+
matchedId: string;
|
|
151
|
+
writeTrust: number | null;
|
|
152
|
+
matchedTrust: number | null;
|
|
153
|
+
};
|
|
106
154
|
}
|
|
107
155
|
export interface WritePipelineEngines {
|
|
108
156
|
store: EngramStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-pipeline.d.ts","sourceRoot":"","sources":["../../src/core/write-pipeline.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"write-pipeline.d.ts","sourceRoot":"","sources":["../../src/core/write-pipeline.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAQvB,kFAAkF;AAClF,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAW5C,uFAAuF;AACvF,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAY9C,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gFAAgF;IAChF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,oBAAoB,EAAE,eAAe,EAAE,CAAC;IAC5D;;qEAEiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,uGAAuG;IACvG,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,uDAAuD;IACvD,aAAa,EAAE,aAAa,CAAC;IAC7B,kEAAkE;IAClE,SAAS,CAAC,EAAE;QACV,kBAAkB,EAAE,MAAM,CAAC;QAC3B,aAAa,EAAE,MAAM,CAAC;QACtB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,iEAAiE;IACjE,WAAW,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1E;;;;OAIG;IACH,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAC9F;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,WAAW,CAAC;IACnB,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,CAAC,CAuRtB"}
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
* touch an existing engram. SUPERSEDE writes follow the disposition of
|
|
35
35
|
* the new engram (typically active because corrections are high-salience).
|
|
36
36
|
*/
|
|
37
|
+
import { mergeBlockedByTrust, trustTier } from './trust.js';
|
|
37
38
|
import { evaluateSalience, computeNoveltyWithMatch, detectUserFeedback, } from './salience.js';
|
|
38
39
|
import { embed } from './embeddings.js';
|
|
39
40
|
import { extractMetaTags } from './auto-tagger.js';
|
|
@@ -43,6 +44,14 @@ import { DEFAULT_AGENT_CONFIG } from '../types/agent.js';
|
|
|
43
44
|
import { buildRetrievalText } from './retrieval-text.js';
|
|
44
45
|
/** Confidence floor below which a matched engram is treated as "decaying out". */
|
|
45
46
|
export const HEALTHY_CONFIDENCE_FLOOR = 0.3;
|
|
47
|
+
/**
|
|
48
|
+
* Lowest novelty match score at which `correction: true` may supersede the
|
|
49
|
+
* match without an id. matchScore is the stronger of BM25 and cosine
|
|
50
|
+
* similarity (0–1). A paraphrased correction of one fact scores well above
|
|
51
|
+
* this (the probe's flight correction: 0.95); two unrelated memories about
|
|
52
|
+
* the same subject do not.
|
|
53
|
+
*/
|
|
54
|
+
const CORRECTION_MIN_MATCH = 0.6;
|
|
46
55
|
/** Confidence delta applied on reinforcement. Bounded by REINFORCE_CONFIDENCE_CEIL. */
|
|
47
56
|
export const REINFORCE_CONFIDENCE_DELTA = 0.05;
|
|
48
57
|
export const REINFORCE_CONFIDENCE_CEIL = 0.95;
|
|
@@ -82,8 +91,19 @@ const CONFIDENCE_PRIORS = {
|
|
|
82
91
|
*/
|
|
83
92
|
export async function performWrite(engines, input) {
|
|
84
93
|
const { store, connectionEngine } = engines;
|
|
94
|
+
// An explicit `supersedes` argument outranks every novelty signal: the caller has
|
|
95
|
+
// NAMED the engram this write replaces. Gating reinforcement off it routes the write
|
|
96
|
+
// to createNewEngram, which is the only path that honors meta.supersedesId (see the
|
|
97
|
+
// supersession side-effects below). Without this gate the argument was silently
|
|
98
|
+
// discarded by every branch in the block below — R1 (healthy match reinforced),
|
|
99
|
+
// R2 (the superseder reinforced instead), R1b (an archived match revived), and R3,
|
|
100
|
+
// which supersedes `matched.id` rather than the id the caller actually asked for.
|
|
85
101
|
const enableReinforcement = input.enableReinforcement !== false
|
|
86
|
-
&& process.env.AWM_WRITE_PIPELINE !== 'off'
|
|
102
|
+
&& process.env.AWM_WRITE_PIPELINE !== 'off'
|
|
103
|
+
&& !input.supersedes
|
|
104
|
+
// A correction must never reinforce-merge: merging is exactly how a changed
|
|
105
|
+
// value ended up inside the stale memory with a "--- reinforced ---" marker.
|
|
106
|
+
&& !input.correction;
|
|
87
107
|
// Profiling: AWM_PROFILE_WRITE=1 logs ms-per-phase to stderr (v0.8.2).
|
|
88
108
|
// Off by default; zero cost when unset.
|
|
89
109
|
const profile = process.env.AWM_PROFILE_WRITE === '1';
|
|
@@ -126,7 +146,7 @@ export async function performWrite(engines, input) {
|
|
|
126
146
|
content: input.content,
|
|
127
147
|
eventType: effectiveEventType,
|
|
128
148
|
surprise: input.surprise,
|
|
129
|
-
decisionMade: input.decisionMade,
|
|
149
|
+
decisionMade: input.decisionMade || input.intent === 'decision',
|
|
130
150
|
causalDepth: input.causalDepth,
|
|
131
151
|
resolutionEffort: input.resolutionEffort,
|
|
132
152
|
novelty: noveltyResult.novelty,
|
|
@@ -136,6 +156,7 @@ export async function performWrite(engines, input) {
|
|
|
136
156
|
const tStartCreate = performance.now();
|
|
137
157
|
let busyHit = false;
|
|
138
158
|
let result = null;
|
|
159
|
+
let trustBlocked;
|
|
139
160
|
try {
|
|
140
161
|
if (enableReinforcement && noveltyResult.matchedEngramId) {
|
|
141
162
|
const matched = await store.getEngram(noveltyResult.matchedEngramId);
|
|
@@ -143,7 +164,12 @@ export async function performWrite(engines, input) {
|
|
|
143
164
|
// workspace/hive recall can surface another agent's same-concept engram as the match; mutating it
|
|
144
165
|
// (merge content, re-embed, bump confidence, or supersede) would corrupt that agent's memory. A
|
|
145
166
|
// cross-agent match falls through to createNewEngram so this agent gets its own copy.
|
|
146
|
-
|
|
167
|
+
// Trust guard (2026-10-19, src/core/trust.ts): a less-trusted write never merges into,
|
|
168
|
+
// supersedes or revives a more-trusted memory. It falls through to its own engram.
|
|
169
|
+
if (matched && matched.agentId === input.agentId && mergeBlockedByTrust(input.tags, matched.tags)) {
|
|
170
|
+
trustBlocked = { matchedId: matched.id, writeTrust: trustTier(input.tags), matchedTrust: trustTier(matched.tags) };
|
|
171
|
+
}
|
|
172
|
+
if (matched && matched.agentId === input.agentId && !trustBlocked) {
|
|
147
173
|
const newConcept = (input.concept ?? '').toLowerCase().trim();
|
|
148
174
|
const matchedConcept = (matched.concept ?? '').toLowerCase().trim();
|
|
149
175
|
const sameConcept = newConcept === matchedConcept && newConcept.length > 0;
|
|
@@ -213,14 +239,88 @@ export async function performWrite(engines, input) {
|
|
|
213
239
|
}
|
|
214
240
|
}
|
|
215
241
|
}
|
|
242
|
+
// -- Correction by intent, not by id (2026-10-19) --
|
|
243
|
+
// The MWA evaluation probe wrote "now departs 8:40" as an ordinary observation
|
|
244
|
+
// under a new concept: novelty 0.10, so it was stored at confidence 0.25 and
|
|
245
|
+
// ranked BELOW the stale "10:15". The writer knew it was a correction; it did
|
|
246
|
+
// not know the old id, and the only in-band way to say so (eventType surprise
|
|
247
|
+
// on the SAME concept, R3 above) is undocumented and needs the exact concept.
|
|
248
|
+
// `correction: true` names the intent. The target is the novelty match — the
|
|
249
|
+
// closest memory in content — when it is close enough to be the same fact;
|
|
250
|
+
// a superseded match is followed to its superseder. Below the floor nothing
|
|
251
|
+
// is replaced and the caller is told, because superseding a stranger would
|
|
252
|
+
// retire a true fact.
|
|
253
|
+
let correctionOf;
|
|
254
|
+
if (!result && input.correction && !input.supersedes) {
|
|
255
|
+
correctionOf = null;
|
|
256
|
+
let target = noveltyResult.matchedEngramId
|
|
257
|
+
? await store.getEngram(noveltyResult.matchedEngramId)
|
|
258
|
+
: null;
|
|
259
|
+
if (target?.supersededBy)
|
|
260
|
+
target = await store.getEngram(target.supersededBy);
|
|
261
|
+
const closeEnough = noveltyResult.matchScore >= CORRECTION_MIN_MATCH;
|
|
262
|
+
if (target && closeEnough && target.agentId === input.agentId && mergeBlockedByTrust(input.tags, target.tags)) {
|
|
263
|
+
trustBlocked = { matchedId: target.id, writeTrust: trustTier(input.tags), matchedTrust: trustTier(target.tags) };
|
|
264
|
+
}
|
|
265
|
+
if (target && closeEnough && target.agentId === input.agentId && !trustBlocked
|
|
266
|
+
&& !target.retracted && target.stage !== 'archived' && !target.supersededBy) {
|
|
267
|
+
const correctionSalience = {
|
|
268
|
+
...salience,
|
|
269
|
+
disposition: 'active',
|
|
270
|
+
reasonCodes: [...salience.reasonCodes, 'correction:override-active'],
|
|
271
|
+
};
|
|
272
|
+
result = await createNewEngram(engines, {
|
|
273
|
+
...input,
|
|
274
|
+
// The replacement must not stand weaker than what it replaces.
|
|
275
|
+
confidence: Math.max(input.confidence ?? 0, target.confidence),
|
|
276
|
+
}, correctionSalience, noveltyResult, {
|
|
277
|
+
effectiveEventType,
|
|
278
|
+
effectiveMemoryClass,
|
|
279
|
+
supersedesId: target.id,
|
|
280
|
+
}, prewriteEmbedding);
|
|
281
|
+
correctionOf = { id: target.id, concept: target.concept, matchScore: noveltyResult.matchScore };
|
|
282
|
+
}
|
|
283
|
+
}
|
|
216
284
|
// -- Default: create new engram (if no reinforce/supersede branch fired) --
|
|
217
285
|
if (!result) {
|
|
218
|
-
|
|
286
|
+
// An explicit `supersedes` names the target, but naming it does not make the
|
|
287
|
+
// write trustworthy: an untrusted write must not retire a trusted memory by id.
|
|
288
|
+
if (input.supersedes) {
|
|
289
|
+
const named = await store.getEngram(input.supersedes);
|
|
290
|
+
if (named && mergeBlockedByTrust(input.tags, named.tags)) {
|
|
291
|
+
trustBlocked = { matchedId: named.id, writeTrust: trustTier(input.tags), matchedTrust: trustTier(named.tags) };
|
|
292
|
+
input = { ...input, supersedes: undefined };
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
// A correction of a near-duplicate has low novelty BY CONSTRUCTION: the replacement
|
|
296
|
+
// says almost what the engram it replaces said. Left on its own salience it lands at
|
|
297
|
+
// `discard` (confidence 0.25, tagged `low-salience`, below HEALTHY_CONFIDENCE_FLOOR)
|
|
298
|
+
// or at `staging` — while the supersession side-effect fires regardless. The old
|
|
299
|
+
// engram would be retired and its replacement too weak to stand in for it, so the
|
|
300
|
+
// fact leaves recall altogether: strictly worse than dropping the argument. R3 above
|
|
301
|
+
// already forces `active` for precisely this reason; an explicit `supersedes` is the
|
|
302
|
+
// same correction intent, stated by the caller instead of inferred from eventType.
|
|
303
|
+
const supersedeSalience = input.supersedes
|
|
304
|
+
? {
|
|
305
|
+
...salience,
|
|
306
|
+
disposition: 'active',
|
|
307
|
+
reasonCodes: [...salience.reasonCodes, 'supersede:override-active'],
|
|
308
|
+
}
|
|
309
|
+
: salience;
|
|
310
|
+
result = await createNewEngram(engines, input, supersedeSalience, noveltyResult, {
|
|
219
311
|
effectiveEventType,
|
|
220
312
|
effectiveMemoryClass,
|
|
221
313
|
supersedesId: input.supersedes,
|
|
222
314
|
}, prewriteEmbedding);
|
|
223
315
|
}
|
|
316
|
+
// A correction always reports what it did, including "nothing" (null).
|
|
317
|
+
if (input.correction && !input.supersedes && result)
|
|
318
|
+
result.correctionOf = correctionOf ?? null;
|
|
319
|
+
if (trustBlocked && result) {
|
|
320
|
+
result.trustBlocked = trustBlocked;
|
|
321
|
+
if (result.salience)
|
|
322
|
+
result.salience = { ...result.salience, reasonCodes: [...result.salience.reasonCodes, 'trust:no-merge'] };
|
|
323
|
+
}
|
|
224
324
|
}
|
|
225
325
|
catch (e) {
|
|
226
326
|
const es = `${e?.code ?? ''} ${e?.message ?? ''}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-pipeline.js","sourceRoot":"","sources":["../../src/core/write-pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"write-pipeline.js","sourceRoot":"","sources":["../../src/core/write-pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activation.d.ts","sourceRoot":"","sources":["../../src/engine/activation.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAIH,OAAO,EAA6C,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAMtG,OAAO,KAAK,EACF,gBAAgB,EAAE,eAAe,EAC1C,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"activation.d.ts","sourceRoot":"","sources":["../../src/engine/activation.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAIH,OAAO,EAA6C,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAMtG,OAAO,KAAK,EACF,gBAAgB,EAAE,eAAe,EAC1C,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AA0IvE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;gBAEnC,KAAK,EAAE,WAAW;IAM9B;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAmpCnE,iFAAiF;IACjF,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE5C;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAKnC;YAEY,SAAS;IA+FvB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;YACW,gBAAgB;IAwJ9B;;;;OAIG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBhF,OAAO,CAAC,OAAO;CAchB"}
|
|
@@ -54,6 +54,8 @@ import { expandQuery } from '../core/query-expander.js';
|
|
|
54
54
|
import { startRecallProfile } from '../core/recall-telemetry.js';
|
|
55
55
|
import { computeRecallConfidence } from './confidence.js';
|
|
56
56
|
import { reorderByReranker, rerank2Enabled, rerank2WindowSize } from '../core/rerank2.js';
|
|
57
|
+
import { validityState } from '../core/validity.js';
|
|
58
|
+
import { detectConflicts } from '../core/conflicts.js';
|
|
57
59
|
import { buildRerankPassage, rerankTruncation, rerankWindowMode } from '../core/rerank-window.js';
|
|
58
60
|
import { parseTemporal, temporalEnabled, temporalBoost } from '../core/temporal-query.js';
|
|
59
61
|
import { aliasTermsFor } from '../core/alias-map.js';
|
|
@@ -1113,11 +1115,17 @@ export class ActivationEngine {
|
|
|
1113
1115
|
return [];
|
|
1114
1116
|
}
|
|
1115
1117
|
}
|
|
1116
|
-
// Phase 8c:
|
|
1117
|
-
//
|
|
1118
|
+
// Phase 8c: Stale penalty — superseded memories, and (since 2026-10-19)
|
|
1119
|
+
// memories outside their valid_from/valid_to window, are deprioritized.
|
|
1120
|
+
// They aren't wrong (that's retraction), just outdated or not yet true.
|
|
1121
|
+
// The factor is also recorded on phaseScores so Phase 9b's re-sort by
|
|
1122
|
+
// reranker score honours it — without that, rerank2 put a superseded
|
|
1123
|
+
// memory above its successor (see src/core/rerank2.ts).
|
|
1124
|
+
const validityNow = query.asOf ?? Date.now();
|
|
1118
1125
|
for (const item of rerankPool) {
|
|
1119
|
-
if (item.engram.supersededBy) {
|
|
1120
|
-
item.score *= 0.15; // Severe down-rank —
|
|
1126
|
+
if (item.engram.supersededBy || validityState(item.engram, validityNow) !== 'current') {
|
|
1127
|
+
item.score *= 0.15; // Severe down-rank — the current version should dominate
|
|
1128
|
+
item.phaseScores.stalePenalty = 0.15;
|
|
1121
1129
|
}
|
|
1122
1130
|
}
|
|
1123
1131
|
// Phase 9: Final sort, limit, explain, attach confidence
|
|
@@ -1284,6 +1292,21 @@ export class ActivationEngine {
|
|
|
1284
1292
|
...(summary !== undefined && { summary }),
|
|
1285
1293
|
};
|
|
1286
1294
|
});
|
|
1295
|
+
// Conflict surfacing over the returned set (2026-10-19): two versions of
|
|
1296
|
+
// one fact used to come back as two undated lines with nothing to say they
|
|
1297
|
+
// disagreed. Pairwise over `limit` results, so it is a handful of string
|
|
1298
|
+
// comparisons; see src/core/conflicts.ts for the rule and its known limit.
|
|
1299
|
+
if (results.length > 1) {
|
|
1300
|
+
const marks = detectConflicts(results, validityNow);
|
|
1301
|
+
results.forEach((r, i) => { if (marks[i].length > 0)
|
|
1302
|
+
r.conflictsWith = marks[i]; });
|
|
1303
|
+
// The marks do NOT reorder results. Measured 2026-10-19: moving the
|
|
1304
|
+
// newest of a marked pair ahead cost identifier s@1 93.0% -> 74.7% with
|
|
1305
|
+
// s@5 unchanged, because on a real store the detector also marks related
|
|
1306
|
+
// memories that differ in a ticket id or a date — a cue to check the
|
|
1307
|
+
// source, not a verdict on rank. A harness that wants newest-first among
|
|
1308
|
+
// marked results can apply conflicts.ts `newestFirstAmongConflicts` itself.
|
|
1309
|
+
}
|
|
1287
1310
|
const activatedIds = results.map(r => r.engram.id);
|
|
1288
1311
|
// Side effects: touch, co-activate, defer Hebbian to validation gate (skip for internal/system calls)
|
|
1289
1312
|
if (!query.internal) {
|