# Auditoria de Bruno e Fastmode · R26

A base da comparação é a R25, com ISS, Lua, Marte, Cerrado, Bennu e Webb. A entrega oficial combina três simulações de engenharia inspiradas na contribuição de Bruno com três investigações que preservam registros históricos. Os dois protótipos oferecem fluxos complementares de formação e projeto. [Jogo R25](65-GAME-E-MISSOES-BRUNO-R25.md) · [Publicação verificada](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/PUBLICADO.md)

## Referências e autoria

| Fonte | Referência fixada | Inspeção |
| --- | --- | --- |
| Novo aplicativo de **Bruno A Carvalho** | `bruno-assis-carvalho/missao-ipe-deploy`, `main` em `fa18fd38439921f97286325b2bdf8c7545d7c776`, árvore `2e8a7c5f7d85e35ea817ea12686a970ed1553347` | Dez commits em `main` atribuídos a Bruno. Licença no GitHub `null` e árvore sem arquivo de licença. A home respondeu HTTP 200, o manifesto respondeu HTTP 200 e o acesso direto a `/mission/iss/context` retornou HTTP 404 nas sondagens. A jornada foi inspecionada no código. [Commit](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/commit/fa18fd38439921f97286325b2bdf8c7545d7c776) · [Home externa](https://missao-ipe-deploy.vercel.app/) |
| Protótipo anterior de **Bruno A Carvalho** | `brunoassiscarvalho/missao-ipe`, `master` em `f54fb88a237216d6c1e72b75b400767fb3a75661` | O oficial preserva 32 arquivos do primeiro protótipo e o inventário de cinco commits. Autoria, escopo e licença externa constam da origem. [Origem preservada](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/contributions/bruno-figma/ORIGEM-E-INTEGRACAO.md) |
| **Fastmode**, contribuição de **Alexandre Belo** | PR oficial #2, `feat/fastmode-mvp` em `416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3`, merge `6c8df630946c581c2a56d938d03386fd3ead111f` | O Git remoto anuncia `refs/pull/2/head`. `fastmode/` está em `main` com os mesmos arquivos da cabeça da PR. O repositório oficial declara Apache 2.0. [PR #2](https://github.com/oalexandrebelo/MISSAO-IPE/pull/2) · [Commit da PR](https://github.com/oalexandrebelo/MISSAO-IPE/commit/416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3) · [Merge](https://github.com/oalexandrebelo/MISSAO-IPE/commit/6c8df630946c581c2a56d938d03386fd3ead111f) · [Licença oficial](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/LICENSE) |

O `main` oficial consultado estava em `4ba5ddb92ef08ac283d1dc097766eebef045a3d1`. O snapshot da versão nova preserva **37 dos 38 blobs**. A exclusão é o ZIP redundante, com configuração e checkpoints em `.git`. O arquivo `contributions/bruno-figma/deploy-2026-11-15/MANIFESTO.json` registra Git blob, tamanho e SHA-256 de cada arquivo. SHA-256 do manifesto `f2a652005e440b1df7d71bca2e8ca31eb4236645a2f202eb353776bd3fcfeaff`. O snapshot preserva o código de persistência local, scripts e assets de referência fora da distribuição curada. [Árvore original](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/tree/fa18fd38439921f97286325b2bdf8c7545d7c776) · [Curadoria do build](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/scripts/build-beta-site.mjs)

## Jornada de Bruno e cobertura nativa da R25

| Fluxo | Versão nova e diferença em relação ao primeiro protótipo | Cobertura na base R25 |
| --- | --- | --- |
| Entrada e instrução | Start com Iniciar/Continuar, guia acionável com quatro etapas, dicas e reinício confirmado. O reinício abre o guia. [Entrada e guia](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L1232-L1393) | Start oficial já abre cadastro e escolha entre seis missões. O gateway retoma a participação. Guia de primeira partida e reinício do projeto têm escopo diferente do cadastro. [Gateway](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/experiments/mission-design-lab/src/ui/PlayerMetrics.tsx) |
| Retomada | O perfil local `missao-ipe-engineer-v1` guarda saldo, inventário, durabilidade, nave, carga, carrinho, etapa e último lançamento por missão. Valida rotas, migra registros anteriores e guarda dados inválidos em uma chave de recuperação. [Estado e migração](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L809-L1055) | O progresso das tentativas já pertence à participação. Nas três missões Bruno, a montagem volta ao briefing e à configuração padrão quando o componente é montado de novo. Cerrado já tem rascunho em IndexedDB e Bennu/Webb têm Salvar/Carregar. [Campanha R25](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/experiments/mission-design-lab/src/ui/BrunoCampaign.tsx) · [Bennu e Webb](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/experiments/mission-design-lab/src/ui/ScientificExpedition.tsx) |
| Seleção e contexto | ISS, Lua, Marte, Europa e Bennu, com desbloqueio sugerido pelos cartões após sucesso, briefing e navegação por etapa. A versão nova remove o XP mostrado no primeiro protótipo e mantém a recompensa de saldo. Grades e carrossel respondem a telas estreitas e baixas. [Catálogo](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L202-L339) · [Seleção](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L1124-L1230) | O catálogo oficial já cobre ISS, Lua e Marte, com nomes correspondentes, e Bennu por um caso científico próprio. Europa é um cenário adicional da referência. Preservar a escolha livre das seis missões oficiais. [Catálogo R25](65-GAME-E-MISSOES-BRUNO-R25.md) |
| Montagem | Cinco grupos com seis veículos e três opções em cada um dos outros quatro grupos. Ficha combina propriedade, efeito de jogo e fato científico. A previsão reage a massa, reserva, custo, dias e capacidade científica. [Componentes](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L340-L692) · [Montagem](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L1517-L1707) | A R25 tem seis grupos com duas opções cada, cálculo ao trocar peça, nave 3D didática, esquema em fallback, inspeção de GLB NASA e controles de teclado. A ficha científica contextual é reaproveitável. [Campanha R25](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/experiments/mission-design-lab/src/ui/BrunoCampaign.tsx) |
| Instrumentos e inventário | Sete fichas já existiam. A carga ocupa slots e peso, com ação por seta e arraste. A versão nova separa loja/carrinho, compra por quantidade antes do lançamento, seleção pelo inventário, contagem de unidades reservadas e devolução de unidade ainda elegível. [Catálogo](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L693-L808) · [Carga e loja](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L1926-L2526) · [Compra e devolução](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L2992-L3134) | `payload` da R25 já muda a evidência e a massa. Loja, slots múltiplos, saldo compartilhado, durabilidade e reserva de unidades entre missões permanecem como trabalho de domínio próprio. |
| Revisão e lançamento | Revisão agrupa nave e carga, mostra saldo atual e previsto, aponta critérios abaixo da meta e permite voltar. A compra avulsa já foi debitada. O lançamento consome os componentes, a operação e um uso de cada unidade utilizada. [Revisão](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L2527-L2718) · [Lançamento](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L3192-L3275) | O hangar R25 mostra indicadores e permite simular inclusive combinações que bloqueiam em T+0. A revisão de projeto pode usar os indicadores e o cálculo existentes, com retorno sem perder escolhas. |
| Execução, relatório e continuidade | A Lua tem introdução visual de três segundos. O relatório resume capacidade científica, dias, despesas, instrumentos e recompensa. A conclusão deposita a recompensa e amplia o nível uma única vez por lançamento. [Relatório](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L2719-L2833) · [Conclusão](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L3159-L3190) | A R25 tem contagem pulável, desvio com movimento reduzido, fases calculadas até a entrega, arquivos produzidos, recebidos e válidos, causas temporais e redesenho com as mesmas escolhas. Continuidade educacional pode aparecer como próxima missão sugerida. [Relatório R25](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/experiments/mission-design-lab/src/ui/BrunoCampaign.tsx) |

Os sete instrumentos são monitor de ar da ISS, detector de nêutrons e radiômetro lunar, analisador ambiental marciano, espectrômetro infravermelho e radar de gelo de Europa e espectrômetro de amostras de Bennu. Cada ficha vincula uma fonte científica e diferencia afinidade, massa, slots, preço e durabilidade didáticos. A R25 tem analogias próprias para ISS, Diviner/LEND e MEDA e usa registros históricos no Bennu. Retorno Bennu do Bruno tem mecânica distinta da expedição histórica. [Catálogo de instrumentos](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L693-L808) · [Perguntas e limites R25](65-GAME-E-MISSOES-BRUNO-R25.md)

### Regras e mídia da versão nova

- O engenheiro começa com **US$ 25 milhões didáticos**. Lançar exige carga-base mais instrumentos dentro da capacidade, slots suficientes e saldo. Sucesso acrescenta massa total inferior a 1.800 kg, reserva de pelo menos 30, ciência de pelo menos 95% e eficiência de pelo menos 5 pontos percentuais por milhão. Capacidade científica soma 25% da confiabilidade média, proteção e bônus ajustados por afinidade. Dias resultam da massa acima de 800 kg e dos fatores de propulsão, proteção e navegação. O custo operacional é de $500 por dia didático. Os limiares e o núcleo do cálculo já estavam no protótipo anterior. [Regras](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/GameRules.md) · [Cálculo](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L1708-L1824)
- A loja debita o valor no checkout e insere unidades com identificador próprio. A edição da nave só muda a previsão. A revisão usa disponibilidade depois das reservas dos outros projetos. Após uso, a unidade perde durabilidade e deixa de ser reembolsável. A recompensa de sucesso é US$ 5 milhões + US$ 1 milhão por nível + US$ 0,1 milhão por ponto percentual de capacidade científica. O código de lançamento ainda calcula custo de reposição para seleções antigas que excedem o estoque disponível. [Compra e devolução](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L2992-L3134) · [Lançamento](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L3192-L3275) · [Conclusão](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/App.tsx#L3159-L3190)
- O visual usa CSS, ícones Lucide, DM Sans e Space Grotesk remotas, marca SVG, favicon e ícones PNG de 192 e 512 px ligados pelo manifesto para modo standalone. A árvore tem zero modelos 3D, áudio, Rive ou service worker. Vercel Analytics e Speed Insights entram pelo cliente. O jogo oficial já tem sistema visual, fontes locais, 3D e métricas próprios. [Estilos](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/index.css) · [Assets](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/tree/fa18fd38439921f97286325b2bdf8c7545d7c776/public) · [Entrada Vercel](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/blob/fa18fd38439921f97286325b2bdf8c7545d7c776/src/main.tsx) · [Assets oficiais](66-PIPELINE-ASSETS-3D-R25.md)

## Fastmode no repositório oficial

O Fastmode é a implementação autônoma em HTML, CSS e JavaScript com M0 Semente, M1 Raízes, M2 Gelo e M3 Travessia tripulada. O código e os dados mostram quatro cenários. O trecho de limitações do README ainda lista itens de uma revisão anterior. O deck de pitch, as capturas e o design ficam em `fastmode/pitch/`, `fastmode/docs/` e `fastmode/design/`. [README](https://github.com/oalexandrebelo/MISSAO-IPE/blob/416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3/fastmode/README.md) · [Dados de design](https://github.com/oalexandrebelo/MISSAO-IPE/blob/416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3/fastmode/design/dados_missao_ipe.json)

| Recurso | De onde tirar a mecânica | Delta para as missões ISS, Lua e Marte |
| --- | --- | --- |
| Objetivo e requisitos | Cartões de objetivos, registro de justificativa e matriz com níveis mín/esp/amb. Os requisitos custam massa e orçamento. A órbita altera cobertura, eclipse, dose e janela. [Fluxo](https://github.com/oalexandrebelo/MISSAO-IPE/blob/416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3/fastmode/js/app.js) · [Cálculo](https://github.com/oalexandrebelo/MISSAO-IPE/blob/416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3/fastmode/js/engine.js) | Tornar os critérios existentes de cada caso visíveis no pré-voo e explicá-los no retorno. Alterar requisitos ou órbita como entrada causal exigiria modelagem científica e versão do motor. |
| Comparação A/B | Captura A e compara B com deltas de massa, custo, ciência, integridade e requisitos. Pode restaurar A. [Comparação](https://github.com/oalexandrebelo/MISSAO-IPE/blob/416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3/fastmode/js/app.js#L724-L753) | A/B pré-voo ou de tentativas para as três missões, usando o mesmo recálculo que a R25. Cerrado, Bennu e Webb já têm comparação própria. [Comparação R23](61-BANCADA-COMPARACAO-E-LIBRAS-R23.md) |
| Operações | Seis turnos com baralho por semente e escolhas que alteram integridade, ciência, custo, dano e, quando aplicável, saúde e dose. A régua Fastmode distribui 1.000 pontos em cinco blocos. [Turnos e pontuação](https://github.com/oalexandrebelo/MISSAO-IPE/blob/416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3/fastmode/js/engine.js) | A execução R25 já tem causalidade de lançamento à entrega. Decisões em voo com efeitos reais requerem entrada versionada do motor, eventos e recálculo no servidor. Uma revisão de quatro papéis pode registrar os papéis existentes somente ao concluir a revisão. [Contrato de métricas](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/server/metrics/model.mjs#L49-L86) |
| Retomada e saída | Recorde por missão em armazenamento local, relatório com impressão e código do projeto na URL. O código e o rascunho guardam a semente e a arquitetura. Após restaurar, o Fastmode abre a bancada ou objetivo. O código de projeto não contém escolhas dos turnos. [Persistência](https://github.com/oalexandrebelo/MISSAO-IPE/blob/416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3/fastmode/js/app.js) · [Codificação](https://github.com/oalexandrebelo/MISSAO-IPE/blob/416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3/fastmode/js/engine.js) | Retomar projeto da participação e exportar evidência usando mecanismos oficiais. Recorde já existe no lobby e o progresso tem exportação JSON. Impressão do relatório pode usar os resultados reais exibidos. [Progresso oficial](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/experiments/mission-design-lab/src/ui/PlayerMetrics.tsx) |

O Fastmode usa paletas por destino, horizonte, partículas e animação de lançamento. O som é gerado por osciladores WebAudio. O modo de quatro papéis usa estado local para assinaturas e resolução de veto. O material de design descreve referências REA e CSA. A integração é verificável diretamente nessas fontes, nos motores oficiais e na interface publicada. [Motor visual](https://github.com/oalexandrebelo/MISSAO-IPE/blob/416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3/fastmode/js/fx.js) · [Controles e estado](https://github.com/oalexandrebelo/MISSAO-IPE/blob/416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3/fastmode/js/app.js) · [Referências do Fastmode](https://github.com/oalexandrebelo/MISSAO-IPE/blob/416c1f93b2c6557f98c4e8e7f8dc2a20b6dea7b3/fastmode/README.md)

## Integração e aceite

1. **Entrada, rascunho e revisão.** Mostrar o guia acessível no fluxo vigente. Salvar fase e escolhas válidas por missão e sessão, com reinício restrito à missão escolhida. Reusar a bancada 3D e o contexto de Libras. Conferir retorno à mesma montagem após recarga, manutenção das outras missões e acesso em 320/390 px, teclado, movimento reduzido e WebGL indisponível.
2. **A/B, execução e entrega.** Comparar escolhas e diagnósticos do motor vigente. Conferir ISS inicial com 0 válidos e proteção reforçada com 6, Lua com distinção entre coleta e recepção e Marte com bloqueio em T+0 e sucesso após redesenho. O indicador de progresso deve distinguir prévia, execução e replay. [Reteste R25](65-GAME-E-MISSOES-BRUNO-R25.md)
3. **Métricas.** O servidor aceita as seis missões oficiais e recalcula ISS/Lua/Marte a partir da configuração da tentativa. Preservar `ipe-bruno-r25-v1`, pontuação de 60/30/10 e `decision` apenas em mudança efetiva. Reservar `attempt` concluída para execução real, uma vez, e conferir o resultado atrás da sessão privada. Reabrir um resultado, comparar projetos e ver um replay são ações distintas da nova tentativa. O contrato de `role_review` já aceita lançamento, nave, solo e usuários. [Motor R25](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/experiments/mission-design-lab/src/lab/bruno-missions.ts) · [Contrato e recálculo](https://github.com/oalexandrebelo/MISSAO-IPE/blob/4ba5ddb92ef08ac283d1dc097766eebef045a3d1/server/metrics/model.mjs#L49-L86)
4. **Carga múltipla e expansão.** Implementar inventário, loja e desgaste em conjunto se esses estados afetarem a tentativa. O aceite exige que compra, devolução, reserva, uso e limite de slots convirjam para um estado após recarregar e após repetir uma ação. Qualquer novo parâmetro causal precisa de versão e validação compatíveis com as configurações gravadas. Europa precisa de pergunta, fonte e limites próprios antes de entrar no catálogo oficial. A colaboração preservada permite a revisão por dois desenvolvedores. [Fonte de Bruno](https://github.com/bruno-assis-carvalho/missao-ipe-deploy/commit/fa18fd38439921f97286325b2bdf8c7545d7c776) · [Limites didáticos oficiais](65-GAME-E-MISSOES-BRUNO-R25.md)
