Operações
A operação rotineira do ThreadCells consiste principalmente em preservar quatro tipos de verdade: a identidade da compilação em execução, a responsabilidade pelo fluxo de trabalho, a capacidade disponível e o estado recuperável.
Verificações diárias
Use Home, Agents, Settings → General e Settings → Housekeeping para responder:
- O servidor está íntegro e a compilação esperada está em execução?
- O disco e a capacidade estão GREEN, YELLOW ou RED?
- Quais supervisores e workers estão realmente ativos?
- Há resultados entregues, mas não incorporados?
- Um fluxo de trabalho está aguardando uma decisão do proprietário?
- Se o Telegram estiver ativado, Settings → Telegram mostra o estado seguro esperado de conexão/teste?
A visualização de capacidade na linha de comando é:
threadcells-resource-statusUse o endpoint local de integridade para monitorar o serviço:
curl -fsS http://127.0.0.1:9889/healthIniciar e parar
Execute threadcells-server em loopback ou use o serviço instalado canônico. Uma desconexão do navegador não interrompe agentes sustentados por tmux. Uma reinicialização de servidor compatível preserva runtimes de terminal legitimamente ativos e, em seguida, reidrata o estado durável de fluxos de trabalho abertos e de entrega da Inbox. Runtimes encerrados são retirados pela identidade exata de terminal/processo; os registros históricos de sessão e resultado não dependem de um painel tmux continuar ativo.
Antes de uma reinicialização planejada:
- inspecione o trabalho de provedores e pesado ativo;
- evite interromper uma mutação quando possível;
- registre as identidades de compilação ativa e de reversão atuais;
- faça backup e verifique a integridade do banco de dados para uma atualização;
- reinicie somente os serviços ThreadCells necessários;
- reconecte-se e verifique os fluxos de trabalho/resultados antes de tentar algo novamente.
Use Graceful Exit para o ciclo de vida do provedor. Encerrar o tmux à força ou excluir linhas do banco de dados manualmente pode separar o estado do terminal da verdade durável do fluxo de trabalho.
Higiene de sessões e fluxos de trabalho
Um filho encerrado não é imediatamente descartável. Confirme que seu resultado durável foi entregue, lido, incorporado e confirmado. Em seguida, retire seus recursos de runtime, mantendo o histórico.
Add Agent destina-se ao ciclo de vida estável da sessão selecionada. A exclusão de sessão histórica e a exclusão de terminal encerrado visam identidades duráveis exatas e são rejeitadas enquanto houver um runtime ativo, fluxo de trabalho aberto/em recuperação, concessão de escrita, resultado pendente ou outra dependência genuína de ciclo de vida. Logs retidos, worktrees de limpeza protegidos e reivindicações de limpeza pós-encerramento não impedem, por si só, a exclusão lógica: o ThreadCells preserva a autoridade sobre o recurso, tombstona a sessão exata e torna as novas tentativas idempotentes. Uma exclusão bloqueada retorna o conflito específico de ciclo de vida em vez de um erro genérico de recurso ausente ou do servidor.
Dentro de uma sessão, Home e Agents preservam a sequência durável de criação de agentes do backend nas visualizações List e Grid. Status, provedor, perfil, atividade, polling, reconexão e reinício não reordenam os agentes; um agente recém-criado é acrescentado após os anteriores.
O encerramento de um provedor não fecha uma missão aberta. Conclua explicitamente um fluxo de trabalho de nível superior somente após terminar todo o trabalho autorizado pelo proprietário. Use o bloqueio de proprietário apenas para um limite de decisão genuíno.
Alterações de capacidade
Settings → Orchestration Capacity aplica alterações sem reiniciar o servidor. Reduções escoam; elas não encerram sessões ativas. Altere uma restrição por vez e observe se a fila pretendida melhora.
As mutações de capacidade exigem uma sessão de operador desbloqueada e são auditadas. Veja Modelo de capacidade e recursos.
Logs e evidências
Mantenha logs e histórico de resultados suficientes para diagnosticar uma execução com falha, mas não trate logs como a única verdade durável. O banco de dados, o resultado do fluxo de trabalho, o commit/diff do Git, o manifesto do candidato e as evidências de teste respondem, cada um, a perguntas diferentes.
Evite registrar prompts ou valores que contenham credenciais. Os erros públicos/de API do ThreadCells devem permanecer seguros para exibição.
Housekeeping
O Housekeeping sempre segue o plano primeiro. Inspecione a lista de candidatos da simulação e a identidade do plano e, em seguida, execute explicitamente o plano exato. O executor recompõe a proteção atual e revalida cada candidato antes da mutação. Ele pode retirar runtimes de terminais comprovadamente encerrados e worktrees com limpeza pendente já reconhecida sem apagar o histórico durável.
Os backups são apenas de inventário e nunca são excluídos automaticamente. Recursos desconhecidos ou ativos permanecem protegidos. O Full Cleanup é uma ação de operador confirmada separadamente que só é executada enquanto todos os agentes estão ociosos, preserva a autoridade de continuação dos agentes Ready e remove intencionalmente cada release local inativa comprovada, tornando o rollback local indisponível. Veja Housekeeping.
Disciplina de mudanças em produção
Para uma atualização:
- compile e verifique um candidato imutável a partir de um commit exato;
- preserve a instalação atual como reversão;
- faça backup e verifique a integridade do banco de dados;
- faça o staging pelo mecanismo canônico de implantação;
- promova o candidato exato preparado;
- reinicie somente os serviços necessários;
- faça testes de fumaça de integridade, UI, preflight de provedor, autorização de operador, fluxos de trabalho, terminais e notificações globais configuradas do Telegram.
Não publique, envie, marque nem altere a exposição pública como parte incidental de uma implantação local. Veja Atualização e Implantação.
Quando algo parece errado
Preserve evidências antes da limpeza ou de tentar novamente. Registre a identidade da compilação, IDs de sessão/terminal/fluxo de trabalho, mensagem segura de erro, janela de log relevante, status do Git e capacidade atual. Em seguida, use o guia Solução de problemas, organizado por sintomas.
