Repository navigation
v0.11.0
Cambio incompatible: remember.mjs ya no crea recuerdos ni acepta
--create-memory para crearlos, --aliases, --no-suggest-aliases ni
--memories-confirmed. Si tienes scripts propios o instrucciones que los usan,
crea antes el recuerdo con create-memory.mjs (ver la Fase 5 de CLAUDE.md).
Hay cuatro pasos, en este orden:
node scripts/db/apply-schema.mjs(crea la tablamemory_proposals, con RLS
activo, y cambia la función de búsquedarecords_search; es idempotente).- Redespliega la Edge Function
mcp-servercon elindex.tsnuevo:remember
cambia de comportamiento y hay dos herramientas nuevas, y sin redesplegar el
servidor MCP sigue aplicando etiquetas solo. - Reinicia el servidor del dashboard.
CLAUDE.mdcambia en dos lugares fuera de "Cómo trabajar con el usuario":
el "Protocolo del hook Stop" y la Fase 5 de la instalación. Aplícalos a mano.
- Ninguna etiqueta se aplica sin que la aceptes. Antes el clasificador de
recuerdos podía agregar solo un recuerdo adicional a un registro, o crear uno
nuevo. Una etiqueta equivocada puesta así se reforzaba sola: el clasificador usa
los registros de cada recuerdo como ejemplos, así que un recuerdo contaminado
atraía cada vez más registros ajenos. Ahora el registro se guarda con los
recuerdos que pediste y existen, y todo lo demás (un recuerdo que no existe, o
lo que sugiera el clasificador) queda como propuesta pendiente en la tabla
nuevamemory_proposals, con su número. - Dónde se deciden las propuestas: en el dashboard, Revisión de etiquetas >
Propuestas pendientes (Aceptar / Descartar, y Deshacer en "Decididas
recientemente"), o congarden.mjs --proposals,--proposal <id> accept|reject|undoy--decided. Aceptar una propuesta de recuerdo nuevo lo
crea. - Servidor MCP:
rememberya no crea recuerdos ni aplica etiquetas no
pedidas, y lista las propuestas en su respuesta. Herramientas nuevas:
list_memory_proposals(solo lee) ydecide_memory_proposal(acepta o
descarta). Dejadecide_memory_proposalen "Needs approval" en tu cliente
MCP: el servidor no puede saber si una decisión la tomaste tú o el modelo, así
que esa aprobación es la única que de verdad espera tu clic.rememberademás
corre sus clasificadores en paralelo y responde más rápido. - Claude Code:
.claude/settings.jsonnuevo con reglasaskpara que Claude
pida permiso antes de corrergarden.mjs --proposal,recategorize-record.mjs
yedit-record.mjs ... --memory. Son un respaldo, no una barrera: otra forma de
escribir el comando las evita, por eso la regla principal sigue enCLAUDE.md.
create-memory.mjsqueda fuera a propósito: la instalación lo corre muchas
veces seguidas. - El dashboard y la extracción de páginas siguen creando recuerdos cuando tú
lo marcas: como ahí decide el usuario, crean el recuerdo concreate-memory.mjs
antes de guardar (Guardar registro con "Crear recuerdo", Extraer con
createMemory, yextract-page-records.mjs --review). - Búsqueda más precisa:
records_searchya no premia los registros de un
recuerdo solo porque su nombre o alias comparta una palabra con la pregunta.
Bastaba una palabra genérica ("proyecto", o "iniciar" que coincide con
"iniciativa" por raíz) para que esos registros desplazaran al resultado
correcto. Los recuerdos nombrados en la pregunta los sigue trayendo aparte el
detector de recuerdos desearch.mjsy del servidor MCP, por alias exacto: si
sueles nombrar un recuerdo con una palabra corta (una sigla, por ejemplo),
agrégala como alias conset-memory-aliases.mjs. - Fix propio: la copia de
segundo-cerebro-captureen.claude/skills/(la
que Claude Code carga) se había quedado atrás de la deskills/; ahora son
iguales. - Cómo se verificó:
node --checksobre todos los.mjstocados y
deno checksobreindex.ts, sin errores. El sistema de propuestas y el cambio
de búsqueda se probaron primero en la instancia de desarrollo contra una base
real (cola desde la extracción y desde MCP, aceptar, descartar, deshacer, y
búsquedas con y sin palabras genéricas). Esta copia de 2oBrain no se probó
contra una base: el port se hizo fusionando los mismos cambios sobre los
archivos de 2oBrain.