Memoria y ledger

Manten al dia LEDGER/BOARD/RESUME, reclama items del ledger para que dos sesiones no choquen, y condensa archivos de memoria sobredimensionados.

Objetivo#

Usar los archivos de memoria en disco del workshop — .workflow/LEDGER*.md, .workflow/BOARD.md, .workflow/RESUME.md, .orch/LAST_SESSION.md — como fuente de verdad entre sesiones, reclamar items del checklist del ledger para que dos agentes no trabajen el mismo item, y achicar archivos que crecieron demasiado sin perder lo que sigue abierto.

Pasos#

  1. Valida un archivo de ledger antes de lanzar trabajo contra el:

    orch ledger check [dir]
    

    Camina hacia arriba desde dir (por defecto: raiz del workspace) buscando .workflow/LEDGER*.md, y falla si le falta una seccion ## Clarified o sus items de checklist estan mal formados.

  2. Reclama un item del checklist de forma atomica, para que una segunda sesion vea que ya esta tomado:

    orch task claim <ledger-file> <item-number> --holder <session-id>
    

    Esto es una fila de shared_locks con clave ledger:<path>#<N> y un TTL (--ttl-min, por defecto 15). Libéralo cuando termines:

    orch task release <ledger-file> <item-number> --holder <session-id>
    
  3. Imprime el ledger con marcadores de reclamo junto a los items que otra sesion viva ya tiene (nunca reescribe el archivo):

    orch ledger board <ledger-file>
    
  4. Achica un archivo de memoria sobredimensionado a traves del gateway, a demanda — nada en orch dispara esto automaticamente fuera del hook opt-in pre_compact (ver hooks-and-guards.md):

    orch memory condense
    

    Los objetivos por defecto son .workflow/BOARD.md y .orch/LAST_SESSION.md. ## Clarified, ## Ownership, y cada item de checklist abierto se mantienen byte por byte; solo se resume la narracion y las notas ya terminadas. El archivo original se conserva junto al condensado. Requiere un gateway corriendo (orch gateway) con un upstream funcionando. Agrega --dry-run para ver los conteos de bytes antes/despues sin escribir, --threshold-bytes para cambiar el tamano que lo dispara (por defecto 16384), o --file para apuntar a otra ruta.

  5. Regenera el AGENTS.md raiz del workshop — el archivo de doctrina que Codex, Copilot, y Gemini leen directamente — a partir del ledger/board vivo en vez de dejarlo como la siembra estatica de una sola vez de orch init:

    orch agents-md refresh
    

    Reconstruye la seccion Tools a partir de las herramientas MCP registradas y las secciones Ledger/Board a partir de .workflow/LEDGER.md y .workflow/BOARD.md. No sobrescribe, como cualquier otra siembra: un AGENTS.md existente y no vacio se deja tal cual salvo que pases --force. --dry-run previsualiza la ruta que escribiria.

Verificar#

orch ledger check
orch ledger board .workflow/LEDGER.md

ledger check imprime ok (o las fallas especificas); ledger board muestra (claimed: <session>) junto a cualquier item actualmente tomado.

Deshacer#

orch task release <ledger-file> <item-number> --holder <session-id>

Un reclamo vencido (pasado su TTL) tambien queda libre para que cualquiera lo retome sin release. Un archivo condensado se puede restaurar desde la ruta de respaldo que imprimio orch memory condense.

Relacionado#

  • hooks-and-guards.mdcontext.hooks.pre_compact corre el mismo condensador automaticamente antes de compactar.
  • worktrees.md — cada tarea reclamada normalmente corre en su propio worktree.