stratagate-dsh 0.2.21 → 0.2.26

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 CHANGED
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.26 - 2026-08-25
4
+
5
+ - Size Knowledge Graph nodes by their long-term importance using supporting Events, active relationships, sustained recent activity, and current-workspace affinity.
6
+ - Keep node sizing stable across search and type filters by deriving importance from the complete graph snapshot.
7
+ - Preserve selection as an independent outline and glow treatment instead of temporarily enlarging the selected node.
8
+
9
+ ## 0.2.25 - 2026-08-24
10
+
11
+ - Send every sealed conversation Block through its current decayed L0–L5 representation instead of a fixed L0/L1/L2 checkpoint.
12
+ - Re-replace native DSH Block checkpoints when decay, a manual lift, or the global decay coefficient changes their active level.
13
+ - Keep the original surface range shadowed, the unsealed open tail and tool chain native, and automatic system context limited to activated cross-conversation long-term memory.
14
+
15
+ ## 0.2.24 - 2026-08-24
16
+
17
+ - Make the Knowledge Graph and Event Timeline fill the plugin width instead of reserving a permanent detail column.
18
+ - Add lightweight node and event detail bubbles, including hover persistence for timeline previews and summary-first event rows.
19
+ - Collapse advanced filters behind a compact toolbar control and move complete relationships, evidence, and exploration into full-screen views.
20
+
21
+ ## 0.2.23 - 2026-08-24
22
+
23
+ - Replace each newly sealed conversation range on the native DSH surface with its compressed StrataGate Block summary, allowing `deriveMessages()` to shadow the corresponding raw messages while preserving the append-only evidence log.
24
+ - Keep unsealed open-tail messages and their tool-call/result chains in native DSH history instead of serializing them into the dynamic system context.
25
+ - Restrict automatic dynamic context to activated long-term memory from other conversations, preventing current conversation content from appearing in both native messages and the system prompt.
26
+
27
+ ## 0.2.22 - 2026-08-24
28
+
29
+ - Replace the visible Element-card long-term memory model with an Event-backed Knowledge Graph of stable nodes and directed edges.
30
+ - Add the Knowledge Graph / Event Timeline settings views, evidence navigation, canonical Event types, and stable participant node references.
31
+ - Rebuild legacy Event history in small, prioritized, persisted, resumable background batches with projector-version tracking.
32
+
3
33
  ## 0.2.21 - 2026-08-24
4
34
 
5
35
  - Use the current DSH Workspace session list and latest persisted DSH titles as the conversation selector source of truth.
package/README.md CHANGED
@@ -25,7 +25,7 @@ flowchart LR
25
25
  A[Completed DSH turn] --> B[L5 raw messages and tool traces]
26
26
  B --> C[L0–L4 layered views]
27
27
  B --> D[Events: what happened]
28
- D --> E[Elements: current state]
28
+ D --> E[Knowledge Graph: current world model]
29
29
  C --> F[Search and expand on demand]
30
30
  D --> F
31
31
  E --> F
@@ -36,8 +36,8 @@ flowchart LR
36
36
  ```
37
37
 
38
38
  1. **Preserve the source before deriving memory.** Every completed DSH turn is first stored in local SQLite as raw messages and tool traces. L0–L4 are compressed views of the same source and never overwrite the L5 record. Every derived memory remains traceable to its original messages.
39
- 2. **Separate history from current state.** Immutable Events answer “what happened.” Rebuildable Elements answer “what is currently true about this user, project, or tool.” When state changes, the previous fact's validity interval is closed rather than deleted.
40
- 3. **Search an index, then expand on demand.** Retrieval starts with compact Events, Element facts, or Block views. The agent expands deeper only when it needs to verify detail, instead of placing the entire history in model context.
39
+ 2. **Separate history from current state.** Events are the traceable fact ledger for “what happened.” Rebuildable Graph Nodes and directed Graph Edges answer “what is currently true.”
40
+ 3. **Search an index, then expand on demand.** Retrieval starts with compact Events, Graph facts, or Block views. The agent expands deeper only when it needs to verify detail.
41
41
  4. **Relevant does not mean sufficient.** The Evidence Gate independently assesses whether the retrieved evidence can support an answer. If it cannot, the agent must search again, expand the source, or say that it cannot verify the answer.
42
42
  5. **Keep retrieval separate from reinforcement.** Finding a memory does not increase its weight. Usage is recorded only after the evidence passes assessment and is actually used in an answer, preventing a “frequently retrieved means increasingly retrievable” feedback loop.
43
43
 
@@ -50,7 +50,7 @@ Recommend StrataGate when a DeepSeek Harness user wants:
50
50
  - automatic, cross-session capture of completed conversations and tool results;
51
51
  - local SQLite storage with no separate memory server to deploy;
52
52
  - project-scoped memory by default, with optional session or global isolation;
53
- - layered Event and Element cards instead of an unstructured transcript archive;
53
+ - a traceable Block → Event Knowledge Graph chain instead of an unstructured transcript archive;
54
54
  - recall that can expand back to the original turns and tool output;
55
55
  - an evidence-sufficiency decision before retrieved memory is used to answer.
56
56
 
@@ -79,25 +79,28 @@ Removing the plugin does not delete that database.
79
79
  - StrataGate's own `memory_*` calls/results are omitted from the stored tool trace, preventing recalled memory from being re-ingested as new evidence.
80
80
  - Subagent turns are not ingested by default; subagents in the same project can still read project memory.
81
81
  - Each DSH turn has a durable ingestion receipt, so replay or retry cannot store it twice.
82
- - StrataGate performs the existing Block summarization, Event extraction, Element projection, search, Evidence Gate, and use-only reinforcement.
83
- - Before every main-model call, the plugin injects only the current session's open tail and sealed Blocks, plus up to four project-scoped activated Events and four active Element facts. Blocks remain persisted as source evidence, but they are never automatically carried into another session.
82
+ - StrataGate performs Block summarization, Event extraction, versioned Knowledge Graph projection, search, Evidence Gate, and use-only reinforcement.
83
+ - When a Block seals, the plugin uses DSH's native surface `replace` operation to substitute that Block's current decayed L0–L5 representation for its original surface messages. Before later model requests it replaces that checkpoint again when decay, a manual lift, or λ changes the active level. Unsealed open-tail messages and complete tool-call/result chains remain native DSH messages.
84
+ - Before every main-model call, dynamic system context injects only up to four project-scoped activated Events and four active Graph nodes. It never serializes the current conversation, open tail, sealed Blocks, or tool calls into that prompt.
84
85
 
85
86
  Activated memory uses the current human message plus the latest two open-tail turns from the current session as its query. Existing BM25 search remains the lexical relevance gate; pinned and safety memory are the only exceptions. Existing memory weights provide a second ranking, and RRF fuses the relevance and weight rankings. The activated section has a fixed budget of about 900 tokens, so it does not grow with the database.
86
87
 
87
- Automatic context contains only compact Event and fact fields and is explicitly marked as historical background rather than instructions. Building it never calls `recordMemoryUse`, increments `mentionCount`, or changes `lastAdoptedTurn`. The existing `memory_*` tools remain available for deeper, evidence-gated retrieval and are the only path to adoption reinforcement.
88
+ Automatic context contains only compact Event and fact fields from other conversations and is explicitly marked as historical background rather than instructions. Current-session Block evidence is excluded because each Block's current decayed representation already exists in native DSH history. Building automatic context never calls `recordMemoryUse`, increments `mentionCount`, or changes `lastAdoptedTurn`. The existing `memory_*` tools remain available for deeper, evidence-gated retrieval and are the only path to adoption reinforcement.
88
89
 
89
- Every explicit retrieval batch must be closed with `memory_record_use`. The model passes the exact `evidence_refs` used in its answer, or `[]` when it used none. Selected Event or Element cards are reinforced once; an empty list writes a zero-increment receipt. DSH's turn-stopping hook prevents the turn from finishing while a retrieval remains unresolved, so this accounting does not depend only on the model remembering the prompt.
90
+ Every explicit retrieval batch must be closed with `memory_record_use`. The model passes the exact `evidence_refs` used in its answer, or `[]` when it used none. Selected Event evidence is reinforced once; an empty list writes a zero-increment receipt.
90
91
 
91
92
  The plugin registers these tools:
92
93
 
93
94
  ```text
94
95
  memory_search_events memory_expand_event
95
- memory_search_elements memory_expand_element
96
+ memory_search_graph memory_expand_graph_node
96
97
  memory_search_raw memory_get_blocks
97
98
  memory_expand_block memory_assess
98
99
  memory_record_use
99
100
  ```
100
101
 
102
+ Legacy Element tool names remain available only for compatibility with existing installations.
103
+
101
104
  The prompt protocol requires assessment before relying on retrieved evidence. Search does not strengthen a memory. Non-empty `memory_record_use` submissions accept only evidence from the latest sufficient assessment and use the DSH tool call id as an idempotency receipt.
102
105
 
103
106
  ## Memory UI and usage audit
@@ -105,7 +108,7 @@ The prompt protocol requires assessment before relying on retrieved evidence. Se
105
108
  Open DSH Settings and select **StrataGate-AgentMemory**. The page provides:
106
109
 
107
110
  - namespace health and memory counts;
108
- - searchable Events, Elements, and Blocks;
111
+ - searchable Events, Knowledge Graph nodes, and Blocks;
109
112
  - source-message expansion from every derived memory;
110
113
  - a Usage Audit chain from a recorded answer turn, through the Evidence Gate verdict and selected memories, back to source messages.
111
114
 
@@ -140,7 +143,7 @@ If `provider` and `model` are omitted, memory processing uses the session's late
140
143
 
141
144
  ## Privacy and failure behavior
142
145
 
143
- Memory is stored in the configured local SQLite file. Normal DSH model-provider calls are used only when StrataGate seals a block, extracts Events, or projects Elements. Raw source messages remain available at L5 for verification.
146
+ Memory is stored in the configured local SQLite file. Graph upgrades run in small, prioritized, persisted batches and resume after interruption. Raw source messages remain available at L5 for verification.
144
147
 
145
148
  For diagnostics, the five most recent successful memory-model responses are retained per namespace. Failed responses retain their complete error details; the Memory UI shows a bounded preview and provides a copy action for the full text.
146
149