@try-works/dsh-memory 0.1.31 → 0.1.32

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/capture.js +7 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@try-works/dsh-memory",
3
- "version": "0.1.31",
3
+ "version": "0.1.32",
4
4
  "description": "Git-backed, workspace-scoped memory for the DeepSeek Harness (global layer + per-workspace layers)",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/capture.js CHANGED
@@ -161,6 +161,13 @@ export async function captureSession(store, services, session, options = {}) {
161
161
  lastSeq: consumed ? logEnd : watermark,
162
162
  digestHash: digestHash(freshDigest),
163
163
  eventCount: events.length,
164
+ // A NEW SUMMARY SECTION IS NEW MATERIAL, so the consolidation retry budget starts over.
165
+ // `transition` merges detail over the previous entry, which means a counter written here is
166
+ // the only thing that can clear it - and without this reset the counter survived every
167
+ // re-capture and grew across the session's whole life (two sessions reached 37 and 107 before
168
+ // being abandoned as "attempts-exhausted" while still producing summaries). The top-level
169
+ // `attempts` field is already reset to 0 on this transition; consolidation reads `detail`.
170
+ consolidateAttempts: 0,
164
171
  toolCallCount,
165
172
  };
166
173
  // Which state this pass produced, and why. A stopping state always carries a reason, because