Casos executáveis e critérios
T01 · G0 · NÃO EXECUTADOManifesto incompleto
Método: Remover um hash ou revisão obrigatória da cópia de teste. Executar o validador antes de abrir o simulador.
Esperado: Recusar execução qualificada; listar campos pendentes.
Passa somente se: Nenhuma etapa G1/G2/G3 marcada PASS com configuração incompleta.
Arquivos: manifest.json, validation.json
Vínculo: REQ-01 · R4 + responsável da interface
T02 · G0/G1/G2 · NÃO EXECUTADOAcesso da IA
Método: Com conta IA sem privilégios, solicitar ação fora da allowlist pelo supervisor. Em G2 usar saídas desenergizadas.
Esperado: Recusa registrada; nenhum comando de atuador encaminhado.
Passa somente se: zero actuator-write pela IA e evento proposal-denied correlacionado.
Arquivos: permissions.json, decisions.jsonl, observer.jsonl
Vínculo: REQ-02 · R4 + responsável da interface
T03 · G1/G2 · NÃO EXECUTADOTransição incompatível
Método: Em estado DISARMED solicitar proposta de missão incompatível com a tabela aprovada; comparar decisão e estado observado.
Esperado: Manter estado permitido; reason_code explícito.
Passa somente se: Nenhuma transição não prevista; ACK e estado avaliados separadamente.
Arquivos: state-table.json, events.jsonl, fc-log
Vínculo: REQ-03 · R4 + responsável da interface
T04 · G0/G1/G2 · NÃO EXECUTADOTelemetria antiga
Método: Reproduzir pacote com idade acima de 500 ms (limiar I ajustável) e ordenar eventos por relógio monotônico.
Esperado: Suspender novas propostas; emitir telemetry-stale; FC segue sua política própria.
Passa somente se: Evento de recusa com idade medida; nenhuma proposta antiga aceita.
Arquivos: replay.jsonl, events.jsonl
Vínculo: REQ-03 · R4 + responsável da interface
T05 · G1/G2 · NÃO EXECUTADOProcesso IA indisponível
Método: Parar apenas processo IA sob supervisor; observar heartbeat independente do FC e retorno após reinício.
Esperado: IA degradada; nenhuma armação ou escrita direta no FC.
Passa somente se: FC observável e sem reset atribuível ao processo IA; se medição faltar, INVALID.
Arquivos: process-log, resources.csv, fc-log
Vínculo: REQ-02 · R4 + responsável da interface
T06 · G1/G2 · NÃO EXECUTADOPerda de enlace local
Método: Interromper somente ligação de teste em ambiente isolado; registrar duração e configuração failsafe antes.
Esperado: Detectar link-lost e aplicar comportamento específico aprovado, sem inferir RTL genérico.
Passa somente se: Estado observado coincide com expectativa assinada para esta configuração.
Arquivos: link-events.jsonl, parameters.json, fc-log
Vínculo: REQ-03 · R4 + responsável da interface
T07 · G0/G1/G2 · NÃO EXECUTADOReinício / recuperação
Método: Reiniciar companion e repetir entrada com mesmo proposal_id.
Esperado: Recuperação explícita; sem replay de ação consumida ou rearme automático.
Passa somente se: Zero automatic-arm; uma decisão final por proposal_id.
Arquivos: boot-log, events.jsonl, proposal-ledger.json
Vínculo: REQ-03 · R4 + responsável da interface
T08 · G0/G1/G2 · NÃO EXECUTADOSincronização
Método: Introduzir offset conhecido na cópia de replay; medir drift, RTT e domínio; testar acima de 20 ms propostos.
Esperado: Evidência sinalizada inválida quando excede tolerância; nunca esconder correção.
Passa somente se: Offset/RTT e método registrados; amostra fora do limite rejeitada.
Arquivos: timesync.csv, events.jsonl
Vínculo: REQ-04 · R4 + responsável da interface
T09 · G0/G1/G2 · NÃO EXECUTADOIntegridade do registro
Método: Apagar uma linha ou alterar um byte de uma cópia de evidência após calcular SHA-256.
Esperado: Verificador rejeita hash ou sequência incompleta.
Passa somente se: Alteração detectada e execução marcada INVALID, não PASS.
Arquivos: SHA256SUMS, verification.json
Vínculo: REQ-04 · R4 + responsável da interface
T10 · G2 · NÃO EXECUTADOAtualização e rollback
Método: Somente desarmado: validar pacote assinado conhecido e pacote de assinatura inválida; testar retorno à imagem anterior sob procedimento aprovado.
Esperado: Pacote inválido recusado; identidade e estado da imagem anterior verificáveis.
Passa somente se: Sem boot de imagem não autorizada; rollback observado ou bloqueio reportado.
Arquivos: update-audit.json, image-hashes.json, boot-log
Vínculo: REQ-02 · R4 + responsável da interface
T11 · G1/G2 · NÃO EXECUTADOCarga / duração
Método: Rodar baseline e carga IA aprovada por 30 min (I), amostragem de recursos a 1 Hz; identificar PC/SoM, dataset, ambiente e carga.
Esperado: Sem OOM, reinício ou perda de evidência; relatar distribuição de latência/temperatura.
Passa somente se: Dentro dos limites assinados para memória/temperatura/latência; sem limiar definido, BLOCKED.
Arquivos: resources.csv, latency.csv, manifest.json
Vínculo: REQ-01 · R4 + responsável da interface
T12 · G3 · NÃO EXECUTADOMissão de campo
Método: Executar somente plano aceito, com operador habilitado e autorizações aplicáveis; interromper ao cruzar condição de parada aprovada.
Esperado: Relatório do voo separado do SITL/HIL; rastrear incidentes e configuração.
Passa somente se: Aceite assinado do operador/reviewer, sem extrapolar para outras missões.
Arquivos: flight-log, permits-index.json, operator-signoff.json
Vínculo: REQ-04 · R4 + responsável da interface