graph-mind-memory 0.6.1__tar.gz → 0.6.3__tar.gz

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 (68) hide show
  1. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/PKG-INFO +5 -1
  2. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/README.md +4 -0
  3. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/pyproject.toml +1 -1
  4. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/brain_view.py +11 -5
  5. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/PKG-INFO +5 -1
  6. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/LICENSE +0 -0
  7. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/setup.cfg +0 -0
  8. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/associative_memory.py +0 -0
  9. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/automatic_capture.py +0 -0
  10. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/automatic_capture_cli.py +0 -0
  11. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/brain_log.py +0 -0
  12. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/clock.py +0 -0
  13. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/coding_memory.py +0 -0
  14. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/conversation_memory.py +0 -0
  15. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/development_memory.py +0 -0
  16. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/development_paths.py +0 -0
  17. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/embedding_warmup.py +0 -0
  18. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/entity_timeline.py +0 -0
  19. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/forget.py +0 -0
  20. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_mcp_server.py +0 -0
  21. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/SOURCES.txt +0 -0
  22. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/dependency_links.txt +0 -0
  23. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/entry_points.txt +0 -0
  24. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/requires.txt +0 -0
  25. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/graph_mind_memory.egg-info/top_level.txt +0 -0
  26. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/install.py +0 -0
  27. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/local_brain.py +0 -0
  28. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/local_embedder.py +0 -0
  29. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/semantic_llm_extractor.py +0 -0
  30. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/semantic_memory.py +0 -0
  31. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/semantic_recall.py +0 -0
  32. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/temporal_resolver.py +0 -0
  33. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/universal_personal_memory.py +0 -0
  34. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/src/vector_cache.py +0 -0
  35. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_associative_memory.py +0 -0
  36. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_automatic_capture.py +0 -0
  37. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_brain_view.py +0 -0
  38. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_capture_health.py +0 -0
  39. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_coding_memory.py +0 -0
  40. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_cold_start.py +0 -0
  41. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_concurrent_use.py +0 -0
  42. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_conversation_memory.py +0 -0
  43. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_executable_memory.py +0 -0
  44. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_executable_plan_v2_diagnostic.py +0 -0
  45. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_forget.py +0 -0
  46. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_forget_conversation.py +0 -0
  47. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_graph_mind_mcp_server.py +0 -0
  48. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_ingestion_gate.py +0 -0
  49. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_ingestion_synonyms.py +0 -0
  50. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_install.py +0 -0
  51. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_llm_concept_planner.py +0 -0
  52. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_local_brain.py +0 -0
  53. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_longmemeval_adapter.py +0 -0
  54. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_longmemeval_ingestion_calibration.py +0 -0
  55. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_longmemeval_ingestion_preflight.py +0 -0
  56. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_longmemeval_ingestion_v7.py +0 -0
  57. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_memory_algebra.py +0 -0
  58. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_piece_index.py +0 -0
  59. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_precondition_verifier.py +0 -0
  60. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_recent_recall.py +0 -0
  61. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_resume_retries.py +0 -0
  62. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_secret_masking.py +0 -0
  63. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_semantic_llm_extractor.py +0 -0
  64. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_semantic_memory.py +0 -0
  65. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_semantic_recall.py +0 -0
  66. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_shared_brain.py +0 -0
  67. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_temporal_state.py +0 -0
  68. {graph_mind_memory-0.6.1 → graph_mind_memory-0.6.3}/tests/test_universal_personal_memory.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graph-mind-memory
3
- Version: 0.6.1
3
+ Version: 0.6.3
4
4
  Summary: Local-first memory for AI coding assistants: verbatim, on your own PC, no LLM calls at write time.
5
5
  Author-email: Yohan Ko <goyohan0611@gmail.com>
6
6
  License-Expression: AGPL-3.0-only
@@ -246,6 +246,10 @@ tools get confused with each other. Version 0.1 had thirteen.
246
246
 
247
247
  ## See your memory
248
248
 
249
+ <div align="center">
250
+ <img src="demo/brain.gif" alt="Three weeks of real coding chats as a 3D graph: coloured regions of related memories, joined by links" width="760">
251
+ </div>
252
+
249
253
  ```bash
250
254
  graph-mind-view # opens your memory as a 3D graph in the browser
251
255
  graph-mind-view --no-text # the same picture with no conversation text in the file
@@ -218,6 +218,10 @@ tools get confused with each other. Version 0.1 had thirteen.
218
218
 
219
219
  ## See your memory
220
220
 
221
+ <div align="center">
222
+ <img src="demo/brain.gif" alt="Three weeks of real coding chats as a 3D graph: coloured regions of related memories, joined by links" width="760">
223
+ </div>
224
+
221
225
  ```bash
222
226
  graph-mind-view # opens your memory as a 3D graph in the browser
223
227
  graph-mind-view --no-text # the same picture with no conversation text in the file
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "graph-mind-memory"
7
- version = "0.6.1"
7
+ version = "0.6.3"
8
8
  description = "Local-first memory for AI coding assistants: verbatim, on your own PC, no LLM calls at write time."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -174,7 +174,6 @@ const info = document.getElementById("info");
174
174
  const esc = s => String(s).replace(/[&<>]/g, c => ({"&":"&amp;","<":"&lt;",">":"&gt;"}[c]));
175
175
  const graph = ForceGraph3D()(document.getElementById("graph"))
176
176
  .backgroundColor("#05060a")
177
- .graphData({nodes: DATA.nodes, links: DATA.links})
178
177
  .nodeColor(color)
179
178
  .nodeRelSize(2.2)
180
179
  .nodeVal(n => 0.6 + Math.sqrt(n.degree) / 2)
@@ -198,16 +197,23 @@ const centers = regions.map((_, i) => {
198
197
  const y = 1 - 2 * (i + 0.5) / regions.length, r = Math.sqrt(1 - y * y), t = i * 2.39996;
199
198
  return {x: 380 * r * Math.cos(t), y: 380 * y, z: 380 * r * Math.sin(t)};
200
199
  });
201
- let simNodes = [];
202
- const lobes = alpha => simNodes.forEach(n => {
200
+ // start every node near its region's point, so the lobes show from the first frame instead of
201
+ // depending on how long the browser lets the layout run (a background tab barely runs it)
202
+ DATA.nodes.forEach(n => {
203
+ const c = n.region >= 0 ? centers[n.region] : {x: 0, y: 0, z: 0}, s = 70;
204
+ n.x = c.x + (Math.random() - 0.5) * s; n.y = c.y + (Math.random() - 0.5) * s;
205
+ n.z = c.z + (Math.random() - 0.5) * s;
206
+ });
207
+ const lobes = alpha => graph.graphData().nodes.forEach(n => {
203
208
  const c = n.region >= 0 ? centers[n.region] : {x: 0, y: 0, z: 0}, k = n.region >= 0 ? 0.35 : 0.05;
204
209
  n.vx += (c.x - n.x) * k * alpha; n.vy += (c.y - n.y) * k * alpha; n.vz += (c.z - n.z) * k * alpha;
205
210
  });
206
- lobes.initialize = ns => { simNodes = ns; };
207
211
  graph.d3Force("lobes", lobes);
208
212
  graph.d3Force("charge").strength(-12);
209
213
  graph.d3Force("link").strength(l => l.kind === "SHARED_CUE" ? 0.05 : 0.01);
210
- graph.d3ReheatSimulation();
214
+ // data last, once every force is in place: reheating a layout that did not exist yet threw
215
+ // "reading 'tick'" on every frame and left the page black
216
+ graph.graphData({nodes: DATA.nodes, links: DATA.links});
211
217
  let angle = 0, spinning = true;
212
218
  setInterval(() => { if (!spinning) return; angle += 0.0025;
213
219
  const r = 900; graph.cameraPosition({x: r * Math.sin(angle), z: r * Math.cos(angle)}); }, 30);
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graph-mind-memory
3
- Version: 0.6.1
3
+ Version: 0.6.3
4
4
  Summary: Local-first memory for AI coding assistants: verbatim, on your own PC, no LLM calls at write time.
5
5
  Author-email: Yohan Ko <goyohan0611@gmail.com>
6
6
  License-Expression: AGPL-3.0-only
@@ -246,6 +246,10 @@ tools get confused with each other. Version 0.1 had thirteen.
246
246
 
247
247
  ## See your memory
248
248
 
249
+ <div align="center">
250
+ <img src="demo/brain.gif" alt="Three weeks of real coding chats as a 3D graph: coloured regions of related memories, joined by links" width="760">
251
+ </div>
252
+
249
253
  ```bash
250
254
  graph-mind-view # opens your memory as a 3D graph in the browser
251
255
  graph-mind-view --no-text # the same picture with no conversation text in the file