---
description: Protocolo SESSION-CHECKPOINT — handoff entre agentes e sessões (todas as specs Ligbox)
globs: specs/**/*,**/ligbox-ops-platform/specs/**,**/SESSION-CHECKPOINT*.md
alwaysApply: true
---

# Spec Session Handoff — Roger / Ligbox

**Problema:** agentes Cursor não partilham memória de chat.  
**Solução:** estado vivo em `SESSION-CHECKPOINT.md` por spec (vault VM130 = fonte de verdade).

## Entrada (OBRIGATÓRIO antes de implementar)

1. Identificar a spec activa (Roger indica ou `tasks.md` com `[ ]` críticos).
2. Ler **`specs/NNN-*/SESSION-CHECKPOINT.md`** — status, bloqueios, smoke tests.
3. Ler **`spec.md`** + **`tasks.md`** + **`contracts/`** se existir.
4. Correr **smoke test** listado no checkpoint (ou health mínimo da VM da spec).
5. Se `status: in_progress` e outro agente listado → **não sobrescrever**; actualizar secção Histórico ou pedir confirmação a Roger.

## Durante o trabalho

- Uma spec **in_progress** de cada vez em VMs críticas (VM112, VM122, VM123).
- Decisões novas → `spec.md` (Decisões/Histórico) + checkpoint.
- Código deploy → nota no checkpoint (path, container, versão).

## Saída (OBRIGATÓRIO antes de encerrar)

1. Actualizar **`SESSION-CHECKPOINT.md`**:
   - `status`, data, resumo feito/bloqueio/próximo passo
   - linha em **Histórico de sessões**
2. Actualizar **`tasks.md`** (`[x]` / `[ ]`).
3. Se spec nova ou template mudou → seguir também **`spec-driver-sync.mdc`** (portal Forgejo).
4. **Nunca** deixar secrets no checkpoint (só referências: «ver .env VM122»).

## Status permitidos

| Status | Significado |
|--------|-------------|
| `idle` | Spec documentada; sem trabalho activo |
| `in_progress` | Agente a implementar/deploy/testar |
| `blocked` | Parado — bloqueio explícito na secção Bloqueios |
| `done` | Entregue; smoke OK; tasks críticas `[x]` |

## Template

Copiar de `specs/SESSION-CHECKPOINT-TEMPLATE.md` ao criar spec nova.

## Spec activa (referência rápida)

Consultar sempre o checkpoint **com `status: in_progress`** mais recente — tipicamente a spec que Roger mencionou na mensagem.
