get-claudia 1.42.2 → 1.42.4

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 (45) hide show
  1. package/bin/index.js +1 -1
  2. package/memory-daemon/claudia_memory/config.py +1 -0
  3. package/memory-daemon/claudia_memory/daemon/health.py +25 -0
  4. package/memory-daemon/claudia_memory/database.py +1 -1
  5. package/memory-daemon/claudia_memory/mcp/server.py +1683 -2035
  6. package/memory-daemon/claudia_memory/services/consolidate.py +85 -37
  7. package/memory-daemon/claudia_memory/services/recall.py +6 -4
  8. package/memory-daemon/scripts/install.ps1 +5 -1
  9. package/memory-daemon/scripts/install.sh +1 -1
  10. package/memory-daemon/tests/test_daemon_lifecycle.py +235 -0
  11. package/memory-daemon/tests/test_deep_recall.py +27 -0
  12. package/memory-daemon/tests/test_entity_lifecycle.py +521 -0
  13. package/memory-daemon/tests/test_graph_operations.py +1401 -0
  14. package/memory-daemon/tests/test_invalidated_filter.py +1 -0
  15. package/memory-daemon/tests/test_temporal_recall.py +1 -0
  16. package/memory-daemon/tests/test_validation_guards.py +166 -0
  17. package/memory-daemon/tests/{test_vault_sync.py → test_vault_operations.py} +253 -55
  18. package/package.json +1 -1
  19. package/template-v2/.claude/rules/claudia-principles.md +26 -170
  20. package/template-v2/.claude/skills/README.md +1 -2
  21. package/template-v2/.claude/skills/archetypes/_base-structure.md +111 -0
  22. package/template-v2/.claude/skills/archetypes/consultant.md +24 -562
  23. package/template-v2/.claude/skills/archetypes/creator.md +42 -685
  24. package/template-v2/.claude/skills/archetypes/executive.md +30 -602
  25. package/template-v2/.claude/skills/archetypes/founder.md +45 -684
  26. package/template-v2/.claude/skills/archetypes/solo.md +46 -587
  27. package/template-v2/.claude/skills/memory-manager.md +24 -470
  28. package/template-v2/.claude/skills/skill-index.json +0 -8
  29. package/template-v2/.claude/skills/structure-evolution.md +2 -2
  30. package/template-v2/.claude/skills/structure-generator.md +1 -1
  31. package/template-v2/.claude/skills/what-am-i-missing/SKILL.md +30 -7
  32. package/template-v2/CLAUDE.md +12 -106
  33. package/memory-daemon/tests/test_backup.py +0 -72
  34. package/memory-daemon/tests/test_corrections.py +0 -222
  35. package/memory-daemon/tests/test_entity_management.py +0 -336
  36. package/memory-daemon/tests/test_graph.py +0 -200
  37. package/memory-daemon/tests/test_graph_analytics.py +0 -633
  38. package/memory-daemon/tests/test_graph_retrieval.py +0 -746
  39. package/memory-daemon/tests/test_guards.py +0 -76
  40. package/memory-daemon/tests/test_health.py +0 -36
  41. package/memory-daemon/tests/test_relationship_guards.py +0 -79
  42. package/memory-daemon/tests/test_scheduler.py +0 -58
  43. package/memory-daemon/tests/test_startup.py +0 -62
  44. package/memory-daemon/tests/test_vault_sync_v2.py +0 -186
  45. package/template-v2/.claude/skills/accountability-check/SKILL.md +0 -149
package/bin/index.js CHANGED
@@ -376,7 +376,7 @@ async function main() {
376
376
  stdio: 'inherit',
377
377
  env: {
378
378
  ...process.env,
379
- CLAUDIA_PROJECT_PATH: isUpgrade ? targetPath : '',
379
+ CLAUDIA_PROJECT_PATH: targetPath,
380
380
  CLAUDIA_NONINTERACTIVE: '1'
381
381
  }
382
382
  });
@@ -37,6 +37,7 @@ class MemoryConfig:
37
37
  pattern_detection_interval_hours: int = 24
38
38
 
39
39
  # Search settings
40
+ recency_half_life_days: int = 30
40
41
  max_recall_results: int = 50
41
42
  vector_weight: float = 0.50 # Weight for vector similarity in ranking
42
43
  importance_weight: float = 0.25 # Weight for importance score
@@ -160,6 +160,31 @@ class HealthCheckHandler(BaseHTTPRequestHandler):
160
160
  else:
161
161
  self.send_error(404, "Not Found")
162
162
 
163
+ def do_POST(self):
164
+ """Handle POST requests"""
165
+ if self.path == "/backup":
166
+ self._send_backup_response()
167
+ else:
168
+ self.send_error(405, "Method Not Allowed")
169
+
170
+ def _send_backup_response(self):
171
+ """Trigger a database backup and return the path."""
172
+ try:
173
+ db = get_db()
174
+ path = db.backup()
175
+ self._send_json({"status": "ok", "path": str(path)})
176
+ except Exception as e:
177
+ logger.exception("Error triggering backup")
178
+ self._send_json({"status": "error", "message": str(e)}, code=500)
179
+
180
+ def _send_json(self, data: dict, code: int = 200):
181
+ """Helper to send a JSON response."""
182
+ body = json.dumps(data).encode()
183
+ self.send_response(code)
184
+ self.send_header("Content-Type", "application/json")
185
+ self.end_headers()
186
+ self.wfile.write(body)
187
+
163
188
  def _send_health_response(self):
164
189
  """Send basic health check response"""
165
190
  health = {
@@ -49,7 +49,7 @@ class Database:
49
49
  conn.execute("PRAGMA synchronous = NORMAL")
50
50
  conn.execute("PRAGMA foreign_keys = ON")
51
51
  # Recover any uncommitted WAL writes from a previous crashed daemon
52
- conn.execute("PRAGMA wal_checkpoint(PASSIVE)")
52
+ conn.execute("PRAGMA wal_checkpoint(TRUNCATE)")
53
53
 
54
54
  # Try to load sqlite-vec for vector search
55
55
  # Priority: sqlite_vec Python package first (works on Python 3.13+),