> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Como o Lerian STA funciona

> Como o Lerian STA funciona: envio de saída e descoberta de arquivos de entrada para o BACEN, máquina de estados de protocolo, integridade SHA-256, orçamentos de nova tentativa e ações do operador.

O Lerian STA move arquivos nas duas direções. Cada troca é uma **transferência**, um único arquivo que se move entre a instituição e o BACEN. Um **número de protocolo** rastreia a transferência ao longo do ciclo de vida de protocolo do BACEN. Cada ponta verifica o **SHA-256**.

## Envio de saída

***

A instituição, ou um produto Lerian upstream, entrega ao Lerian STA um arquivo para o BACEN. O Lerian STA então obtém um **número de protocolo** do BACEN. Ele envia os bytes do arquivo. O BACEN valida os bytes contra o **SHA-256** declarado.

A transferência avança pelo ciclo de vida do BACEN:

| Estado                         | Significado                                                                                                                                                                                                                                                                 |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Protocolo gerado**           | O BACEN atribuiu o número de protocolo.                                                                                                                                                                                                                                     |
| **Transmitindo**               | O Lerian STA está enviando os bytes.                                                                                                                                                                                                                                        |
| **Verificação de integridade** | O BACEN está validando o SHA-256 declarado.                                                                                                                                                                                                                                 |
| **Recebido**                   | O BACEN recebeu o arquivo.                                                                                                                                                                                                                                                  |
| **Entregue**                   | O BACEN entregou o arquivo ao seu destino.                                                                                                                                                                                                                                  |
| **Em processamento**           | O BACEN está processando o arquivo.                                                                                                                                                                                                                                         |
| **Aceito**                     | O BACEN aceitou o arquivo — um sucesso terminal.                                                                                                                                                                                                                            |
| **Rejeitado / Inconsistente**  | O BACEN recusou o arquivo — uma falha terminal.                                                                                                                                                                                                                             |
| **Respondido fora de banda**   | O Lerian STA encontrou uma resposta de entrada separada para o protocolo. Esse estado terminal local confirma a chegada da resposta, não se o BACEN aceitou ou rejeitou o arquivo; ele registra o histórico de auditoria, mas não emite nenhum evento externo de resultado. |

O envio tenta novamente dentro de um **orçamento limitado**. Quando o Lerian STA esgota o orçamento de novas tentativas, ele cancela a transferência. Cada protocolo também carrega um **TTL** limitado em tempo real (44 horas por padrão). O Lerian STA deve terminar o envio antes que o BACEN expire o protocolo.

## Descoberta e download de entrada

***

O Lerian STA consulta o BACEN em busca de arquivos disponíveis, por tenant ativo, em uma cadência configurada.

Para cada arquivo, o Lerian STA compara o **código de sistema do BACEN** do arquivo com as **configurações de origem de entrada** do tenant. Em seguida, ele baixa os bytes. Ele verifica os bytes contra o **SHA-256** informado pelo BACEN. Ele armazena o arquivo de forma durável no armazenamento de objetos.

Uma divergência de hash ou uma falha de download tenta novamente dentro de um orçamento limitado. Quando o Lerian STA esgota o orçamento, ele coloca a transferência em quarentena em uma falha terminal (inconsistente ou cancelada). Ele não entrega o arquivo ao seu produto de origem.

## Ações do operador

***

Um operador apenas pode agir onde o estado e a configuração da transferência permitirem:

* **Cancelar** apenas quando a máquina de estados canônica permite uma transição para `Canceled`. Não é permitido a partir de todo estado não terminal.
* **Repetir** uma transferência de saída apenas quando ela é não terminal, tem orçamento de envio restante e seu TTL de protocolo não expirou.
* **Marcar como urgente** apenas para uma transferência de entrada em `AvailableForDownload` cuja configuração de origem tem urgência habilitada. Fora isso, falha de forma fechada.

O Lerian STA também cancela uma transferência quando seu protocolo do BACEN expira.
