Laudo Técnico de Avaliação — TP1
equipe_papalmeida
Tipo: Avaliacao tecnica coletiva
Status: Recomendacao tecnica
Nota tecnica: 8,3/10
Sintese: A API real e a integracao foram verificadas, mas o ajuste de TF-IDF antes do split compromete a validade das metricas reportadas.
Nota recomendada
8,3/10 Nota tecnica recomendada. E a entrega integrada mais executavel e melhor justificada, com desconto material pelo vazamento de TF-IDF. Parcela coletiva individual: 4,15/5,0.
Evidencias e execucao
- Inspecionados README, codigo de dados/ML/API, artefatos Keras/TF-IDF/threshold, testes, Docker, CI e analitica.
pytestno host foi bloqueado pela ausencia defastapiesklearn, sem instalacao local e sem desconto automatico.docker buildconcluiu em aproximadamente 86 s. No container,/healthretornou{"status":"ok"},/predictcarregou probabilidades reais e entrada em branco retornou422.- Rodar pytest dentro da imagem falhou porque
tests/nao foi copiado para ela; e defeito da imagem de entrega.
Achados tecnicos preservados
- README completo: autoria/papeis, Kim e CodeBERT, formulacao matematica, baseline/rede, metricas por classe, curva, thresholds e analise do abismo semantico.
- Rede Dense/Dropout, 25 sigmoids e BCE estao corretos. A calibracao busca threshold por classe na validacao e o usa na API.
- Ha artefatos reais. O README reporta F1-macro 0,513 no baseline, 0,372 na rede com limiar fixo e 0,494 apos calibracao. Docker e API funcionam em modo real; ha CI e MRs por papel.
src/run_pipeline.pychamabuild_text_features(df)antes do split e ajusta TF-IDF em todo o dataset: ha vazamento de vocabulario/IDF de validacao e teste para treino, comprometendo as metricas.tests/test_api.pynao usa exatamente as 25 classes oficiais. A imagem nao inclui testes e o CI removeu o build Docker. A analitica registra concentracao e ausencia de commits reconhecidos para o responsavel por dados, apesar de MRs e historico com alias.
| Criterio coletivo | Max. | Nota | Justificativa |
|---|---|---|---|
| Dados e formulacao multi-label | 1,5 | 1,0 | Top-25/formulacao corretos; TF-IDF ajustado antes do split. |
| Baseline, rede e resultados | 2,5 | 2,1 | Comparacao e artefatos fortes; resultados afetados pelo leakage. |
| Evolucao experimental | 2,0 | 1,8 | Excelente explicacao de threshold/desbalanceamento; validade limitada. |
| API e contrato | 1,5 | 1,4 | API real executada; teste Top-25 incorreto. |
| Reproducibilidade e qualidade | 1,5 | 1,1 | Build/servico funcionam; testes ausentes da imagem e CI sem build. |
| Documentacao e colaboracao | 1,0 | 0,9 | Relatorio e MRs fortes; historico concentrado. |
Notas individuais
| Integrante | Papel declarado e observado | Produto /5 | Papel /3 | Rastreabilidade /1,5 | Colaboracao /0,5 | Final /10 |
|---|---|---|---|---|---|---|
| Danilo Kaizer | Dados, ETL e pipeline (Aluno A) | 4,15 | 2,5 | 1,5 | 0,4 | 8,6 |
| Leonardo Soares | Modelagem e deep learning (Aluno B) | 4,15 | 2,8 | 1,5 | 0,4 | 8,9 |
| Gabriel Kaizer | API e inferencia (Aluno C) | 4,15 | 2,8 | 1,5 | 0,4 | 8,9 |
| Pedro Almeida | DevOps, Docker e QA (Aluno D) | 4,15 | 2,6 | 1,5 | 0,5 | 8,8 |
Evidencias e ressalvas individuais
- Danilo Kaizer: README atribui ETL,
iterative-stratificatione testes; commits/MRs de preprocessamento, serializacao, dataset e testes confirmam o papel. A analitica nao o reconhece por usar aliases/e-mails alternativos. O vazamento esta no pipeline integrado e reduz o credito de papel. - Leonardo Soares: commits de baseline, rede, calibracao, treinamento e relatorio, todos sob
Leo Soares, correspondem ao papel B declarado. A validade dos resultados e reduzida pelo leakage originado antes do treinamento, mas a entrega de modelagem e nitida. - Gabriel Kaizer: commit de endpoints e correcao de entrada vazia, MR !3 e a API real executada confirmam o papel C. O contrato de teste Top-25 tem duas classes divergentes, ressalva de qualidade do papel.
- Pedro Almeida: MRs !4 e !6, Docker, compose, CI, testes e inclusao de artefatos demonstram o papel D. O container real funciona, mas testes nao entram na imagem e o build Docker foi removido do CI.
Os aliases de Danilo e Leonardo devem ser vinculados formalmente na arguicao; a nota nao usa contagem de commits ou linhas como criterio de desempenho.