get-claudia 1.55.3 → 1.55.5
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
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Claudia will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 1.55.5 (2026-03-15)
|
|
6
|
+
|
|
7
|
+
- **Consolidation alert in briefing** -- When legacy hash databases exist but haven't been merged yet, the session briefing surfaces a pending consolidation alert with memory counts. Claudia will ask the user if they want to consolidate rather than silently noting version numbers.
|
|
8
|
+
- **Consolidation notice overwrites installer release notes** -- After a successful merge, the whats-new file shows what actually happened (merged N memories from M databases) instead of generic changelog text.
|
|
9
|
+
|
|
10
|
+
## 1.55.4 (2026-03-15)
|
|
11
|
+
|
|
12
|
+
- **Installer URL** -- Banner now shows claudia.aiadopters.club instead of the GitHub URL.
|
|
13
|
+
|
|
5
14
|
## 1.55.3 (2026-03-15)
|
|
6
15
|
|
|
7
16
|
- **Installer polish** -- Memory System step shows memory count from claudia.db when available instead of raw file count. DB scan shows totals ("4 databases to consolidate (2,118 memories, 319 entities)") and fixes "1 memories" grammar. MCP Config no longer warns about multiple stdio servers (they work fine now).
|
package/bin/index.js
CHANGED
|
@@ -69,7 +69,7 @@ function confirm(question) {
|
|
|
69
69
|
// Compact portrait-only banner
|
|
70
70
|
function getBanner(version) {
|
|
71
71
|
if (!isTTY) {
|
|
72
|
-
return `\n CLAUDIA v${version}\n by Kamil Banc ·
|
|
72
|
+
return `\n CLAUDIA v${version}\n by Kamil Banc · claudia.aiadopters.club\n Research in AI that learns how you work\n`;
|
|
73
73
|
}
|
|
74
74
|
const b = colors.cyan;
|
|
75
75
|
const y = colors.yellow;
|
|
@@ -85,7 +85,7 @@ ${y}██${w}██${r} ${w}██${r} ${w}██${y}██${r}
|
|
|
85
85
|
${w}██${r} ${w}██${r}
|
|
86
86
|
|
|
87
87
|
${colors.boldYellow}CLAUDIA${colors.reset} ${colors.yellow}v${version}${colors.reset}
|
|
88
|
-
${colors.boldCyan}by Kamil Banc${colors.reset} ${colors.cyan}·
|
|
88
|
+
${colors.boldCyan}by Kamil Banc${colors.reset} ${colors.cyan}· claudia.aiadopters.club${colors.reset}
|
|
89
89
|
${colors.white}Research in AI that learns how you work${colors.reset}
|
|
90
90
|
`;
|
|
91
91
|
}
|
|
@@ -303,9 +303,8 @@ def _write_consolidation_notice(merged_count: int, sources_count: int) -> None:
|
|
|
303
303
|
context_dir = Path(workspace_path) / "context"
|
|
304
304
|
whats_new = context_dir / "whats-new.md"
|
|
305
305
|
|
|
306
|
-
#
|
|
307
|
-
|
|
308
|
-
return
|
|
306
|
+
# Overwrite installer's generic release notes with consolidation-specific notice
|
|
307
|
+
# The consolidation result is more actionable than changelog text
|
|
309
308
|
|
|
310
309
|
if not context_dir.exists():
|
|
311
310
|
return # Not a Claudia workspace
|
|
@@ -3176,6 +3176,46 @@ def _build_briefing() -> str:
|
|
|
3176
3176
|
lines = []
|
|
3177
3177
|
lines.append("# Session Briefing\n")
|
|
3178
3178
|
|
|
3179
|
+
# 0. Pending database consolidation alert
|
|
3180
|
+
try:
|
|
3181
|
+
unified_row = db.execute(
|
|
3182
|
+
"SELECT value FROM _meta WHERE key = 'unified_db'", fetch=True
|
|
3183
|
+
)
|
|
3184
|
+
is_unified = unified_row and unified_row[0]["value"] == "true" if unified_row else False
|
|
3185
|
+
|
|
3186
|
+
if not is_unified:
|
|
3187
|
+
import re
|
|
3188
|
+
from pathlib import Path
|
|
3189
|
+
memory_dir = Path(get_config().db_path).parent
|
|
3190
|
+
if memory_dir.exists():
|
|
3191
|
+
hash_pattern = re.compile(r"^[0-9a-f]{12}\.db$")
|
|
3192
|
+
hash_dbs = [f for f in memory_dir.iterdir() if hash_pattern.match(f.name)]
|
|
3193
|
+
if hash_dbs:
|
|
3194
|
+
# Quick count of total memories across hash DBs
|
|
3195
|
+
import sqlite3 as _sql3
|
|
3196
|
+
total_mem = 0
|
|
3197
|
+
dbs_with_data = 0
|
|
3198
|
+
for hdb in hash_dbs:
|
|
3199
|
+
try:
|
|
3200
|
+
conn = _sql3.connect(f"file:{hdb}?mode=ro", uri=True, timeout=2)
|
|
3201
|
+
row = conn.execute("SELECT COUNT(*) FROM memories").fetchone()
|
|
3202
|
+
cnt = row[0] if row else 0
|
|
3203
|
+
conn.close()
|
|
3204
|
+
if cnt > 0:
|
|
3205
|
+
total_mem += cnt
|
|
3206
|
+
dbs_with_data += 1
|
|
3207
|
+
except Exception:
|
|
3208
|
+
pass
|
|
3209
|
+
if dbs_with_data > 0:
|
|
3210
|
+
lines.append(
|
|
3211
|
+
f"**⚠️ PENDING CONSOLIDATION:** {dbs_with_data} legacy database{'s' if dbs_with_data != 1 else ''} "
|
|
3212
|
+
f"with {total_mem:,} memories found. These need to be merged into claudia.db. "
|
|
3213
|
+
f"Ask the user if they want to consolidate now (restart the daemon to trigger auto-merge, "
|
|
3214
|
+
f"or run `python -m claudia_memory --merge-databases` manually)."
|
|
3215
|
+
)
|
|
3216
|
+
except Exception as e:
|
|
3217
|
+
logger.debug(f"Briefing consolidation check failed: {e}")
|
|
3218
|
+
|
|
3179
3219
|
# 1. Active commitments count + stale count
|
|
3180
3220
|
try:
|
|
3181
3221
|
total_row = db.execute(
|