Reclamar un ítem del ledger antes de empezar
Un asiento, un ítem de la lista, de forma atómica — para que dos sesiones nunca abran el mismo ítem.
Prompt#
Reclama el ítem 12 de LEDGER-R4 antes de empezar, y suéltalo si no lo terminas.
Qué hace el Chair#
Toma el lock compartido llamado ledger:<relpath>#12 con tu sesión como holder. Sin
tabla nueva y sin reescribir el archivo Markdown.
Llamadas MCP#
task_claim({
"ledger": ".workflow/LEDGER-R4-DOCS.md",
"item": 12,
"holder": "<your session id>",
"ttl_min": 60
})
Cuando paras sin cerrarlo:
task_release({ "ledger": ".workflow/LEDGER-R4-DOCS.md", "item": 12, "holder": "<your session id>" })
Equivalente en CLI, para un shell sin MCP:
orch task claim .workflow/LEDGER-R4-DOCS.md 12 --holder <session> --ttl-min 60
orch task release .workflow/LEDGER-R4-DOCS.md 12 --holder <session>
orch ledger board .workflow/LEDGER-R4-DOCS.md # imprime el archivo con (claimed: <session>)
Respuesta esperada#
task_claim devuelve la fila del lock en JSON — nombre, holder, vencimiento.
task_release devuelve la cadena released. La CLI imprime
claimed name=ledger:.workflow/LEDGER-R4-DOCS.md#12 holder=… until=….
Trampas#
- Cualquier asiento puede reclamar. A diferencia de
task_add/task_run/dispatch_worker, reclamar no es ramificar, así que a un worker que llamatask_claimno se le niega. ledger,itemyholderson los tres obligatorios, yitemtiene que ser entero — el número de- [ ] 12., no el texto de la línea.holderes tu id de sesión, el de.orch/ORCH_RUNTIME.md. Si lo inventas, el release no va a coincidir.- El TTL por defecto es de 15 minutos. Un ítem largo debería pasar
ttl_mino volver a reclamar; un claim vencido queda libre para el siguiente asiento. - Si otra sesión viva lo tiene, falla claro y nombra al holder. Esa es la respuesta,
no un obstáculo — toma otro ítem o escríbele al holder con
msg_send. - El claim nunca reescribe el archivo del ledger.
orch ledger boardmuestra los claims junto a los ítems; marcar la casilla sigue siendo tu edición. - Soltar con
holder: "*"fuerza la liberación cuando una sesión murió con el ítem en la mano.