Cada fase, validada em partidas reais
Uma fase não termina quando “o código está escrito”, e sim quando “foi medida e conferida em partidas reais”. A evidência de cada item abaixo vem de testes em partidas reais numa instância de teste da 1.27.
- P0
Via rápida + fachada do SDK
ConcluídoCada cliente com uma via exclusiva, sem lock, executada em lote na distribuição de eventos da thread do jogo; fachada pública Game + Bot; nova estrutura de diretórios.
Aceitação Resultados idênticos aos do canal antigo, item por item; latência e vazão sob concorrência; Bots de exemplo rodando de ponta a ponta.
Verificação 30/30 idênticaMediana com 6 processos em paralelo 67 ms → 0.06 msVazão 88 → 3000 cmd/s - P1
Comandos semânticos + recibos
ConcluídoMover, atacar, coletar, construir, treinar, lançar feitiços, aprender habilidades, reviver, usar itens, comprar… cada um com recibo e código de motivo; a fachada do SDK usa só isso.
Aceitação Todos os scripts de verificação em partidas reais passam — cada tipo de comando foi dado numa partida real e teve o efeito lido de volta.
Verificação em partida real 41/41 (depois ampliada para 73/73)15 opcodes + recibos - P2
Camada de informação em tempo real
ConcluídoEstado do mundo enviado + árvores + fluxo de eventos — mana, recargas, inventário, buffs e quem está atacando entram no snapshot; itens deixam de passar pelo log.
Aceitação 0 chamadas à thread do jogo para ler essas informações; conferência unidade por unidade com o snapshot antigo; nenhum evento perdido na partida inteira.
Conferência unidade por unidade 112/1120 eventos perdidos na partida inteiraUma coleta 11.8 → 0.58 ms - P3
Migração do cérebro de referência
ConcluídoCérebro de referência, camada reflexa, console, balões e diretor passam todos a usar o W3P; bloco do mapa, eventos de dano / abate em nível de motor, comandos semânticos de câmera e HUD.
Aceitação Todas as verificações em partidas reais passam; o cérebro de referência tem 0 erros de tarefa na partida inteira, e os 4 módulos da camada reflexa, 0 erros.
Verificação em partida real 72/72Uma rodada de decisão 0.15~0.56 s → 0.02~0.07 s⏳ Comparação de taxa de vitória em ≥ 50 partidas pendente - P5
Permissões e perspectiva
ConcluídoPapéis de via player / observer; máscara de visibilidade por unidade; modo justo do SDK e memória de inimigos.
Aceitação Ordens de observer são rejeitadas, e player não comanda unidades de outros; o modo justo só enxerga a própria visão.
Isolamento de papéis aprovado em partidas reaisModo justo 4/4 - P5+
Capacidades de nível profissional
ConcluídoTabela de produção e progresso, dia e noite, atributos de combate e counters, caminhos por terra, fila com Shift / caminhos / construção em sequência / cancelar / atacar o chão, ordens em lote, tempo de execução de cada comando; manual do Bot, receitas de jogo pro, quatro exemplos.
Aceitação Cada item tem teste offline + verificação em partida real.
Produção 12/12Comandos em fila 7/7Atributos de combate 4/4Caminhos 4/4micro_bot: 5 minutos, 3023 comandos, 0 erros - EX
Extensões de jogo
ConcluídoCanvas (caixas de texto, painéis, barras de progresso, imagens, círculos e rotas colados ao chão, desenhados pelo runtime, seguro em multijogador); canal JASS (1291 funções chamadas pelo nome — console Farsight, linha de comando, HTTP, Python); framework de companheiro de RPG (quatro modos; seguir / ajudar / curar; comandos de chat, diálogo com retrato, falas de LLM local); leitura dos nomes de unidades de mapas personalizados; esquemas de IA (trocar, exportar, importar, confiança, resultados).
Aceitação Rodado em partidas reais nos mapas RPG da instância de teste — custo por frame do canvas e acompanhamento de unidades; o efeito de cada função JASS, uma a uma; o companheiro segue, ajuda e recua durante a partida inteira e volta a seguir depois de ser revivido; troca de esquema no meio da partida, assumindo a partida em andamento.
Canvas: 9 elementos, 0.27~0.34 ms por frameCanal JASS 18/1894 funções com o efeito conferido uma a umaNomes de unidades lidos em 37 de 38 mapas RPG - EX+
Interface e entrada · mods · gateway · MCP
ConcluídoInterface e entrada (botões e cartões de escolha desenhados e clicáveis, teclas de atalho, cliques no chão, ponto do chão sob o cursor do mouse, seleção local; desenhados abaixo do cursor do mouse); eventos completados (feitiço lançado, jogador saiu, seleção mudou, mensagens na tela e texto completo do chat, saída da partida); mods de jogabilidade (tipo de esquema mod, com dois exemplos, Roguelike de Heróis e Defesa Infinita); gateway (WebSocket / JSON, três papéis dev / jogador / observador, cliente JS e página de demonstração no navegador); servidor MCP (10 ferramentas).
Aceitação Verificado item por item em partidas reais: clicar em botões desenhados, apertar teclas de atalho, clicar no chão, lançar feitiços, chat, derrotar o computador, sair da partida; gateway e MCP chamados um a um conectados a uma partida; os fluxos principais dos dois mods rodados em partidas reais; MCP conectado de verdade no Claude Code.
Interface e entrada 16/16Gateway + MCP 16/1610 ferramentas conectadas de verdade no Claude CodeBotões desenhados abaixo do cursor do mouse - v1
Lançamento público
Em breveRuntime (1.27) + SDK em Python + especificação do protocolo + cérebro de referência + quatro exemplos + dois mods de jogabilidade + gateway e servidor MCP + console Farsight, diretor e balões + toda a documentação, lançados juntos.
Aceitação Todos os testes passam; todas as verificações em partidas reais passam; o checklist pré-lançamento foi cumprido item por item.
- P4
Compatibilidade com várias versões
PlanejadoProfile (tabela de símbolos) por versão do jogo → assinatura como fallback → autoteste na inicialização → lista de capacidades; validado numa segunda versão.
Aceitação Na segunda versão, a matriz de capacidades é gerada automaticamente, e as capacidades verificadas funcionam normalmente.
- P6
Arena
PlanejadoProcesso árbitro + dois slots; filtro de visão, verificação de propriedade, ticks pelo tempo de jogo, registros reproduzíveis. O gateway WebSocket / JSON já está pronto; falta um árbitro em quem todos confiem.
Aceitação Dois Bots externos jogam na mesma partida até haver um vencedor.
O que ainda falta
- Comparação de taxa de vitória antes e depois da migração do cérebro de referência (≥ 50 partidas, mesma versão)
- Disjuntor de capacidades — uma capacidade que falha seguidamente → marcada como indisponível, com evento; as outras seguem normais
- Logs do runtime em arquivos separados por instância, com rotação
- Decisão do resultado por programa (experimento de fundação 4 da Arena)
- Site de esquemas: upload com um clique no Farsight, download e instalação pelo site, taxa de vitória agregada por versão
- Ligar o companheiro ao texto completo do chat (o runtime já consegue ler o que o jogador digita), para ele conversar livremente de verdade
- Canal de sincronização para partidas multijogador: hoje, jogabilidades que alteram o mundo (criar unidades, mudar atributos, mods de jogabilidade) só funcionam em partida solo