Ajude-me a entender: o processo pós-cozimento

Olá,
Ficaria muito feliz se alguém pudesse me ajudar a entender como funciona o processo de pós-cozimento (post cooking). Estou especialmente interessado nesta parte:

Por que o processamento ocorre depois que a postagem já foi “cozida”?
Talvez possamos analisar o processo do que seria necessário para adicionar um recurso como oneboxes ou “citações de usuários específicos”, caso ainda não existissem. Então, deparei-me com o Prettytext discourse/app/assets/javascripts/pretty-text at f9608c0af5f7b1109117a5aba979acb00c28cf9a · discourse/discourse · GitHub
que lida com a conversão de e para Markdown e com a renderização da caixa de pré-visualização. Também encontrei a função rebake no modelo de postagem (post model) no backend:

que chama o método cook do postanalyzer:

essa função executa a conversão Markdown via JavaScript no backend

Minha hipótese era que isso fosse feito dessa forma para reduzir a duplicação de código, mas então descobri o

CookedPostProcessor

que linkei no início. Parece que algum processamento é feito apenas em JavaScript, enquanto parte dele é feita tanto em JavaScript quanto em Ruby no CookedPostProcessor. Para resumir: 1. É necessário ter regras de conversão de e para Markdown (parece estar apenas em JavaScript). 2. É necessário ter algum código para criar o HTML (parte em JavaScript, mas também parte em Ruby). Gostaria de saber por que o item (2) é feito parcialmente em JavaScript e parcialmente em Ruby. Talvez você possa me dar um exemplo. Também ficaria muito feliz se você pudesse corrigir quaisquer suposições equivocadas que eu tenha feito neste post.
Muito obrigado! :smiley:
Spirobel

Para começar, basta verificar a aba de rede do console do JavaScript para saber o que é capturado no front-end e enviado ao servidor quando um post é criado. Isso significa que todos os dados enviados à API do Rails são processados posteriormente pelo Rails. Em seguida, na tabela posts, você verá as colunas raw e cooked, que indicam as formas não processada e processada do post.

Ok, obrigado pela sua resposta. Acredito que vou explorar isso aos poucos. Acho que talvez essa abordagem de “raciocinar a partir de princípios fundamentais” que eu adotei não funcione, pois isso surgiu por razões históricas.