Armazenamento e automanutenção: por que o disco não enche
Uma suíte que executa milhares de testes por dia grava evidências o dia todo: vídeos, traces, capturas de tela e relatórios. O Nexus Studio mantém isso sob controle por conta própria. Cada pasta tem um limite por teste, todas as evidências juntas têm um orçamento único, e o disco mantém um piso de espaço livre. Esta página explica o que cresce, o que sai primeiro, o que nunca é excluído e como ficam 10.000 execuções por dia no disco.
Pela equipe do Nexus Studio, Verdict System LLC. 9 de outubro de 2026.
O que cresce e por que continua limitado
Toda execução grava algo. Um teste aprovado mantém uma captura de tela e seus metadados. Uma falha mantém uma pasta: report.md, metadata.json, raw-data.json, screenshot.png e, no caso de uma falha real, video.webm e trace.zip. As execuções de API, chaos, Smart Monkey, carga e regressão visual mantêm pastas próprias, e toda execução adiciona uma linha ao History e arquivos temporários ao cache de execuções.
Um limite por teste não basta por si só. Manter 20 execuções com falha é pouco para um teste e um disco cheio para 10.000 testes. Por isso o mecanismo limita o armazenamento em duas camadas: um limite por teste e um orçamento único sobre todas as evidências, que não cresce com o número de testes.
Camada um: um limite por teste
Cada tipo de evidência mantém um número definido de execuções, as mais recentes. Estes são os padrões:
| Evidências | Mantido por padrão | Configuração |
|---|---|---|
| Falhas | As 20 execuções mais recentes por teste e navegador | NEXUS_BUGREPORT_RETAIN |
| Aprovações | As 5 execuções mais recentes por teste e navegador | NEXUS_PASSED_RETAIN |
| Execuções de API | As 20 execuções aprovadas mais recentes por teste de API. As falhas não têm um limite próprio: o orçamento as limita. | NEXUS_API_EVIDENCE_KEEP |
| Execuções de caos | As 20 execuções retidas mais recentes por teste e navegador. As execuções que quebraram não têm um limite próprio: o orçamento as limita. | NEXUS_CHAOS_RETAIN |
| Regressões visuais | As 10 mais recentes por teste e checkpoint | NEXUS_VISUAL_REGRESSION_RETAIN |
| Sessões do Smart Monkey | As 10 mais recentes | NEXUS_MONKEY_RETAIN |
| Contexto de execução | As 100 execuções mais recentes | NEXUS_RUN_CONTEXT_RETAIN |
| History | As 50 linhas mais recentes por teste e navegador | NEXUS_HISTORY_RETAIN |
| Arquivo de telemetria | No máximo 2 zips, nenhum com mais de 7 dias, 500 MB no total | NEXUS_CACHE_ZIPS, NEXUS_CACHE_RETENTION_DAYS, NEXUS_CACHE_MAX_MB |
Cada um deles é uma linha no .env do workspace. O Settings edita todos eles, exceto os três limites de telemetria.
Camada dois: um orçamento para toda a evidência e um piso de espaço livre
NEXUS_EVIDENCE_MAX_GB, 20 GB por padrão, limita toda a evidência em conjunto: execuções com falhas, aprovações, API, chaos, Smart Monkey, carga e regressão visual. Ele não cresce com o número de testes. Com 100 testes ou 10.000, a evidência fica abaixo dele.
NEXUS_MIN_FREE_GB, 10 GB por padrão, é o espaço livre que o disco mantém. Quando o disco fica abaixo dele, a evidência mais antiga é removida mesmo que o total ainda esteja abaixo do orçamento.
Quando qualquer um dos limites é ultrapassado, o engine remove pastas de execução inteiras, nesta ordem:
- Execuções aprovadas e regressões visuais, das mais antigas para as mais recentes.
- Depois as falhas, das mais antigas para as mais recentes.
- Ele para assim que a evidência fica abaixo do orçamento e o disco fica acima do piso.
Se restar apenas a execução mais recente de cada teste e o total ainda estiver acima do orçamento, o engine avisa depois da execução: aumente o orçamento, ou arquive o que você precisa e libere execuções mais antigas. O piso atua apenas sobre a evidência. Quando outros arquivos enchem o disco, o engine libera a própria evidência até restar a execução mais recente de cada teste, e o Studio continua avisando que o disco está com pouco espaço.
O que nunca é excluído
- A execução mais recente de cada teste e navegador, além da sessão mais recente do Smart Monkey e da execução de carga mais recente. A execução que acabou de terminar é sempre a mais recente da sua categoria.
- Arquivo. As cópias que você escolheu manter com Archive… no Evidence Locker ficam ao lado da pasta de evidências, não dentro dela. Nem os limites por teste nem o orçamento chegam até elas.
- History. Remover a pasta de uma execução não remove a linha dessa execução. O History mantém a própria janela, de 50 execuções por teste e navegador por padrão.
- A cadeia de custódia. O ledger é somente de acréscimo e nunca é reduzido.
A evidência selada é removida com registro
O selamento é opcional. Um registro selado calcula o hash SHA-256 de cada arquivo da sua pasta e o encadeia ao registro anterior, de modo que uma pasta selada que sumisse sem aviso pareceria adulteração.
Antes de o orçamento remover uma pasta selada, o engine acrescenta ao ledger uma entrada PURGE para ela, indicando o orçamento de disco como responsável pela remoção e quando ela ocorreu. O ledger continua provando o hash da pasta, e o nexus verify informa o registro como PURGED, não como adulterado. Se o ledger não conseguir registrar o PURGE, a pasta permanece.
O que roda automaticamente, e quando
O engine se mantém sozinho após cada execução, em todos os modos: um único teste, uma suíte, um loop, um agendamento do Watch, execuções com Selenium, pytest e API.
- O espaço livre é verificado após cada execução.
- A evidência é pesada no máximo a cada 15 minutos, ou imediatamente quando o disco está abaixo do piso. Essa passagem remove as execuções mais antigas até que os dois limites sejam respeitados.
- Os arquivos temporários são limpos. Os arquivos de resultado por execução e os logs da aplicação sob teste são removidos depois de 24 horas. Os logs de erro de configuração mantêm os 14 arquivos mais recentes. As pastas que uma execução interrompida deixou na pasta temporária do Windows também são removidas após 24 horas.
- A pasta de saída temporária do Playwright é esvaziada no início e no fim de cada execução.
- Os logs são rotacionados a cada 10 MB.
- Os arquivos temporários de telemetria vão para um zip após cada execução, dentro dos três limites acima.
O que você vê no Studio
Workspace › Disk mostra:
- a evidência usada em relação ao orçamento;
- o disco livre em relação ao piso;
- quando a última verificação ocorreu e o que a última passagem liberou;
- Run maintenance now, que executa a mesma passagem imediatamente, em vez de esperar a próxima execução.
Quando o espaço livre cai abaixo do piso, o Studio mostra um aviso de pouco espaço em disco. Os dois limites ficam em Settings, em Evidence & Retention. O mesmo painel lista cada pasta em que uma execução grava, com seu tamanho e seu limite: o que cada execução mantém.
Docker e hosts remotos
O engine pode executar suítes no Docker nesta máquina ou em um contêiner em um servidor Linux via SSH. O próprio Studio continua no Windows.
- Os logs dos contêineres são limitados a três arquivos de 10 MB por serviço, para que um contêiner que roda por meses não encha o host com a própria saída.
- O runner do GitHub auto-hospedado se registra uma única vez. Uma reinicialização reutiliza o registro em vez de registrar de novo.
- O engine nesse host é o mesmo engine, com os mesmos limites, orçamento e piso para a evidência que grava ali.
Um exemplo prático: 10.000 execuções por dia
Esta é uma estimativa, não uma medição. Suponha:
- 10.000 execuções de teste por dia;
- 5% falham, ou seja, 500 falhas por dia;
- cerca de 3 MB por pasta de falha: vídeo, trace, captura de tela e dados.
Isso dá cerca de 1,5 GB de evidência de falhas por dia. Com o padrão de 20 GB, aproximadamente as últimas duas semanas de falhas ficam no disco, e a evidência total nunca passa de 20 GB. As aprovações saem primeiro, então o espaço fica com as falhas, a evidência de que você mais provavelmente vai precisar.
Os 3 MB pressupõem que o vídeo e o trace sejam mantidos. A pasta BREACHED na página de evidências pesa 531,2 kB antes do seu trace.
Ajustes para suítes grandes
- Mais histórico: aumente
NEXUS_EVIDENCE_MAX_GB. Em um disco de 1 TB, um orçamento de 200 GB mantém dez vezes o padrão, cerca de quatro meses de falhas a 1,5 GB por dia. Os limites por teste continuam valendo: um teste mantém no máximo as suas 20 execuções com falha, a menos que você aumente tambémNEXUS_BUGREPORT_RETAIN. - Menos por falha: desative o trace com
NEXUS_TRACE_ENABLED=false, ou mantenha o vídeo para menos verdicts comNEXUS_VIDEO_VERDICTS. O mesmo orçamento passa a cobrir mais dias. - Espaço para outros programas: aumente
NEXUS_MIN_FREE_GBse a máquina precisar de mais espaço livre do que 10 GB. - Testes que rodam muitas vezes por dia: aumente
NEXUS_HISTORY_RETAIN, por exemplo para 500, para que o History cubra mais do que alguns dias. - Uma falha que você precisa manter: arquive-a no Evidence Locker antes que ela expire.
Perguntas
Isso vai encher meu disco se eu executar 10.000 testes por dia?
Não com a sua evidência. A evidência fica dentro do orçamento, 20 GB por padrão, não importa quantos testes você execute, e o engine remove evidências mais antigas para manter 10 GB do disco livres. Mais execuções por dia significa que a evidência alcança menos tempo para trás, não que ocupe mais espaço. Arquivos fora da evidência, como imagens do Docker ou seus próprios workspaces, não fazem parte do orçamento.
A limpeza chega a apagar uma falha de que eu preciso?
Pode, quando a falha for antiga o bastante: acima do orçamento, as execuções mais antigas saem, aprovações antes de falhas, e a execução mais recente de cada teste e navegador sempre permanece. Para manter uma falha para sempre, escolha Archive… no Evidence Locker. A cópia fica fora da pasta de evidências, e nem os limites por teste nem o orçamento a alcançam.
Um registro selado será lido como adulterado após a limpeza?
Não. A entrada PURGE vai primeiro para o ledger, e nexus verify informa o registro como PURGED.
O que acontece quando o disco está quase cheio?
Abaixo do piso, de 10 GB por padrão, o engine avalia as evidências imediatamente, sem esperar a passagem de 15 minutos, remove evidências mais antigas mesmo dentro do orçamento, e o Studio exibe um aviso de pouco espaço em disco. Se outros arquivos ocuparem o espaço, ele libera o que puder e continua avisando.
Preciso fazer alguma coisa?
Não. Ele roda após cada execução. Run maintenance now, em Workspace › Disk, o executa na hora.