Estados do Ciclo de Vida do Pacote
Todo pacote no Levy Swap esta sempre em exatamente um estado. A maquina de estados e aplicada no servidor - transicoes ilegais sao bloqueadas no banco de dados.
A Maquina de Estados
ordered -> received -> deployed -> in_use -> returned -> recycled
v ^
swap_in swap_out
v ^
in-station <-> charging -> charged
v
maintenance
Estados Primarios
| Estado | Significado | Definido Por |
|---|---|---|
| ordered | Registro existe, QR criado, pacote nao recebido | Dialogo de mint |
| received | Pacote recebido; ainda nao instalado | Fluxo de recepcao |
| deployed | Pacote atribuido a veiculo e atualmente instalado | Conclusao de troca |
| in_use | Equivalente a deployed em algumas vistas | Sistema |
| returned | Removido do veiculo, decisao pendente | Conclusao de troca |
| recycled | Aposentado permanentemente | Manual / aposentadoria forcada |
Estados de Estacao / Carga
| Estado | Significado |
|---|---|
| charging | Em slot, plugado, ainda nao cheio |
| charged | Em slot a >=95%, pronto para instalar |
| maintenance | Fora de rotacao - defeito, garantia |
Transicoes Legais
ordered -> receivedreceived -> deployed(primeira instalacao)received -> chargingoureceived -> chargeddeployed -> returnedreturned -> chargingoureturned -> maintenancecharging -> chargedcharged -> deployedmaintenance -> charging,maintenance -> returned,maintenance -> recycledreturned -> recycledcharged -> maintenance
Estado terminal: recycled. Sem transicoes posteriores; linha preservada para auditoria de garantia.
Aposentadoria Forcada
Quando SoH cai abaixo de 40, a proxima troca roteia o pacote para returned e depois recycled em vez de voltar ao inventario.
O Log de Auditoria
Cada mudanca de estado escreve linha em battery_pack_history:
from_statuseto_statusactor_type-system,team_memberoujuiceractor_idswap_event_idstation_id- Timestamp
Append-only e retencao para sempre. Permite reivindicacoes de garantia com historico completo.
O Que "in_use" Significa
in_use e deployed sao muito proximos. Distincao importa em:
- Verificacao de concorrencia na remocao - evita troca dupla
- Elegibilidade Juicer - motor nao cria recompensa se pacote esta em
maintenance
Lendo o Historico
Pagina de detalhe do pacote -> tab Historico mostra log de transicoes. Para pacotes com 100+ trocas, pagina por mes.
Problemas Comuns
- "Pack is in use" durante troca - pacote ja em outro veiculo
- Pacote preso em
receivedha semanas - nao foi instalado nem colocado em slot - Pacote esperado faltando no inventario - cheque audit log
Veja Solucao de Problemas.