causantic 0.5.6 → 0.6.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 CHANGED
@@ -165,7 +165,7 @@ The MCP server exposes nine tools:
165
165
  | `predict` | Forward episodic — "what's likely next?" Seeds → forward chain walk → ordered narrative. Includes chain walk diagnostics on fallback. |
166
166
  | `list-projects` | Discover available projects with chunk counts and date ranges. |
167
167
  | `list-sessions` | Browse sessions for a project with time filtering. |
168
- | `reconstruct` | Rebuild session context chronologically — "what did I work on yesterday?" |
168
+ | `reconstruct` | Rebuild session context chronologically — "what did I work on yesterday?" Call with just `project` for recent history. |
169
169
  | `hook-status` | Check when hooks last ran and whether they succeeded. |
170
170
  | `stats` | Memory statistics — version, chunk/edge/cluster counts, per-project breakdowns. |
171
171
  | `forget` | Delete chunks by project, time range, session, or semantic query. Defaults to dry-run preview. |
@@ -199,7 +199,7 @@ Causantic installs 14 Claude Code slash commands (via `npx causantic init`) for
199
199
  | `/causantic-explain [question]` | Answer "why" questions using memory + codebase (why does X work this way?) |
200
200
  | `/causantic-debug [error]` | Search for prior encounters with an error (auto-extracts from conversation if no argument) |
201
201
  | `/causantic-resume` | Resume interrupted work — start-of-session briefing |
202
- | `/causantic-reconstruct [time]` | Replay a past session chronologically by time range |
202
+ | `/causantic-reconstruct [time]` | Replay a past session chronologically, or get recent history (no args = timeline mode) |
203
203
  | `/causantic-summary [time]` | Factual recap of what was done across recent sessions |
204
204
  | `/causantic-list-projects` | Discover available projects in memory |
205
205
  | `/causantic-status` | Check system health and memory statistics |
@@ -30,6 +30,6 @@ export declare function renderTurn(turn: Turn, mode?: RenderMode, includeThinkin
30
30
  * Chunk turns into embeddable text chunks.
31
31
  */
32
32
  export declare function chunkTurns(turns: Turn[], options: ChunkerOptions): Chunk[];
33
- /** Reset chunk counter (for testing). */
33
+ /** @deprecated No-op, kept for backwards compatibility. */
34
34
  export declare function resetChunkCounter(): void;
35
35
  //# sourceMappingURL=chunker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/parser/chunker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,KAAK,EAEL,UAAU,EAIV,IAAI,EACL,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oCAAoC;IACpC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,EACV,IAAI,GAAE,UAAmB,EACzB,eAAe,GAAE,OAAc,GAC9B,MAAM,CAsCR;AAuFD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,KAAK,EAAE,CAoF1E;AAaD,yCAAyC;AACzC,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
1
+ {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/parser/chunker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,KAAK,EAEL,UAAU,EAIV,IAAI,EACL,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oCAAoC;IACpC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,EACV,IAAI,GAAE,UAAmB,EACzB,eAAe,GAAE,OAAc,GAC9B,MAAM,CAsCR;AAuFD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,KAAK,EAAE,CAoF1E;AAcD,2DAA2D;AAC3D,wBAAgB,iBAAiB,IAAI,IAAI,CAAG"}
@@ -7,6 +7,7 @@
7
7
  * 3. Trivially small turns merged with neighbors
8
8
  * 4. Text rendering with structure markers for embedding
9
9
  */
10
+ import { createHash } from 'crypto';
10
11
  import { approximateTokens } from '../utils/token-counter.js';
11
12
  /**
12
13
  * Render a turn to flat text with structure markers.
@@ -204,17 +205,17 @@ export function chunkTurns(turns, options) {
204
205
  flushBuffer();
205
206
  return chunks;
206
207
  }
207
- let chunkCounter = 0;
208
208
  function makeChunk(text, metadata) {
209
- chunkCounter++;
209
+ const hash = createHash('sha256')
210
+ .update(`${metadata.sessionId}:${metadata.turnIndices.join(',')}:${text}`)
211
+ .digest('hex')
212
+ .slice(0, 16);
210
213
  return {
211
- id: `${metadata.sessionId}-chunk-${chunkCounter}`,
214
+ id: `${metadata.sessionId}-${hash}`,
212
215
  text,
213
216
  metadata,
214
217
  };
215
218
  }
216
- /** Reset chunk counter (for testing). */
217
- export function resetChunkCounter() {
218
- chunkCounter = 0;
219
- }
219
+ /** @deprecated No-op, kept for backwards compatibility. */
220
+ export function resetChunkCounter() { }
220
221
  //# sourceMappingURL=chunker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../src/parser/chunker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../src/parser/chunker.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export function insertChunk(chunk) {
11
11
  const db = getDb();
12
12
  const id = chunk.id || generateId();
13
13
  const stmt = db.prepare(`
14
- INSERT INTO chunks (
14
+ INSERT OR IGNORE INTO chunks (
15
15
  id, session_id, session_slug, turn_indices, start_time, end_time,
16
16
  content, code_block_count, tool_use_count, approx_tokens,
17
17
  agent_id, spawn_depth, project_path
@@ -28,7 +28,7 @@ export function insertChunks(chunks) {
28
28
  const db = getDb();
29
29
  const ids = [];
30
30
  const stmt = db.prepare(`
31
- INSERT INTO chunks (
31
+ INSERT OR IGNORE INTO chunks (
32
32
  id, session_id, session_slug, turn_indices, start_time, end_time,
33
33
  content, code_block_count, tool_use_count, approx_tokens,
34
34
  agent_id, spawn_depth, project_path
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "causantic",
3
- "version": "0.5.6",
3
+ "version": "0.6.0",
4
4
  "description": "Long-term memory for Claude Code — local-first, graph-augmented, self-benchmarking",
5
5
  "type": "module",
6
6
  "private": false,