HANDOFF + log: C11 fechado · 4/4 sub-testes OK · proximo C12
Cenario 11 completo. 5 bugs descobertos+corrigidos durante a bateria (UI confusa, gotcha billing_contracts.updated_at, reverse transitions, lock sessao encerrada, label/badge pacote-aware). Reverse trava antecipada de pos-C13 pra ja (user hit pra valer). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -14,6 +14,48 @@ Chronological, append-only record of everything that's happened in this wiki.
|
||||
|
||||
---
|
||||
|
||||
## [2026-05-20 16:00] session | C11 OK (A/B/C/D) + reverse trava + 5 bugs achados
|
||||
Touched: none (codigo + HANDOFF; memoria project_billing_contracts_no_updated_at)
|
||||
Detalhes:
|
||||
|
||||
CENARIO 11 (Status change pacote saldo) - 4/4 passaram com Andre Green:
|
||||
- 11A: realizada + markPaid PIX (saldo 0->1, record paid R$ 40)
|
||||
- 11B: falta + descontar (saldo 1->2, sem multa)
|
||||
- 11C: falta + multa SEM consumir (saldo stays 2, multa pending R$ 30)
|
||||
- 11D: cancelado >2h + default_consume_on_miss=true (saldo 2->3, sem multa)
|
||||
|
||||
ROOT CAUSE descoberto: billing_contracts NAO tem coluna updated_at.
|
||||
Passar esse field em UPDATE falhava silently em Promise.allSettled
|
||||
(ja documentado em memoria). Refatorado pra awaits sequenciais com
|
||||
error handling explicito.
|
||||
|
||||
DIALOG UX (refator): bloco "Cobranca no pacote" antes tinha select
|
||||
"Como cobrar?" com options "Ja recebi - PIX/Dinheiro" misturadas.
|
||||
Confuso. Agora tem 2 sub-questions: "Ja recebi?" radio + select
|
||||
condicional (sem prefixo ambiguo).
|
||||
|
||||
REVERSE TRANSITION TRAVA (antecipado pos-C13 pra C11): quando user
|
||||
clica Agendada em sessao com artefatos (cobranca pending, paid,
|
||||
ou saldo consumido em pacote), dialog reverse abre mostrando:
|
||||
- Lista records pending + radio Cancelar/Manter
|
||||
- Warning textual pra paid (sem auto-estorno)
|
||||
- Radio devolver saldo se consumido
|
||||
- Default: cancel + devolver (recovery flow)
|
||||
|
||||
Outros fixes acumulados:
|
||||
- consumeSaldo amarra billing_contract_id (era omissao)
|
||||
- link universal pre-forward (antes era so em consumeSaldo/generatePackageCharge)
|
||||
- reverse decrement saldo: refetch FRESH antes do UPDATE (anti-race)
|
||||
- label pacote saldo state=none: "Aguardando uso do pacote"
|
||||
- badge $ amber suprimido em pacote saldo state=none
|
||||
- lock total em sessao encerrada (Editar some, status disabled excepto Agendada)
|
||||
|
||||
DOC: addendum no HTML cenarios atualizado anteriormente cobre tudo.
|
||||
Memorias: project_billing_contracts_no_updated_at (novo gotcha).
|
||||
|
||||
PROXIMO: Cenario 12 (antecipar pagamento) ou Cenario 13 (edit
|
||||
cobrada). Depois replicar em Rail + Clinica.
|
||||
|
||||
## [2026-05-20 14:00] session | C10 OK (A/A2/B/C/C2) + lock sessao encerrada + addendum doc
|
||||
Touched: none (codigo + HANDOFF + addendum HTML; memorias project_agenda_reverse_transitions e project_melissa_popover_snapshot)
|
||||
Detalhes:
|
||||
|
||||
Reference in New Issue
Block a user