Every benchmark, as written in the repository (in Portuguese). Each one builds the same app three ways and measures it from the outside. Open a report for what each agent received, the decisions it made on its own and the limits of the test.
Benchmarks do Hunch
Gerado por npm run bench:report. Como rodar um benchmark e o que cada número quer dizer: README.md.
clinic: agenda de uma clínica: horários, marcar, cancelar com 24 h (hexagonal dentro do monolito)
2026-10-10, Hunch 112144b. Relatório completo: clinic/REPORT.md.
| Com Hunch | Prompt simples | Grill-me | |
|---|---|---|---|
| Custo | |||
| Tokens do agente que construiu | 92.963 | 48.377 | 283.821 |
| Tokens da pessoa simulada (grill-me) | - | - | 115.970 |
| Chamadas de ferramenta | 17 | 11 | 24 |
| Tempo (s) | 309 | 134 | 671 |
| Comportamento | |||
| Sonda: regras do board | 28/29 | 29/29 | 29/29 |
| Sonda: contrato (códigos e rotas do board) | 10/10 | 4/10 | 10/10 |
| Robustez: entrada ruim sem 5xx | 9/9 | 9/9 | 9/9 |
| Respostas 5xx durante a sonda | 0 | 0 | 0 |
| Testes de contrato do pacote | - | - | - |
| Testes | |||
| Testes passando | 54/54 | 23/23 | 53/53 |
| Cobertura de linhas | 96,74% | 98,57% | 97,46% |
| Cobertura de ramos | 96% | 94,81% | 96,85% |
| Cobertura de funções | 94,81% | 88,64% | 96,88% |
| Código | |||
| Linhas de código | 578 em 20 arquivos | 376 em 4 arquivos | 826 em 26 arquivos |
| Linhas de teste | 573 | 331 | 625 |
| Maior arquivo (linhas) | 141 | 214 | 99 |
| Maior função (linhas) | 34 | 32 | 50 |
| Funções com mais de 40 linhas | 0 | 0 | 2 |
| Complexidade: máxima / média por função | 10 / 2,5 | 11 / 3,5 | 9 / 2,7 |
| Aninhamento máximo | 6 | 6 | 5 |
| Linhas duplicadas | 5,5% | 5% | 7,1% |
| Arquivos que misturam HTTP e SQL | 0 | 0 | 0 |
| Erros de sintaxe | 0 | 0 | 0 |
| Imports fora da forma do board | 0 de 19 | não segue as pastas | 0 de 19 |
| Processo | |||
| Decisões tomadas sozinho | 26 | 22 | 20 |
| Perguntas feitas (grill-me) | - | - | 39 |
shelf: empréstimo de livros num escritório (clean architecture dentro do monolito)
2026-10-10, Hunch fc97369. Relatório completo: shelf/REPORT.md.
| Com Hunch | Prompt simples | |
|---|---|---|
| Custo | ||
| Tokens do agente que construiu | 79.661 | 42.189 |
| Tokens da pessoa simulada (grill-me) | - | - |
| Chamadas de ferramenta | 15 | 6 |
| Tempo (s) | 245 | 217 |
| Comportamento | ||
| Sonda: regras do board | 16/16 | 16/16 |
| Sonda: contrato (códigos e rotas do board) | 2/2 | 0/2 |
| Robustez: entrada ruim sem 5xx | 9/9 | 9/9 |
| Respostas 5xx durante a sonda | 0 | 0 |
| Testes de contrato do pacote | - | - |
| Testes | ||
| Testes passando | 27/27 | 15/15 |
| Cobertura de linhas | 95,13% | 97,52% |
| Cobertura de ramos | 90,77% | 91,67% |
| Cobertura de funções | 91,38% | 92,11% |
| Código | ||
| Linhas de código | 529 em 19 arquivos | 262 em 4 arquivos |
| Linhas de teste | 389 | 230 |
| Maior arquivo (linhas) | 132 | 128 |
| Maior função (linhas) | 36 | 39 |
| Funções com mais de 40 linhas | 0 | 0 |
| Complexidade: máxima / média por função | 9 / 2 | 8 / 2,6 |
| Aninhamento máximo | 4 | 5 |
| Linhas duplicadas | 9,4% | 4,3% |
| Arquivos que misturam HTTP e SQL | 0 | 0 |
| Erros de sintaxe | 0 | 0 |
| Imports fora da forma do board | 0 de 14 | 0 de 1 |
| Processo | ||
| Decisões tomadas sozinho | 19 | 11 |
| Perguntas feitas (grill-me) | - | - |
spend: reembolso de despesas: rascunho, envio, aprovação por alçada, teto mensal e pagamento (onion dentro do monolito)
2026-10-10, Hunch 25694ab (v0.09) contra 3ca8931 (produção). Relatório completo: spend/REPORT.md.
| Com Hunch | Hunch em produção | Prompt simples | Grill-me | |
|---|---|---|---|---|
| Custo | ||||
| Tokens do agente que construiu | 82.356 | 97.372 | 43.746 | 223.530 |
| Tokens da pessoa simulada (grill-me) | - | - | - | 116.627 |
| Chamadas de ferramenta | 13 | 20 | 5 | 15 |
| Tempo (s) | 217 | 337 | 105 | 379 |
| Comportamento | ||||
| Sonda: regras do board | 34/34 | 34/34 | 31/34 | 34/34 |
| Sonda: contrato (códigos e rotas do board) | 12/12 | 12/12 | 7/12 | 12/12 |
| Robustez: entrada ruim sem 5xx | 9/9 | 9/9 | 9/9 | 9/9 |
| Respostas 5xx durante a sonda | 0 | 0 | 0 | 0 |
| Testes de contrato do pacote | 28/28 | - | - | - |
| Testes | ||||
| Testes passando | 50/54 | 106/106 | 26/26 | 71/71 |
| Cobertura de linhas | 99,05% | 97,05% | 95,21% | 97,84% |
| Cobertura de ramos | 94,34% | 95,9% | 85,62% | 94,01% |
| Cobertura de funções | 98,53% | 94,32% | 100% | 95,24% |
| Código | ||||
| Linhas de código | 558 em 19 arquivos | 691 em 18 arquivos | 372 em 3 arquivos | 865 em 20 arquivos |
| Linhas de teste | 671 | 742 | 250 | 836 |
| Maior arquivo (linhas) | 110 | 116 | 313 | 195 |
| Maior função (linhas) | 34 | 35 | 146 | 84 |
| Funções com mais de 40 linhas | 0 | 0 | 3 | 2 |
| Complexidade: máxima / média por função | 8 / 3,1 | 12 / 2,2 | 35 / 6,6 | 17 / 2,4 |
| Aninhamento máximo | 5 | 5 | 5 | 5 |
| Linhas duplicadas | 4,1% | 7,7% | 6,8% | 6,4% |
| Arquivos que misturam HTTP e SQL | 0 | 0 | 1 | 0 |
| Erros de sintaxe | 0 | 0 | 0 | 0 |
| Imports fora da forma do board | 0 de 19 | 0 de 18 | não segue as pastas | 0 de 16 |
| Processo | ||||
| Decisões tomadas sozinho | 7 | 24 | 14 | 24 |
| Perguntas feitas (grill-me) | - | - | - | 36 |