# Handoff de sessão — 2026-07-09 — SISBAJUD ciclo completo (localhost)

**Para retomar em sessão nova: digite `/retomar`** (comando em `.claude/commands/retomar.md`), ou siga a seção "Como retomar" no fim.

---

## 1. O que foi alcançado (tudo validado VIVO em localhost)

Ciclo completo **bloqueio → desbloqueio** SISBAJUD funcionando de ponta a ponta com dados reais:
arquivo 5301 → preview → ordem → hold exato no TigerBeetle → COSIF SCD (`4.9.8.10.01.10.002 ⇄ .003`) → 5302 com códigos corretos (01/03/02) → desbloqueio → release exato no TB → estorno COSIF → `.003` zerada no balancete.

Clientes reais usados (base local ETL): Mauricio Gomes Dutra (006.214.510-02, conta 101773-0, id 1774), Thiago Mathias Cunha (008.625.580-00, 101779-9, id 1780), Marino Garofani (017.639.709-49, 101813-2, id 1814). Remessas de teste: `~/Downloads/AJUD5301_46026562_20260709.txt` (bloqueio v1, consumida com bug), `_v2.txt` (bloqueio, processada OK), `AJUD5301_DESBLOQUEIO_46026562_20260710.txt` (desbloqueio, processada OK).

## 2. Commits do dia (TODOS pushados; `origin/feat/monetarie_improviments` = `02b6e577`)

| Commit | O quê |
|---|---|
| `e8f48c0b` | Fix unidade 100x no bloqueio (centavos vs subcentavos TB). Handoff: `2026-07-09-sisbajud-fix-unidade-bloqueio-100x.md` |
| `00be3bce` | Identidade única por tipo + reapresentação BCB (migration `20260709220000`). Handoff: `2026-07-09-sisbajud-fix-identidade-ordens-por-tipo.md` |
| `272526d4` | Merge dos commits do Bruno (provisão 4966 + relatórios CC) |
| `602491f6` | `payment` bloqueável no AssetIterator + contabilização SCD (.003, seeds, fallbacks crédito) |
| `02b6e577` | Preview/detalhe operacionais (desbloqueio por referência, protocolização com fuso BRT, conta real, upload, rótulos, razão) |

Também no dia (manhã): acesso AWS HML configurado (profile `vulcimonetarie`), auditoria da conta 119306-6 (Camille) e saldo de teste sensibilizado em HML (TB+razão = R$ 1.000,00).

## 3. Estado do ambiente local

- Containers: `core-api` (:4002) e `core-admin` (:5180) rebuildados com TODO o código do dia; `monetarie-pg`, `tigerbeetle` (192.168.155.3:3001 na rede `monetarie_default`), `monetarie-nats` de pé.
- `mon_core` local: migrations do dia aplicadas (a `20260709220000` via SQL direto — `Release.migrate` desse banco quebra numa migration antiga do ETL); plano COSIF SCD com a folha `.003`; templates SBJ apontando `002⇄003`; 2 ordens BLOCK executadas/liberadas + 3 no_balance da rodada com bug (lixo de teste inofensivo).
- Runner de testes: script em scratchpad da sessão antiga morre com ela — o comando completo está em `docs/handoff/2026-07-09-sisbajud-fix-unidade-bloqueio-100x.md` §4 e na memória `dev_commands` do Serena.
- Regressão final: **420 testes, 0 falhas** (suítes judicial + sisbajud + cosif + blocked_breakdown).

## 4. Pendências (ordem sugerida)

1. **Contador**: validar a folha COSIF `4.9.8.10.01.10.003` (DV/elenco oficial) — o código dela está marcado "a validar" no `scd_cosif_plan.exs`.
2. **Teste vivo de TRANSFERÊNCIA (registro 07) e CANCELAMENTO** — só têm cobertura automatizada; gerar remessas como as do desbloqueio.
3. **Cabine STA**: conectar para o envio real do 5302 (hoje fica `delivering`).
4. **Pré-condição de deploy HML/prd** dos fixes: reconciliar `judicial_blocks WHERE status='active'` vs hold real no TB (blocos pré-fix = over-release 100x; local tem 0).
5. **Gap HML**: lançamento manual da tesouraria não sensibiliza o TigerBeetle (cliente vê saldo 0) — avaliar `create_entry` chamar `Wallet.deposit/withdraw`.
6. Follow-ups menores: `Formatter.encode_latin1` gera UTF-8 no builder 5302; correlação de validação single-candidate; CANCEL órfão exige reprocesso manual; Contatos 5306/Varas 5305 DESPRIORIZADOS pelo dono.

## 5. Regras de trabalho (inegociáveis, ver memórias)

- **Git**: nunca push sem autorização explícita no momento; review adversarial após cada mudança; apenas SUGERIR commit local. Branch compartilhada com o Bruno.
- **Ambiente**: desenvolvimento ISOLADO em localhost; HML oficial só com pedido explícito (mesmo leitura).
- **Unidades**: consultar a tabela do `Monetarie.Util.MoneyUnit` antes de tocar valor (TB=subcentavos; COSIF/wire/judicial=centavos).
- **TDD** com teste RED primeiro; dinheiro exige integração com TB real (tag `:sisbajud_integration`).
- Nunca usar travessão em texto de UI/conteúdo.
- Manter SEMPRE atualizados: `CLAUDE.md` (bloco de estado), memória do Claude e memórias do projeto `monetarie` no Serena.

## 6. Como retomar (sessão nova)

1. Digite **`/retomar`** — o comando carrega este handoff, o CLAUDE.md (automático), as memórias e ativa o projeto no Serena.
2. Ou manualmente: ativar projeto `monetarie` no Serena (`activate_project`) e ler as memórias `sisbajud_estado_atual` + `dev_commands` + `conventions_money_units`; ler este handoff; conferir containers (`docker ps | grep -E "core-api|core-admin|monetarie-pg|tigerbeetle"`) e `git log --oneline -5`.
