A conversão é sem perdas?
Não, e nenhuma conversão de YAML para JSON é. Comentários, âncoras, chaves de merge, tags e estilo de bloco não têm equivalente em JSON, então são resolvidos ou descartados. O que muda aqui é que cada um deles é contado e localizado, em vez de sumir em silêncio.
O resultado volta a ser o mesmo arquivo?
O JSON volta: converter JSON para YAML e de volta produziu um JSON idêntico byte a byte nos três arquivos reais que testamos, incluindo os literais numéricos e a ordem das chaves. O YAML não volta: comentários somem, âncoras e chaves de merge são expandidas e as aspas mudam. Os valores sobrevivem à ida e volta; o arquivo como você o escreveu, não.
Por que o meu yes virou texto?
Porque esta ferramenta lê YAML 1.2, onde yes é texto. O PyYAML, o Ruby e o yaml.v2 do Go leem YAML 1.1, onde a mesma palavra é true. São exatamente essas as linhas que a lista de divergências sinaliza, para você vê-las aqui e não num deploy quebrado.
Ele arredonda os meus números?
Não. O JSON é escrito a partir do seu texto de origem, e não de um número do JavaScript, então 9007199254740993 e 1.10 saem impressos exatamente como você os digitou. A ordem das chaves também sobrevive, inclusive chaves com cara de número como 10, 2 e 1, que um objeto JavaScript comum reordenaria em silêncio para 1, 2, 10.
Ele abre arquivos do CloudFormation ou do Ansible?
Ele os abre sem falhar, !Ref e !GetAtt são aceitos e seus valores mantidos: mas a tag em si é descartada, então o que volta são dados, não um template que você possa implantar.
Meu arquivo é enviado?
Não. A conversão acontece na sua aba do navegador. Isso importa mais aqui do que na maioria das páginas: manifestos do Kubernetes e workflows de CI carregam rotineiramente nomes de host internos, endereços de registry, nomes de segredos e às vezes os próprios segredos.