/relay
Escribe un checkpoint JSON inmutable (≤8 KiB) y su vista HANDOFF.md, sincroniza decisiones aceptadas/rechazadas en mnemosyne y transfiere la propiedad mediante offer.json y ack.json.
npx skills@latest add luci-efe/skills -s relay- ContinuarEtapa
- 04 El contexto continúa · 02 No eres el portapapelesMétodo
- .ramos/
runs/ <run-id>/ <pane>/ checkpoints/ <seq>/ handoff.json + HANDOFF.mdArtefacto / salida producida
Usar cuando
Cuando una sesión debe entregar el trabajo a otra sesión, agente o máquina, o al retomar un trabajo entregado previamente.
Soporte y adaptadores
- Instrucciones usables en cualquier arnés
- Hooks probados: Claude Code
- 1. Emisor (pane A)
handoff.json (≤8 KiB) + HANDOFF.md + mnemosyne
- 2. Estado: offered
transfer_id + sha256 · El receptor verifica el sha256 del checkpoint
- 3A. Acuse verificado (ack.json)
sha256 coincide → ack.json, la propiedad pasa al receptor · SessionStart ≤ 400 tokens, con STALE si el código cambió desde el checkpoint
- 3B. Sin acuse / rechazado
Sin ack.json o sha256 distinto → el emisor conserva la propiedad · sin pérdida silenciosa
Árbol de decisión
- 01→ handoff.json + HANDOFF.md
Checkpoint y vista generada
Escribir borrador JSON (cadenas ≤240 caracteres) y ejecutar relay.mjs checkpoint para crear handoff.json inmutable (≤8 KiB) + HANDOFF.md
- 02→ memory-sync.json
Sincronizar decisiones en mnemosyne
Ejecutar relay.mjs sync <handoff.json>; si falta mnemosyne, conservar el checkpoint de recuperación y reportar blocked
- 03→ offer.json → ack.json
Oferta y acuse del receptor
El emisor ejecuta relay.mjs offer --to <pane>; el receptor lee el checkpoint y ejecuta relay.mjs ack --receiver <pane>; ack rechaza un checkpoint modificado, registra stale: true si el código cambió y SessionStart muestra STALE
Requisitos y comandos de instalación
- noderequerido · ramas default y herdr-launch
nodebrew install node - mnemosynerequerido · ramas default y herdr-launch
mnemosyneuv tool install --python 3.12 mnemosyne-memoryrequiere uv (brew install uv) · requerido para transferencia y sincronización en memoria - herdropcional · rama herdr-launch
herdrbrew install herdrOpcional · requerido solo al abrir un panel nuevo en Herdr
Criterios de completitud
- Cada panel escribe únicamente en su propio carril (.ramos/
runs/ <run>/ <pane>/ checkpoints/ <n>/ ) y los checkpoints son inmutables. - Si falta mnemosyne, escribe primero el checkpoint de recuperación, muestra uv tool install --python 3.12 mnemosyne-memory (requiere uv) y reporta blocked sin ofrecer.
- El receptor solo puede escribir después de que relay.mjs ack verifica la oferta y escribe ack.json.