v2.2.0 — Seguridad de datos locales, setup de CommandCode y hooks de Windows
Segundo minor de la linea v2, a menos de dos dias de la v2.1.0, y otra vez el foco esta en no romperte la base. Lo mas importante: engram ahora se niega a arrancar SQLite en modo WAL cuando detecta que el filesystem es remoto, con deteccion especifica por plataforma y tests de regresion (#1364, #1365). Ojo con esto: solo rechaza los montajes que identifica positivamente como remotos; un montaje que no sabe clasificar NO queda certificado como seguro. El issue de NFS (#1292) sigue abierto, asi que base en disco local y backup, como siempre.
Por el lado de integridad tambien: las sesiones con directorio en blanco (y todo lo que cuelga de ellas) sobreviven al import local (#1298), las relaciones del mismo proyecto se respetan entre scopes de endpoint (#1374), y el export por proyecto ahora usa indices en vez de barrer todas las sesiones, observaciones y prompts (#1379). Hay ademas una resolucion canonica de identidad para repos Git hijos promovidos sin ambiguedad y un claim atomico de ownership para sesiones legacy terminadas sin dueno (#1395, #1400) — pero el release aclara que no es una reparacion general de sesiones (#1332 sigue abierto).
En setup y CLI: llega engram setup commandcode para configurar el MCP de usuario y el Memory Protocol de CommandCode (#1123). Para Codex vuelven los hooks de prompt y arranque en Windows, los writes de MCP quedan atados a la sesion de runtime y se preservan los session IDs en UTF-8 (#1377, #1367, #1366, #1363). engram doctor ahora te avisa cuando un registro de MCP apunta a un ejecutable de engram con path absoluto viejo y te dice que engram setup <agent> correr — no lo toca solo (#1394). Tambien acepta el registro implicito por stdio en Claude Code y elige explicitamente el entrypoint V1 del plugin de OpenCode (#1385, #1389).
Dashboard: los timestamps se muestran en ENGRAM_TIMEZONE (o en hora local) sin tocar los UTC guardados (#1384). El paquete Pi gentle-engram sigue en 0.1.15 por su propio canal de npm; el fix de writes al retomar una sesion de Pi cerrada (#1376) todavia no esta publicado. Antes de actualizar: backup, engram doctor y reinicia las sesiones de MCP largas.
v2.2.0 — Local data safety, CommandCode setup and Windows hooks
The second minor on the v2 line, less than two days after v2.1.0, and once again the focus is on not wrecking your database. The headline: engram now refuses to start SQLite in WAL mode when it detects a remote filesystem, with platform-specific detection and regression coverage (#1364, #1365). Important caveat: it only rejects mounts it positively identifies as remote; an unclassified mount is NOT certified safe. The NFS issue (#1292) remains open, so keep the database on local disk and keep backups.
More integrity work: blank-directory sessions and their dependent records now survive local import (#1298), same-project relation guards apply across endpoint scopes (#1374), and project-scoped exports use indexes instead of broadly scanning sessions, observations and prompts (#1379). There is also canonical identity resolution for unambiguous promoted child Git repositories and an atomic ownership claim for ended, unowned legacy sessions (#1395, #1400) — though the release stresses this is not a general session repair (#1332 stays open).
Setup and CLI: engram setup commandcode configures CommandCode's user-scope MCP and Memory Protocol (#1123). Codex gets its Windows prompt and startup hooks back, MCP writes bound to the runtime session, and preserved UTF-8 session IDs (#1377, #1367, #1366, #1363). engram doctor now diagnoses MCP registrations pointing at a stale absolute engram executable path and names the engram setup <agent> recovery step, without changing anything automatically (#1394). Claude Code implicit stdio MCP registration is accepted and the OpenCode V1 plugin entrypoint is selected explicitly (#1385, #1389).
Dashboard timestamps render in ENGRAM_TIMEZONE (falling back to local time) without altering stored UTC values (#1384). The Pi package gentle-engram stays at 0.1.15 on its own npm channel; the fix for writes after resuming a quit Pi session (#1376) is not published yet. Before upgrading: back up, run engram doctor, and restart long-running MCP sessions.
v2.2.0 — Securite des donnees locales, setup CommandCode et hooks Windows
Deuxieme mineur de la ligne v2, moins de deux jours apres la v2.1.0, toujours centre sur la protection de la base. Point principal : engram refuse desormais de demarrer SQLite en mode WAL lorsqu'il detecte un systeme de fichiers distant, avec une detection propre a chaque plateforme et des tests de regression (#1364, #1365). Attention : seuls les montages identifies comme distants sont rejetes ; un montage non classe n'est PAS certifie sur. Le ticket NFS (#1292) reste ouvert : base sur disque local et sauvegardes.
Autres travaux d'integrite : les sessions a repertoire vide et leurs enregistrements dependants survivent a l'import local (#1298), les garde-fous de relations d'un meme projet s'appliquent entre scopes d'endpoint (#1374), et les exports par projet utilisent des index au lieu de parcourir sessions, observations et prompts (#1379). S'ajoutent une resolution canonique d'identite pour les depots Git enfants promus sans ambiguite et une revendication atomique de propriete pour les sessions legacy terminees sans proprietaire (#1395, #1400) — ce n'est pas une reparation generale des sessions (#1332 reste ouvert).
Setup et CLI : engram setup commandcode configure le MCP utilisateur et le Memory Protocol de CommandCode (#1123). Codex retrouve ses hooks de prompt et de demarrage sous Windows, avec des ecritures MCP liees a la session runtime et des identifiants de session UTF-8 preserves (#1377, #1367, #1366, #1363). engram doctor signale les enregistrements MCP pointant vers un chemin absolu obsolete de l'executable engram et indique la commande engram setup <agent> a lancer, sans rien modifier automatiquement (#1394). L'enregistrement MCP stdio implicite de Claude Code est accepte et le point d'entree V1 du plugin OpenCode est selectionne explicitement (#1385, #1389).
Les horodatages du dashboard s'affichent selon ENGRAM_TIMEZONE (ou l'heure locale) sans modifier les valeurs UTC stockees (#1384). Le paquet Pi gentle-engram reste en 0.1.15 sur son propre canal npm ; le correctif des ecritures apres reprise d'une session Pi quittee (#1376) n'est pas encore publie. Avant la mise a jour : sauvegarde, engram doctor et redemarrage des sessions MCP longues.