stratagate-dsh 0.2.55 → 0.2.57
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/CHANGELOG.md +100 -90
- package/README.md +44 -43
- package/dist/client.js +3 -3
- package/dist/index.js +149 -14
- package/dist/index.js.map +1 -1
- package/package.json +181 -181
package/CHANGELOG.md
CHANGED
|
@@ -1,99 +1,109 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.2.
|
|
4
|
-
|
|
5
|
-
- Let the Agent unobtrusively offer a local feedback draft only for clear, unresolved or disruptive errors, with conversation-scoped suggestion and problem deduplication enforced by prompt instructions.
|
|
6
|
-
- Keep direct feedback requests authorized and unrestricted while preserving fact-only drafts, manual submission, and clickable local draft links.
|
|
7
|
-
|
|
8
|
-
## 0.2.54 - 2026-09-07
|
|
9
|
-
|
|
10
|
-
- Keep the virtualized short-term memory dock below host overlays and hide it while a visible modal dialog such as Settings is open.
|
|
11
|
-
|
|
12
|
-
## 0.2.53 - 2026-09-06
|
|
13
|
-
|
|
14
|
-
- Prefer DSH's formal `settingsNavigation.openSection()` contract when opening a prepared Feedback draft, while retaining the HTTP deep link and legacy rc.7 navigation as compatibility fallbacks.
|
|
15
|
-
- Replace the permanently expanded Feedback report with an on-demand preview that shares the exact generated report snapshot used for clipboard copy and diagnostic download.
|
|
16
|
-
- Keep real report, diagnostic-log, and Memory content out of GitHub Issue URLs; prefill only the optional title and a generic HTML paste instruction.
|
|
17
|
-
|
|
18
|
-
## 0.2.52 - 2026-09-05
|
|
19
|
-
|
|
20
|
-
- Return the Feedback draft entry as an absolute link derived from DSH's active Web server port, so the conversation renderer keeps it clickable without hardcoding a port.
|
|
21
|
-
|
|
22
|
-
## 0.2.51 - 2026-09-04
|
|
23
|
-
|
|
24
|
-
- Keep the current short-term memory Block status visible above the composer when its inline conversation row scrolls out of view or is virtualized away.
|
|
25
|
-
- Show explicit open, sealed, compressing, failed, and compressed L0-L5 states while retaining expandable read-only Block details.
|
|
26
|
-
- Reuse the existing session feed and browser observers without adding runtime dependencies.
|
|
27
|
-
|
|
28
|
-
## 0.2.50 - 2026-09-04
|
|
29
|
-
|
|
30
|
-
- Keep feedback reports local instead of placing diagnostics, conversations, errors, or graph data in GitHub Issue URLs.
|
|
31
|
-
- Add a read-only report preview, clipboard-assisted Issue flow, and an exact UTF-8 diagnostic file download fallback.
|
|
32
|
-
- Build diagnostics from explicit field allowlists, preserve full report content, and warn users before including potentially private memory data.
|
|
33
|
-
- Add the local-only `feedback_prepare` Agent tool and editable AI-assisted feedback drafts in the feedback page.
|
|
34
|
-
- Detect explicit StrataGate tool, ingestion, Block derivation, and Graph projection failures for a short temporary Agent suggestion, with a global five-day cooldown.
|
|
35
|
-
- Keep GitHub submission manual and keep diagnostic logs and memory data opt-in.
|
|
36
|
-
|
|
37
|
-
## 0.2.48 - 2026-09-03
|
|
38
|
-
|
|
39
|
-
- Replace the short-term memory floating inspector with quiet, expandable Block status rows inside the conversation flow.
|
|
40
|
-
- Show persisted Turn ranges, the actual decayed L0-L5 layer, server-estimated layer token sizes, and read-only layer previews for the active DSH session.
|
|
41
|
-
- Restore sealed Block rows when the lightweight client consumes the paginated `memories(kind=blocks)` response.
|
|
42
|
-
|
|
43
|
-
## 0.2.47 - 2026-09-02
|
|
44
|
-
|
|
45
|
-
- Package the ordered, per-tool retrieval visualization as a new installable DSH release.
|
|
46
|
-
|
|
47
|
-
## 0.2.46 - 2026-09-02
|
|
3
|
+
## 0.2.57 - 2026-09-07
|
|
48
4
|
|
|
49
|
-
-
|
|
5
|
+
- Add an explicit per-Block Summary retry action for terminal failures, with affected conversation details and separate status refresh behavior.
|
|
6
|
+
- Give a user-requested retry a fresh bounded attempt budget while preserving raw conversation data and continuing downstream Event and graph processing only after Summary succeeds.
|
|
50
7
|
|
|
51
|
-
## 0.2.
|
|
8
|
+
## 0.2.56 - 2026-09-07
|
|
52
9
|
|
|
53
|
-
-
|
|
10
|
+
- Include Block Summary failures in workspace alerts, diagnostics, and system status instead of reporting only downstream Event and graph jobs.
|
|
11
|
+
- Derive pending Block presentation from the persisted Summary job and use workspace-wide job totals on the system page.
|
|
54
12
|
|
|
55
|
-
## 0.2.
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
-
|
|
63
|
-
|
|
64
|
-
## 0.2.
|
|
65
|
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
-
|
|
69
|
-
|
|
70
|
-
## 0.2.
|
|
71
|
-
|
|
72
|
-
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
13
|
+
## 0.2.55 - 2026-09-07
|
|
14
|
+
|
|
15
|
+
- Let the Agent unobtrusively offer a local feedback draft only for clear, unresolved or disruptive errors, with conversation-scoped suggestion and problem deduplication enforced by prompt instructions.
|
|
16
|
+
- Keep direct feedback requests authorized and unrestricted while preserving fact-only drafts, manual submission, and clickable local draft links.
|
|
17
|
+
|
|
18
|
+
## 0.2.54 - 2026-09-07
|
|
19
|
+
|
|
20
|
+
- Keep the virtualized short-term memory dock below host overlays and hide it while a visible modal dialog such as Settings is open.
|
|
21
|
+
|
|
22
|
+
## 0.2.53 - 2026-09-06
|
|
23
|
+
|
|
24
|
+
- Prefer DSH's formal `settingsNavigation.openSection()` contract when opening a prepared Feedback draft, while retaining the HTTP deep link and legacy rc.7 navigation as compatibility fallbacks.
|
|
25
|
+
- Replace the permanently expanded Feedback report with an on-demand preview that shares the exact generated report snapshot used for clipboard copy and diagnostic download.
|
|
26
|
+
- Keep real report, diagnostic-log, and Memory content out of GitHub Issue URLs; prefill only the optional title and a generic HTML paste instruction.
|
|
27
|
+
|
|
28
|
+
## 0.2.52 - 2026-09-05
|
|
29
|
+
|
|
30
|
+
- Return the Feedback draft entry as an absolute link derived from DSH's active Web server port, so the conversation renderer keeps it clickable without hardcoding a port.
|
|
31
|
+
|
|
32
|
+
## 0.2.51 - 2026-09-04
|
|
33
|
+
|
|
34
|
+
- Keep the current short-term memory Block status visible above the composer when its inline conversation row scrolls out of view or is virtualized away.
|
|
35
|
+
- Show explicit open, sealed, compressing, failed, and compressed L0-L5 states while retaining expandable read-only Block details.
|
|
36
|
+
- Reuse the existing session feed and browser observers without adding runtime dependencies.
|
|
37
|
+
|
|
38
|
+
## 0.2.50 - 2026-09-04
|
|
39
|
+
|
|
40
|
+
- Keep feedback reports local instead of placing diagnostics, conversations, errors, or graph data in GitHub Issue URLs.
|
|
41
|
+
- Add a read-only report preview, clipboard-assisted Issue flow, and an exact UTF-8 diagnostic file download fallback.
|
|
42
|
+
- Build diagnostics from explicit field allowlists, preserve full report content, and warn users before including potentially private memory data.
|
|
43
|
+
- Add the local-only `feedback_prepare` Agent tool and editable AI-assisted feedback drafts in the feedback page.
|
|
44
|
+
- Detect explicit StrataGate tool, ingestion, Block derivation, and Graph projection failures for a short temporary Agent suggestion, with a global five-day cooldown.
|
|
45
|
+
- Keep GitHub submission manual and keep diagnostic logs and memory data opt-in.
|
|
46
|
+
|
|
47
|
+
## 0.2.48 - 2026-09-03
|
|
48
|
+
|
|
49
|
+
- Replace the short-term memory floating inspector with quiet, expandable Block status rows inside the conversation flow.
|
|
50
|
+
- Show persisted Turn ranges, the actual decayed L0-L5 layer, server-estimated layer token sizes, and read-only layer previews for the active DSH session.
|
|
51
|
+
- Restore sealed Block rows when the lightweight client consumes the paginated `memories(kind=blocks)` response.
|
|
52
|
+
|
|
53
|
+
## 0.2.47 - 2026-09-02
|
|
54
|
+
|
|
55
|
+
- Package the ordered, per-tool retrieval visualization as a new installable DSH release.
|
|
56
|
+
|
|
57
|
+
## 0.2.46 - 2026-09-02
|
|
58
|
+
|
|
59
|
+
- Show a quiet, expandable answer-tail retrieval receipt when matching memories were checked but not adopted, preserving each tool retrieval as an ordered group with separately numbered candidates and on-demand source details.
|
|
60
|
+
|
|
61
|
+
## 0.2.45 - 2026-09-02
|
|
62
|
+
|
|
63
|
+
- Show a quiet answer-tail retrieval note when matching memories were checked but not adopted.
|
|
64
|
+
|
|
65
|
+
## 0.2.44 - 2026-09-02
|
|
66
|
+
|
|
67
|
+
- Fuse BM25 and structured Event/Element relevance with the existing adoption-based time-decay ranking, without admitting irrelevant recent memories.
|
|
68
|
+
|
|
69
|
+
## 0.2.43 - 2026-09-01
|
|
70
|
+
|
|
71
|
+
- Simplify adopted-memory citations with compact answer-tail summaries, collapsed related/source details, and explicit context-use labels.
|
|
72
|
+
- Render adopted Knowledge Graph references as focused neighborhoods and show all Block levels while highlighting only the adopted level.
|
|
73
|
+
|
|
74
|
+
## 0.2.42 - 2026-09-01
|
|
75
|
+
|
|
76
|
+
- Restore live assistant rendering on DSH `0.1.0-rc.7` by publishing memory-citation location data under the registered conversation kind.
|
|
77
|
+
- Derive answer-tail citations from supported `memory_record_use` tool call and result events instead of persisting an unsupported custom session event.
|
|
78
|
+
- Preserve read compatibility for legacy citation events while allowing migrated session history to replay without refresh-only failures.
|
|
79
|
+
|
|
80
|
+
## 0.2.41 - 2026-09-01
|
|
81
|
+
|
|
82
|
+
- Render program-owned Event, Knowledge Graph, and Block citations under the exact assistant answer that adopted them through `memory_record_use`.
|
|
83
|
+
- Preserve adopted evidence kind, source reference, Block level, and expansion state in durable usage audits and session history.
|
|
84
|
+
- Open citation details directly from the answer tail, including the selected memory content and its source conversation.
|
|
85
|
+
|
|
86
|
+
## 0.2.40 - 2026-08-31
|
|
87
|
+
|
|
88
|
+
- Make Knowledge Graph limits explicit, render the top 100 nodes by default, and let users reveal 100 more at a time.
|
|
89
|
+
- Add total-aware pagination for Events and Blocks in 40-item pages and usage audits in 100-item pages.
|
|
90
|
+
|
|
91
|
+
## 0.2.39 - 2026-08-31
|
|
92
|
+
|
|
93
|
+
- Preview external-memory imports without writes, skip exact duplicates deterministically, and ask the configured model to adjudicate Top-K local matches.
|
|
94
|
+
- Apply high-confidence decisions automatically while requiring confirmation only for low-confidence candidates.
|
|
95
|
+
- Commit imports atomically and support undoing a committed import batch, including affected Event relationships and derived projections.
|
|
96
|
+
- Keep model adjudication outside storage revision ownership, then reload and retry only the short idempotent commit so concurrent writes cannot fail a running import.
|
|
97
|
+
- Persist external-memory analysis jobs with per-candidate progress, recover malformed exports through a model fallback, and resume progress plus low-confidence review after reopening the import page.
|
|
98
|
+
- Keep import status polling alive across transient network failures, reload stale active namespaces before retry, and resume background adjudication from the latest SQLite revision after concurrent memory writes.
|
|
99
|
+
|
|
100
|
+
## 0.2.37 - 2026-08-29
|
|
101
|
+
|
|
102
|
+
- Seal each completed Block immediately with deterministic L3-L4 and permanent L5, while keeping model-pending Blocks out of decay and native-surface replacement until L0-L2 and Event processing both complete.
|
|
103
|
+
- Add persisted summary jobs, bounded exponential retries, and SQLite schema v9 migration so derivation failures cannot lose turns, receipts, or block later sealing.
|
|
104
|
+
- Resolve exact-model `reasoningEffort: off` support, fall back once on explicit rejection, cache negative capability by route, and bound structured tasks by output tokens and a hard timeout.
|
|
105
|
+
|
|
106
|
+
## 0.2.36 - 2026-08-28
|
|
97
107
|
|
|
98
108
|
- Make completed conversation turns per Block editable in Advanced Settings, persist it globally, and suggest an optional λ adjustment that preserves decay speed per turn.
|
|
99
109
|
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<img src="docs/assets/stratagate-avatar.png" alt="StrataGate Agent Memory banner" width="100%" />
|
|
3
|
+
<img src="docs/assets/stratagate-avatar.png" alt="StrataGate Agent Memory banner" width="100%" />
|
|
4
4
|
|
|
5
5
|
# StrataGate
|
|
6
6
|
|
|
@@ -8,14 +8,15 @@
|
|
|
8
8
|
|
|
9
9
|
StrataGate helps long-running AI agents remember across sessions without turning every remembered detail into an unquestioned fact.
|
|
10
10
|
|
|
11
|
-
[](https://github.com/diqierjia/StrataGate-AgentMemory/actions/workflows/ci.yml)
|
|
12
|
-
[](https://www.npmjs.com/package/stratagate-dsh)
|
|
13
|
-
[](https://github.com/diqierjia/StrataGate-AgentMemory/actions/workflows/ci.yml)
|
|
12
|
+
[](https://www.npmjs.com/package/stratagate-dsh)
|
|
13
|
+
[](https://www.npmjs.com/package/stratagate-dsh)
|
|
14
|
+
[](LICENSE)
|
|
15
|
+
[](https://www.typescriptlang.org/)
|
|
16
|
+
[](https://awesome-dsh-plugin.com)
|
|
17
|
+
[](CONTRIBUTING.md)
|
|
17
18
|
|
|
18
|
-
[中文说明](README.zh-CN.md) · [DeepSeek Harness guide](docs/DSH.md) · [Architecture](docs/ARCHITECTURE.md) · [Full evaluation](docs/EVALUATION.md)
|
|
19
|
+
[中文说明](README.zh-CN.md) · [DeepSeek Harness guide](docs/DSH.md) · [Architecture](docs/ARCHITECTURE.md) · [Full evaluation](docs/EVALUATION.md)
|
|
19
20
|
|
|
20
21
|
<strong>Current public result:</strong> on LoCoMo `conv-26`, StrataGate averaged <strong>80.46%</strong> across 10 independent Judge runs, versus <strong>63.22%</strong> for Mem0 base. [See the scope and protocol](#experimental-results).
|
|
21
22
|
|
|
@@ -58,7 +59,7 @@ By default, the database is stored at:
|
|
|
58
59
|
DSH_HOME/stratagate/memory.db
|
|
59
60
|
```
|
|
60
61
|
|
|
61
|
-
Removing the plugin does not delete the database. For screenshots, configuration, memory tools, and the exact automatic-capture rules, see the [DeepSeek Harness plugin guide](docs/DSH.md).
|
|
62
|
+
Removing the plugin does not delete the database. For screenshots, configuration, memory tools, and the exact automatic-capture rules, see the [DeepSeek Harness plugin guide](docs/DSH.md).
|
|
62
63
|
|
|
63
64
|
## The problem behind the design
|
|
64
65
|
|
|
@@ -128,7 +129,7 @@ For example, if a user says “Use pnpm for this project,” StrataGate keeps th
|
|
|
128
129
|
|
|
129
130
|
By default, every 12 complete conversation turns are sealed into one memory block. Messages that have not yet reached the boundary remain in the open tail and are not compressed or extracted early.
|
|
130
131
|
|
|
131
|
-
This is the core-library default. The DeepSeek Harness plugin defaults to 6 turns per Block so Event extraction becomes available sooner, and exposes `blockTurnSize` as a user setting. Block age is the distance from the latest ready Block in the same thread, so open-tail and model-pending Blocks do not cause decay. The default Block-decay coefficient is `0.30`.
|
|
132
|
+
This is the core-library default. The DeepSeek Harness plugin defaults to 6 turns per Block so Event extraction becomes available sooner, and exposes `blockTurnSize` as a user setting. Block age is the distance from the latest ready Block in the same thread, so open-tail and model-pending Blocks do not cause decay. The default Block-decay coefficient is `0.30`.
|
|
132
133
|
|
|
133
134
|
Each sealed block contains six levels of detail:
|
|
134
135
|
|
|
@@ -141,7 +142,7 @@ Each sealed block contains six levels of detail:
|
|
|
141
142
|
| L4 | Readable near-verbatim conversation | Verify natural-language context and tool results |
|
|
142
143
|
| L5 | Complete messages and tool records | Final source |
|
|
143
144
|
|
|
144
|
-
At the boundary, StrataGate first seals permanent L5 together with deterministic L4 and L3, before any model call. The Block remains model-pending—and cannot replace native conversation history or participate in decay—until validated L0–L2 and Event processing complete. Ready Blocks then decay toward shallower levels as more ready Blocks follow; deeper detail can be expanded again when needed.
|
|
145
|
+
At the boundary, StrataGate first seals permanent L5 together with deterministic L4 and L3, before any model call. The Block remains model-pending—and cannot replace native conversation history or participate in decay—until validated L0–L2 and Event processing complete. Ready Blocks then decay toward shallower levels as more ready Blocks follow; deeper detail can be expanded again when needed.
|
|
145
146
|
|
|
146
147
|
L0–L4 are derived views of the same source. They never overwrite or rewrite L5. Event cards likewise reference their source blocks and cannot modify them.
|
|
147
148
|
|
|
@@ -185,7 +186,7 @@ In this structure:
|
|
|
185
186
|
|
|
186
187
|
Separating mention time from occurrence time prevents the system from treating a message timestamp as the event timestamp. It also gives the system enough information to resolve relative expressions such as “last week” and “next month.”
|
|
187
188
|
|
|
188
|
-
After L0–L2 validates, Event extraction runs independently without waiting for block `N+1`. The extractor may read the previous Block and the nearest available later ready Block as context, but every new fact and source reference must come from target block `N`.
|
|
189
|
+
After L0–L2 validates, Event extraction runs independently without waiting for block `N+1`. The extractor may read the previous Block and the nearest available later ready Block as context, but every new fact and source reference must come from target block `N`.
|
|
189
190
|
|
|
190
191
|
<a id="current-state-graph"></a>
|
|
191
192
|
|
|
@@ -243,10 +244,10 @@ An event being retrieved does not mean that it helped the answer.
|
|
|
243
244
|
Search therefore updates only observable retrieval records; it does not directly increase memory weight. After the answer is complete, the application explicitly calls:
|
|
244
245
|
|
|
245
246
|
```ts
|
|
246
|
-
await memory.recordMemoryUse({ eventIds, elementIds });
|
|
247
|
+
await memory.recordMemoryUse({ eventIds, elementIds });
|
|
247
248
|
```
|
|
248
249
|
|
|
249
|
-
Only Events, or the source Events behind adopted graph evidence, update their long-term weight. Legacy Element evidence remains supported by integrations that still use it.
|
|
250
|
+
Only Events, or the source Events behind adopted graph evidence, update their long-term weight. Legacy Element evidence remains supported by integrations that still use it.
|
|
250
251
|
|
|
251
252
|
This avoids a common feedback loop:
|
|
252
253
|
|
|
@@ -270,7 +271,7 @@ A new event can supersede an old one, while the old event and its source remain
|
|
|
270
271
|
|
|
271
272
|
The exported prompt and parser use the `stratagate.external-memory.v2` format. Unknown dates remain unknown: the importer preserves the original temporal wording instead of guessing from the current date or message order. See [`docs/EXTERNAL_MEMORY_IMPORT.zh-CN.md`](docs/EXTERNAL_MEMORY_IMPORT.zh-CN.md) for the current integration guide.
|
|
272
273
|
|
|
273
|
-
The DeepSeek Harness UI previews every import, skips exact duplicates deterministically, and asks the configured model to choose add, merge, supersede, conflict, or ignore against Top-K local matches. High-confidence decisions are applied automatically; only low-confidence decisions require confirmation. Each committed batch can be undone from the result screen.
|
|
274
|
+
The DeepSeek Harness UI previews every import, skips exact duplicates deterministically, and asks the configured model to choose add, merge, supersede, conflict, or ignore against Top-K local matches. High-confidence decisions are applied automatically; only low-confidence decisions require confirmation. Each committed batch can be undone from the result screen.
|
|
274
275
|
|
|
275
276
|
## A real retrieval path
|
|
276
277
|
|
|
@@ -384,40 +385,40 @@ npm run build
|
|
|
384
385
|
|
|
385
386
|
The main code and documentation entry points are:
|
|
386
387
|
|
|
387
|
-
- [`packages/core/examples/basic.ts`](packages/core/examples/basic.ts): minimal core-engine example;
|
|
388
|
-
- [`packages/core/src/store.ts`](packages/core/src/store.ts): core state, Block/Event/graph lifecycle, import, and retrieval;
|
|
389
|
-
- [`packages/core/src/events.ts`](packages/core/src/events.ts): stable Event-type normalization;
|
|
390
|
-
- [`packages/core/src/elements.ts`](packages/core/src/elements.ts): provenance-checked element projection and time views;
|
|
391
|
-
- [`packages/core/src/graph.ts`](packages/core/src/graph.ts): provenance-checked graph projection and graph state;
|
|
392
|
-
- [`packages/core/src/external-memory.ts`](packages/core/src/external-memory.ts): external-memory schema, prompts, parser, and extractor;
|
|
393
|
-
- [`packages/core/src/search.ts`](packages/core/src/search.ts): deterministic BM25 token ranking and RRF fusion;
|
|
394
|
-
- [`packages/core/src/retrieval.ts`](packages/core/src/retrieval.ts): evidence-gate normalization and constraint validation;
|
|
395
|
-
- [`packages/core/src/blocks.ts`](packages/core/src/blocks.ts): layering rules and deterministic pruning;
|
|
388
|
+
- [`packages/core/examples/basic.ts`](packages/core/examples/basic.ts): minimal core-engine example;
|
|
389
|
+
- [`packages/core/src/store.ts`](packages/core/src/store.ts): core state, Block/Event/graph lifecycle, import, and retrieval;
|
|
390
|
+
- [`packages/core/src/events.ts`](packages/core/src/events.ts): stable Event-type normalization;
|
|
391
|
+
- [`packages/core/src/elements.ts`](packages/core/src/elements.ts): provenance-checked element projection and time views;
|
|
392
|
+
- [`packages/core/src/graph.ts`](packages/core/src/graph.ts): provenance-checked graph projection and graph state;
|
|
393
|
+
- [`packages/core/src/external-memory.ts`](packages/core/src/external-memory.ts): external-memory schema, prompts, parser, and extractor;
|
|
394
|
+
- [`packages/core/src/search.ts`](packages/core/src/search.ts): deterministic BM25 token ranking and RRF fusion;
|
|
395
|
+
- [`packages/core/src/retrieval.ts`](packages/core/src/retrieval.ts): evidence-gate normalization and constraint validation;
|
|
396
|
+
- [`packages/core/src/blocks.ts`](packages/core/src/blocks.ts): layering rules and deterministic pruning;
|
|
396
397
|
- [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md): complete system boundaries and implementation invariants;
|
|
397
398
|
- [`docs/EVALUATION.md`](docs/EVALUATION.md): complete experiment history and failure analysis.
|
|
398
399
|
|
|
399
|
-
`packages/core/examples/basic.ts` demonstrates the core API; it does not fully reproduce the agent tool loop used in the benchmark. See the evaluation document for the model calls, tool orchestration, and Judge protocol used in the evaluation.
|
|
400
|
+
`packages/core/examples/basic.ts` demonstrates the core API; it does not fully reproduce the agent tool loop used in the benchmark. See the evaluation document for the model calls, tool orchestration, and Judge protocol used in the evaluation.
|
|
400
401
|
|
|
401
402
|
## Documentation and reproduction
|
|
402
403
|
|
|
403
404
|
| Resource | Contents |
|
|
404
405
|
| --- | --- |
|
|
405
|
-
| [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) | Data flow, layering rules, Event/Element protocols, retrieval, evidence-gate constraints, weighting, and storage invariants |
|
|
406
|
+
| [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) | Data flow, layering rules, Event/Element protocols, retrieval, evidence-gate constraints, weighting, and storage invariants |
|
|
406
407
|
| [`docs/EXTERNAL_MEMORY_IMPORT.zh-CN.md`](docs/EXTERNAL_MEMORY_IMPORT.zh-CN.md) | External-memory export format, import flow, and integration example |
|
|
407
408
|
| [`docs/EVALUATION.md`](docs/EVALUATION.md) | R1–R8 experiments, model sensitivity, Mem0 comparison, failure analysis, and reporting boundaries |
|
|
408
409
|
| [`benchmarks/locomo-conv26-r8-final.json`](benchmarks/locomo-conv26-r8-final.json) | Current result, per-stage statistics, run information, and source artifact hashes |
|
|
409
|
-
| [`packages/core/examples/basic.ts`](packages/core/examples/basic.ts) | Minimal code example |
|
|
410
|
+
| [`packages/core/examples/basic.ts`](packages/core/examples/basic.ts) | Minimal code example |
|
|
410
411
|
|
|
411
412
|
## Repository layout
|
|
412
413
|
|
|
413
414
|
```text
|
|
414
|
-
src/ DeepSeek Harness Host and Web client adapter
|
|
415
|
-
tests/ DeepSeek Harness integration tests
|
|
416
|
-
cordis.patch.yml Root-level DSH bundle manifest
|
|
417
|
-
packages/core/ Shared memory engine, core tests, and example
|
|
418
|
-
integrations/workbuddy/ WorkBuddy Host Adapter and MCP integration
|
|
419
|
-
docs/ DSH usage, architecture, and evaluation
|
|
420
|
-
benchmarks/ Machine-readable experiment results
|
|
415
|
+
src/ DeepSeek Harness Host and Web client adapter
|
|
416
|
+
tests/ DeepSeek Harness integration tests
|
|
417
|
+
cordis.patch.yml Root-level DSH bundle manifest
|
|
418
|
+
packages/core/ Shared memory engine, core tests, and example
|
|
419
|
+
integrations/workbuddy/ WorkBuddy Host Adapter and MCP integration
|
|
420
|
+
docs/ DSH usage, architecture, and evaluation
|
|
421
|
+
benchmarks/ Machine-readable experiment results
|
|
421
422
|
```
|
|
422
423
|
|
|
423
424
|
## When StrataGate is a good fit
|
|
@@ -433,14 +434,14 @@ Choose StrataGate when you want several of these properties together:
|
|
|
433
434
|
|
|
434
435
|
Consider a different plugin first when the user's main requirement is free-form visual editing of memory records, hosted multi-user synchronization across products, or a minimal manually maintained notes file. StrataGate includes a read-oriented knowledge-graph view, but it is optimized for automatic, local, evidence-traceable memory rather than collaborative knowledge-base editing.
|
|
435
436
|
|
|
436
|
-
For DeepSeek Harness, follow the [quick start](#quick-start-deepseek-harness). The DSH-specific behavior, tools, configuration, and failure semantics are documented in [`docs/DSH.md`](docs/DSH.md).
|
|
437
|
-
|
|
438
|
-
## Contributing
|
|
439
|
-
|
|
440
|
-
Contributions are welcome—whether you are fixing a bug, improving documentation, adding an integration, or exploring a better memory and retrieval strategy.
|
|
441
|
-
|
|
442
|
-
To get started, read [`CONTRIBUTING.md`](CONTRIBUTING.md). It explains how to set up the monorepo, run checks and tests, choose a useful area to work on, and prepare a focused pull request. If you are unsure whether an idea fits the project, [open an issue](https://github.com/diqierjia/StrataGate-AgentMemory/issues) before investing in a large change.
|
|
443
|
-
|
|
444
|
-
## License
|
|
437
|
+
For DeepSeek Harness, follow the [quick start](#quick-start-deepseek-harness). The DSH-specific behavior, tools, configuration, and failure semantics are documented in [`docs/DSH.md`](docs/DSH.md).
|
|
438
|
+
|
|
439
|
+
## Contributing
|
|
440
|
+
|
|
441
|
+
Contributions are welcome—whether you are fixing a bug, improving documentation, adding an integration, or exploring a better memory and retrieval strategy.
|
|
442
|
+
|
|
443
|
+
To get started, read [`CONTRIBUTING.md`](CONTRIBUTING.md). It explains how to set up the monorepo, run checks and tests, choose a useful area to work on, and prepare a focused pull request. If you are unsure whether an idea fits the project, [open an issue](https://github.com/diqierjia/StrataGate-AgentMemory/issues) before investing in a large change.
|
|
444
|
+
|
|
445
|
+
## License
|
|
445
446
|
|
|
446
447
|
StrataGate is available under the [MIT License](LICENSE).
|