diff --git a/HANDOFF.md b/HANDOFF.md index 18cf795..b7bac20 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -1,14 +1,33 @@ -# HANDOFF — 2026-05-20 (C10 pré-teste · code-fix + seeds prontos) +# HANDOFF — 2026-05-20 (C10 ✅ completo · próximo C11) Documento de continuidade. **Quando voltar, comece lendo esta página até o fim.** -> **🎯 SE A FORÇA CAIR / SESSÃO PERDER CONTEXTO:** estamos no **Cenário 10** -> (status change avulsa). Code-fix pra cancelar pendingRecord aplicado + -> financial_exceptions da Melissa seedadas no DB. **Falta**: rodar os 5 -> sub-testes (a/a2/b/c/c2) e validar. +> **🎯 SE A FORÇA CAIR / SESSÃO PERDER CONTEXTO:** **C10 fechado** (todos +> os 5 sub-testes A/A2/B/C/C2 passaram). Próximo: **Cenário 11** (status +> change em pacote saldo — Carl Jung ou similar). Pós C11: C12 (antecipar +> pagamento) → C13 (edit cobrada). Depois replicar em Rail + Clínica. -> **🟢 PRÉ-TESTE C10 SALVO**. Pós-teste, próximos cenários: C11 (status -> change pacote saldo) → C12 (antecipar pagamento) → C13 (edit cobrada). +> **🟢 C10 SALVO COMPLETO**. 3 commits: d6423da (pre-fix cancel original) +> → 3caf579 (botão Agendada + popover fixes) → 753182c (lock sessão +> encerrada + addendum doc). Working tree limpo, pronto pra C11. + +### C10 sub-test results +| # | Teste | DB validado | Notas | +|---|---|---|---| +| A | Realizada sem markPaid | ✅ status=realizado, record=pending | Bubble do C9 funcionou | +| A2 | Realizada + markPaid maquininha | ✅ status=realizado, record=paid, payment_method=cartao_maquininha, paid_at set | João Almeida | +| B | Faltou + multa R$ 30 (fixed_fee) | ✅ original cancelled + nova multa "Multa por falta · sessão dd/mm/aa" | Otto Rank | +| C | Cancelado >2h antecedência | ✅ original cancelled, sem multa | Otto / Karen | +| C2 | Cancelado tardio (<2h) full charge | ✅ original cancelled + nova "Taxa de cancelamento tardio · sessão dd/mm/aa" | Karen Horney | + +### Pendências mapeadas durante C10 — pós-C13 +- **Reverse transitions**: faltou/cancelado → agendado deixa multa órfã. Implementar confirm dialog oferecendo auto-cancelar multa. +- **Popover snapshot**: `eventoSelecionado.value = ev` é snapshot, não acompanha _paymentStateMap. Fix: guardar ev.id, derivar via computed. +- **Cleanup teste**: Otto sessão 5364f631 às 19:30 UTC tem record pending R$ 40 leftover do teste A original. Apagar quando convenient. + +Memórias relevantes: +- `project_agenda_reverse_transitions.md` +- `project_melissa_popover_snapshot.md` ### Code-fix aplicado em 20/05 (pré-C10) - **`useMelissaAgenda.js:1450-1505`** — `_applyStatusDecisions` agora cancela