v1.15.8 — Autosync cloud para `engram mcp`
Patch que arregla el autosync en modo MCP: ahora engram mcp arranca el mismo manager opt-in que engram serve.
- Honra
ENGRAM_CLOUD_AUTOSYNC=1conENGRAM_CLOUD_TOKENyENGRAM_CLOUD_SERVER. - El autosync queda no-fatal si falta config cloud y se cierra limpio cuando termina el proceso stdio MCP.
- Nueva cobertura de regresión para lifecycle del manager, push disparado por escritura y pull automático del poll-ticker.
Si usás engram mcp con cloud, ponete las pilas y reactualizá — antes de este release el autosync no arrancaba.
v1.26.0 — Personas con directiva mandatoria de carga contextual de skills
Bump minor que cambia cómo los agentes invocan skills. Cierra #435.
Antes: los skills estaban instalados, aparecían en <available_skills>, pero el modelo casi nunca los invocaba salvo que vos hubieras escrito a mano una directiva MANDATORY en tu ~/.claude/CLAUDE.md.
Ahora: cada persona emitida trae una directiva mandatoria genérica que delega la invocación de skills al mecanismo nativo de discovery del agente.
- Directiva inyectada en 6 personas (claude, opencode, generic gentleman/neutral, kiro, kimi). La variante Claude referencia la herramienta
Skill; las no-Claude leenSKILL.mdnativamente. - Eliminada la tabla hardcodeada de auto-load (la vieja de 2 filas con
go-testing+skill-creatorque competía con<available_skills>). - Higiene de frontmatter en
chained-pryskill-creator. - Compatibilidad: cada bloque
description: >en los 21SKILL.mdemitidos pasó a single-line plain scalar para evitar fragilidad de parser (ref anthropics/claude-code#9716). - Nuevos guards de regresión:
TestSkillFrontmatterIsLintCleanyTestPersonasContainContextualSkillLoadingDirective.
Para enganchar la nueva persona: brew upgrade gentle-ai && gentle-ai sync.
v1.26.1 — `gentle-ai sync` regenera el bloque persona y respeta tu elección
Patch que arregla la regresión de sync introducida cuando v1.26.0 cambió el bloque persona. Cierra #437.
Antes: brew upgrade gentle-ai && gentle-ai sync dejaba el bloque persona viejo entre los marcadores <!-- gentle-ai:persona -->. La tabla deprecada de 2 filas «Skills (Auto-load based on context)» persistía, faltaba la directiva v1.26 ## Contextual Skill Loading (MANDATORY) y el fix de install-time no se propagaba.
Ahora: sync regenera el bloque marcado en cada corrida y respeta la persona que vos instalaste (Gentleman o Neutral) — no siempre Gentleman.
- Nuevo
persona.InjectForSyncescribe el markdown marcado más el overlay del output-style de Claude. Skipea adrede el overlay del agentegentlemanenopencode.jsonporque ese merge JSON choca con el overlaygentle-orchestratorde SDD y rompe idempotencia. Install (Inject) sigue haciendo el pipeline completo. - Contratos de paths separados:
syncComponentPaths/syncPersonaPaths. - Persona persistida en
state.InstallState: tanto el install CLI (run.go) como el TUI (app.go) escriben la persona elegida;RunSyncla lee. Si tu state es viejo, hay fallback a Gentleman. - Tests nuevos: regeneración entre marcadores, lectura desde state, fallback hacia atrás, exclusión de
opencode.jsondel sync, y round-trip de persona en el packagestate.
Para que el bloque entre marcadores se regenere: brew upgrade gentle-ai && gentle-ai sync. Tu contenido fuera de los marcadores se preserva tal cual.
v1.15.8 — Cloud autosync for `engram mcp`
Patch fix for autosync in MCP mode: engram mcp now starts the same opt-in manager as engram serve.
- Honors
ENGRAM_CLOUD_AUTOSYNC=1withENGRAM_CLOUD_TOKENandENGRAM_CLOUD_SERVER. - Autosync stays non-fatal when cloud config is missing or invalid, shuts down cleanly when the stdio MCP process exits.
- New regression coverage for manager lifecycle, write-triggered push, and automatic poll-ticker pull.
If you use engram mcp with cloud, upgrade — autosync didn't start before this release.
v1.26.0 — Personas now embed a mandatory contextual skill-loading directive
Minor bump that changes how agents invoke skills. Closes #435.
Before: skills were installed, listed in <available_skills>, but the model rarely invoked them unless the user had hand-written a MANDATORY directive in their ~/.claude/CLAUDE.md.
After: every emitted persona ships a generic mandatory directive that delegates skill invocation to the agent's native discovery mechanism.
- Directive injected into 6 personas (claude, opencode, generic gentleman/neutral, kiro, kimi). Claude variant references the built-in
Skilltool; non-Claude variants readSKILL.mdnatively. - Removed the hardcoded auto-load table (old 2-row block listing
go-testing+skill-creatorthat competed with<available_skills>). - Frontmatter hygiene in
chained-prandskill-creator. - Compatibility: every
description: >block in the 21 emittedSKILL.mdis now a single-line plain scalar, immune to parser fragility (ref anthropics/claude-code#9716). - New regression guards:
TestSkillFrontmatterIsLintCleanandTestPersonasContainContextualSkillLoadingDirective.
Pick up the new persona: brew upgrade gentle-ai && gentle-ai sync.
v1.26.1 — `gentle-ai sync` regenerates the persona block and honors your selection
Patch fix for the sync regression introduced when v1.26.0 shipped a new persona block. Closes #437.
Before: brew upgrade gentle-ai && gentle-ai sync left users with the old persona block between <!-- gentle-ai:persona --> markers. The deprecated 2-row «Skills (Auto-load based on context)» table persisted, the v1.26 ## Contextual Skill Loading (MANDATORY) directive was missing, and the install-time fix never propagated.
After: sync regenerates the marker-bound block on every run and respects the persona the user actually installed (Gentleman or Neutral) — not always Gentleman.
- New
persona.InjectForSyncwrites the marker-bound markdown plus the Claude output-style overlay. It deliberately skips the OpenCode/Kilocodegentlemanagent overlay inopencode.jsonbecause that JSON merge conflicts with SDD'sgentle-orchestratoroverlay and breaks idempotency. Install (Inject) keeps doing the full pipeline. - Separate path contracts:
syncComponentPaths/syncPersonaPaths. - Persona persisted in
state.InstallState; CLI install (run.go) and TUI install (app.go) write the user-selected persona;RunSyncreads it. State files written before this feature still work — fallback to Gentleman whenstate.Personais empty. - New tests: regeneration between markers, reading persona from state, backward-compat fallback,
opencode.jsonexcluded from sync paths, and persona round-trip in thestatepackage.
Run brew upgrade gentle-ai && gentle-ai sync. Content outside the markers is preserved verbatim.
v1.15.8 — Autosync cloud pour `engram mcp`
Patch qui corrige l'autosync en mode MCP : engram mcp démarre maintenant le même manager opt-in que engram serve.
- Respecte
ENGRAM_CLOUD_AUTOSYNC=1avecENGRAM_CLOUD_TOKENetENGRAM_CLOUD_SERVER. - L'autosync reste non-fatal si la config cloud manque et s'arrête proprement quand le process stdio MCP se termine.
- Nouvelle couverture de régression pour le cycle de vie du manager, le push déclenché par écriture et le pull automatique du poll-ticker.
Si vous utilisez engram mcp avec le cloud, mettez à jour — l'autosync ne démarrait pas avant cette version.
v1.26.0 — Personas avec directive obligatoire de chargement contextuel de skills
Bump mineur qui change la façon dont les agents invoquent les skills. Ferme #435.
Avant : les skills étaient installés, listés dans <available_skills>, mais le modèle les invoquait rarement sauf si l'utilisateur avait écrit à la main une directive MANDATORY dans son ~/.claude/CLAUDE.md.
Après : chaque persona émise embarque une directive obligatoire générique qui délègue l'invocation des skills au mécanisme natif de découverte de l'agent.
- Directive injectée dans 6 personas (claude, opencode, generic gentleman/neutral, kiro, kimi).
- Tableau d'auto-load codé en dur retiré.
- Hygiène du frontmatter dans
chained-pretskill-creator. - Tous les blocs
description: >sont désormais des scalaires simples sur une ligne. - Nouveaux garde-fous de régression.
Pour activer : brew upgrade gentle-ai && gentle-ai sync.
v1.26.1 — `gentle-ai sync` régénère le bloc persona et respecte votre choix
Patch qui corrige la régression de sync introduite quand v1.26.0 a livré un nouveau bloc persona. Ferme #437.
Avant : brew upgrade gentle-ai && gentle-ai sync laissait l'ancien bloc persona entre les marqueurs <!-- gentle-ai:persona -->.
Après : sync régénère le bloc à chaque exécution et respecte la persona installée (Gentleman ou Neutral).
- Nouveau
persona.InjectForSyncqui écrit le markdown marqué et l'overlay du style de sortie Claude. - Contrats de chemins séparés :
syncComponentPaths/syncPersonaPaths. - Persona persistée dans
state.InstallState, avec fallback rétrocompatible vers Gentleman. - Nouveaux tests : régénération entre marqueurs, lecture depuis state, exclusion de
opencode.json, round-trip persona.
Lancez brew upgrade gentle-ai && gentle-ai sync. Le contenu hors des marqueurs reste intact.