Log do Projeto
Este documento preserva decisões, mudanças, descobertas e validações do Weave Network. Ele existe para que uma pessoa ou agente consiga reconstruir rapidamente o estado do projeto e entender por que uma regra mudou.
O roadmap mostra o próximo destino. As especificações descrevem a regra vigente. Este log explica o caminho percorrido e as evidências disponíveis.
Regras do log
- Entradas são cronológicas e não devem ser removidas quando uma decisão muda.
- Correções de texto que não alteram significado podem ser feitas diretamente.
- Mudanças de significado criam uma nova entrada.
- Uma decisão substituída aponta para a entrada nova; a entrada nova referencia a anterior.
- Uma decisão aceita não é automaticamente implementada.
- Código implementado não é automaticamente validado.
- Observações em jogo são evidências, não decisões por si mesmas.
- Commits e PRs devem ser adicionados quando existirem.
- Fatos, hipóteses e riscos devem ser escritos separadamente.
Tipos e estados
| Prefixo | Uso |
|---|---|
DEC | Decisão de produto, arquitetura ou processo. |
CHG | Mudança implementada. |
FND | Descoberta, divergência ou possível problema. |
TST | Resultado de validação manual ou automatizada. |
DES | Definição de gameplay, visual, lore ou experiência. |
HIST | Registro importado do histórico anterior a este log. |
Estados usuais: proposta, aceita, implementada, validada, rejeitada e substituída.
Modelo para novas entradas
## DEC-AAAA-MM-DD-NNN — Título curto
**Tipo:** decisão de arquitetura
**Estado:** aceita
**Área:** topologia
**Substitui:** nenhuma
**Substituída por:** nenhuma
### Contexto
Motivo da entrada.
### Registro
Decisão, mudança, descoberta ou resultado.
### Impacto e pendências
O que isso altera e o que continua aberto.
### Evidências
- Especificação: caminho ou link
- Commit: hash ou pendente
- PR: número ou pendente
- Validação: descrição ou pendente
Snapshot atual
Data de referência: 10/09/2026.
- Branch de trabalho:
devpara o Marco 1; o Marco 0 foi consolidado namain. - Minecraft 1.21.1, Java 21 e NeoForge 21.1.250.
- Build compila e o cliente de desenvolvimento foi aberto.
- O histórico Git foi recuperado.
- O projeto possui implementação extensa até Anchor/Gate, mas não possui um ciclo completo em survival.
- Builds internas usam
mod_version=0.0.0-dev; ainda não houve release pública comprovada por tag. - Estado detalhado e próximos marcos: Roadmap até 1.0.
HIST-2026-02-001 — Desenvolvimento inicial
Tipo: histórico importado Estado: implementado; regressão atual parcial Área: projeto inteiro Substitui: nenhuma Substituída por: nenhuma
Contexto
Entre 01/02/2026 e 17/02/2026, o repositório recebeu o bootstrap e a maior parte do protótipo técnico. O backlog antigo tratava várias etapas como Done. Esse termo indicava conclusão no contexto da época, mas não representa validação na build retomada.
Registro
| Linha histórica | Conteúdo registrado | Estado na retomada |
|---|---|---|
| Bootstrap a v0.4 | Registros, blocos, runtime, IO, multipart e binding por Fiber. | Implementado; regressão pendente. |
| v0.4.1 | Hardening do runtime, estados e dumps. | Implementado; divergências documentais encontradas. |
| v0.5 | Scheduler central, tiers e tuning. | Implementado; política precisa de regressão. |
| v0.6 | Máquina de estados operacionais. | Implementado; comportamento em brownout precisa de decisão. |
| v0.7 | Buffer, contenção e transporte de FE. | Implementado; alimentação do Controller evoluiu na retomada. |
| v0.8 cancelada | Buffers internos de Port foram implementados e removidos. | Decisão histórica preservada. |
| v0.8.1–0.8.3 | Fluidos, redstone e infraestrutura de IO por face. | Parcial: IO por face não está aplicado a todos os payloads. |
| v0.9–0.9.5 | Condenser, Strain, feedback e estrutura de modelos por tier. | Implementado; validação atual pendente. |
| v0.10–0.10.4 | Linking, Anchors, custos e schedulers multidimensionais. | Parcial; requisito Link não é aplicado em todo o caminho. |
| v0.11–0.11.1 | Gate, binding intrínseco com Anchor e portal. | Parcial; topologia e todos os payloads precisam de validação. |
Evidências
- Commits históricos:
98d5296,b3e9e08,c1d4a85,df8aa62,f9221b5,22e1969,80f70cd,9138152,36c2207,33364ff,17bbeeb,40f8ce3,066162d,7db7784. - Especificações: diretórios
docs/02_arquitetura,docs/03_sistemasedocs/04_progressao_player. - Validação atual: parcial; ver entradas de setembro de 2026.
FND-2026-09-09-001 — Auditoria estática da retomada
Tipo: descoberta
Estado: validada por inspeção do repositório
Área: baseline
Substitui: nenhuma
Substituída por: DEC-2026-09-10-004, quanto à identidade da versão
Contexto
O projeto foi retomado após uma pausa desde fevereiro de 2026. A primeira inspeção ocorreu antes de o ambiente Java e o Git estarem novamente disponíveis.
Registro
- Minecraft configurado como 1.21.1, NeoForge 21.1.219 e Java 21.
mod_version=0.7.0, enquanto commits e backlog descreviam trabalho posterior.- Grafo, scheduler, quatro payloads, estados, tiers, Condenser, Anchor e Gate estavam presentes no código.
- Loom e Stabilizer possuíam BlockEntities vazias.
- Tuning Key estava registrada como item comum; Debug Wrench concentrava funções de desenvolvimento.
- Não foram encontradas receitas de gameplay nem interfaces completas.
- Foram encontrados 57 modelos de bloco e 69 arquivos de textura.
- Não foram encontrados arquivos
.bbmodel. - Não havia suíte de testes automatizados descoberta naquele momento.
Impacto e pendências
A retomada passou a priorizar baseline verificável, integridade da rede, fundação visual e uma alpha T0–T1. Nenhum sistema histórico deve ser considerado validado apenas pela presença de código ou por status antigo do backlog.
Evidências
- Inspeção dos arquivos em
src/main,docs,build.gradleegradle.properties. - Commit: não aplicável.
- PR: #1.
CHG-2026-09-10-001 — Atualização do ambiente de desenvolvimento
Tipo: mudança de infraestrutura Estado: validada Área: build Substitui: versões anteriores do ambiente Substituída por: nenhuma
Registro
- NeoForge: 21.1.219 → 21.1.250.
- ModDevGradle: 2.0.140 → 2.0.146.
- Gradle Wrapper: 9.2.1 → 9.7.1.
- SHA-256 oficial adicionado à distribuição Gradle.
- Parchment 2024.11.17 e Foojay Resolver 1.0.0 mantidos.
- Sintaxe de atribuição da URL de publicação atualizada para a forma suportada pelo Gradle atual.
Impacto e pendências
O metadata gerado passa a exigir NeoForge 21.1.250 ou superior. Minecraft permanece em 1.21.1 e Java permanece em 21. Os blocos ainda precisam de regressão completa nessa combinação.
Evidências
- Build e geração do JAR concluídas.
./gradlew.bat build --warning-mode allpassou após a atualização.- Commit:
81901f7—chore: update NeoForge and Gradle toolchain. - Fontes de versão: Maven NeoForge, Gradle Plugin Portal e serviço oficial de versões do Gradle.
- PR: #1.
TST-2026-09-10-001 — Primeira validação prática da rede retomada
Tipo: teste manual Estado: parcial Área: payloads e topologia Substitui: nenhuma Substituída por: nenhuma
Registro
O jogador observou na build em execução:
- itens transferindo na mesma dimensão;
- FE transferindo na mesma dimensão;
- itens transferindo entre dimensões;
- FE entre dimensões sem confirmação;
- fonte energética de suporte: reator do Powah;
- Anchor e Gate funcionando em uma montagem cujo Controller inspecionado era T4;
- dump desse Controller mostrando
anchors=0,gates=0eacceptNetworkEnergy=true.
Impacto e pendências
O zero no dump foi inicialmente interpretado como falha de contagem. A revisão das especificações mostrou que a rede T4 não deveria sustentar Anchor/Gate. Essa interpretação foi substituída por DEC-2026-09-10-002.
Ainda falta registrar a montagem exata de cada rede, faces configuradas, chunks carregados e destino usado no teste interdimensional de FE.
Evidências
- Teste manual e captura de tela fornecidos pelo usuário.
- Mods auxiliares disponíveis em
run/mods. - Commit: não aplicável.
- PR: #1.
DEC-2026-09-10-001 — Controller pode receber FE diretamente da própria rede
Tipo: decisão de arquitetura e gameplay Estado: aceita; implementação parcial e validação em mundo pendente Área: energia Substitui: comportamento em que apenas fonte externa ou Port adjacente alimentava o Controller Substituída por: nenhuma
Contexto
O Controller expunha acceptNetworkEnergy=true, mas o scheduler não o tratava como destino. Foi esclarecido que o Controller deve ser o único bloco, além da Port, capaz de interagir diretamente com a rede para receber FE, sem exigir uma Port encostada nele.
Registro
- O Controller participa como destino direto da etapa de FE quando
acceptNetworkEnergyestá habilitado. - O Controller deve ter prioridade absoluta enquanto precisar de energia: sem Controller sustentado, não há rede.
- A implementação atual o escolhe antes das saídas comuns dentro da etapa de FE, mas ainda não garante prioridade global sobre os demais payloads.
- Uma única Port INPUT ligada a uma fonte pode alimentar o Controller pela rede.
- A alimentação continua sujeita ao estado, canais e taxa do scheduler.
- Uma rede completamente colapsada ainda necessita de uma política explícita de bootstrap; a implementação atual não cria uma exceção de partida.
- Uma opção para desativar essa prioridade poderá existir futuramente; ela não faz parte do comportamento padrão atual.
Impacto e pendências
- Implementar a prioridade absoluta antes do restante do transporte.
- Definir o comportamento de bootstrap, brownout, collapse e reboot.
- Avaliar se
acceptNetworkEnergydeve continuar controlando também a capability externa. - Validar com Powah em mundo.
Evidências
- Código:
WeaveEnergyScheduler.javaeWeaveRuntime.java. - Regressão executável:
EnergyRegressionTest.java. - Build passou com
energyRegressionTest. - Commit:
12cb077—fix: feed controller from network energy. - PR: #1.
CHG-2026-09-10-002 — Seleção e conservação de FE endurecidas
Tipo: mudança implementada Estado: validada por regressão isolada; mundo pendente Área: energia e compatibilidade Substitui: seleção do primeiro vizinho com capability Substituída por: nenhuma
Registro
- O scheduler coleta capabilities vizinhas e usa simulação para escolher uma fonte ou destino atualmente utilizável.
- Uma fonte vazia ou receptor cheio deixa de esconder outro endpoint válido.
- A extração é limitada ao valor que o destino informou aceitar em simulação.
- Autotransferência é bloqueada.
- Consultas evitam chunks ausentes.
- Divergência de handlers entre simulação e execução continua usando devolução por melhor esforço.
Evidências
energyRegressionTestverifica seleção, recebimento pelo Controller, conservação, destino quase cheio e autotransferência../gradlew.bat build --warning-mode allpassou.- O compilador ainda informa uso de API depreciada no scheduler de FE.
- Uma tentativa de
cleanfalhou por JARs em uso; o build normal posterior passou. - Commit:
12cb077—fix: feed controller from network energy. - PR: #1.
DEC-2026-09-10-002 — Anchor e Gate exigem uma rede sustentadora Link
Tipo: decisão de arquitetura e gameplay
Estado: aceita; implementação parcial
Área: topologia e progressão
Substitui: interpretação em TST-2026-09-10-001 de que o dump deveria contar Anchor/Gate em T4 comum
Substituída por: nenhuma
Contexto
Após observar Anchor/Gate funcionando numa montagem T4, a primeira hipótese foi de que apenas o dump estivesse incorreto. A revisão das especificações mostrou que o funcionamento nessa rede é o problema real.
Registro
- Anchor só pode estender uma rede T5 Link, formada por Reinforced Core e Link Singularity.
- Gates devem ser sustentados por uma rede intermediadora T5 Link.
- A rede externa que atravessa Gates pode ser normal, Flow, Density ou outro tipo permitido.
- A intermediadora não processa os payloads externos; sustenta o portal.
- Contagem e custo no dump continuam condicionados ao suporte Link e não foram ampliados para T4 comum.
Impacto e pendências
- A busca multidimensional atravessa Anchors linkados sem validar
supportsAnchorGate; essa brecha deve ser fechada no Marco 1. - A entrada do Gate já valida que a rede intermediadora está ONLINE e suporta Anchor/Gate, mas os dois extremos e demais invariantes precisam de revisão.
- Dumps futuros devem diferenciar bloco registrado de link válido e ativo.
Evidências
- Anchor e Gate.
- Tiers e decisões.
- Código:
WeaveRuntime.findControllerIdViaFibereWeaveRuntime.isLinkNetworkValid. - Commit: pendente.
- PR: #1.
DEC-2026-09-10-003 — Governança de roadmap e histórico
Tipo: decisão de processo Estado: implementada Área: documentação Substitui: backlog único que misturava versões futuras, especificações e histórico Substituída por: nenhuma
Registro
- O roadmap usa marcos e critérios de saída, sem inventar versões para features futuras.
- Versões são escolhidas apenas quando houver uma build candidata a release.
- Especificações guardam a regra vigente; roadmap guarda direção; este log guarda história e evidências.
- Entradas substituídas permanecem visíveis e possuem referências bidirecionais.
- Referências diretas ao antigo versionamento futuro foram atualizadas nas especificações de Anchor/Gate, Condenser e Upgrades; as demais especificações ainda serão auditadas no Marco 0.
- Os documentos temporários
09_retomada_2026_09.mde10_validacao_rede_2026_09.mdforam absorvidos neste log e removidos.
Evidências
- Roadmap até 1.0.
- Discussão de retomada em 10/09/2026.
- Commit:
7bbbcf1—docs: replace version backlog with milestone roadmap. - PR: #1.
CHG-2026-09-10-003 — Build estático da documentação restaurado
Tipo: correção de documentação e ambiente
Estado: validada localmente; integração na main pendente
Área: Docusaurus e deploy na Vercel
Substitui: objetos de status escritos como expressões MDX e faixa aberta de Node >=20.0
Substituída por: nenhuma
Contexto
O deploy da Vercel para a main, no commit 09bcec1, compilava o site, mas falhava durante a geração estática da rota /docs/sistemas/anchor_gate com ReferenceError: isLinked is not defined.
Registro
- As representações dos retornos de
getAnchorStatusegetGateStatusestavam fora de código inline. O MDX interpretava as chaves como expressões JavaScript e tentava resolverisLinkeddurante a renderização no servidor. - Os dois objetos de status passaram a usar código inline, preservando o conteúdo literal.
- O engine do site foi fixado em Node
24.x, também no lockfile, para impedir que a faixa aberta selecione automaticamente uma futura versão principal na Vercel. - Os avisos de
caniuse-litedesatualizado e de vulnerabilidades donpm auditnão eram a causa desta falha e não foram tratados por atualização automática de dependências.
Evidências
node --run buildpassou com Node24.19.0e Docusaurus3.9.2para os localesenept-BR.- Os arquivos estáticos foram gerados em
website/buildewebsite/build/pt-BR. - Commit:
8c864f8—fix(docs): escape MDX status objects. - PR: #1.
DEC-2026-09-10-004 — Versões passam a identificar somente releases reais
Tipo: decisão de processo e release
Estado: aceita e implementada
Área: versionamento, build e documentação
Substitui: uso dos números 0.3.1 a 0.11.1 como marcos de implementação e a pendência registrada em FND-2026-09-09-001
Substituída por: nenhuma
Contexto
O artefato ainda declarava 0.7.0, embora o código contivesse trabalho rotulado internamente até 0.11.1. O pacote privado do Docusaurus declarava 0.3.1, enquanto seu lockfile declarava 0.0.0. A auditoria do histórico local e das referências remotas não encontrou tags de release.
Registro
- Os números
0.3.1a0.11.1representam linhas históricas de desenvolvimento, não releases comprovadas. - Esses números permanecem apenas em
HIST-2026-02-001e nas evidências cronológicas deste log. - Builds do mod sem intenção de distribuição usam
0.0.0-dev. - O pacote privado da documentação usa nome
weave-network-docse versão técnica0.0.0, sem relação com a versão do mod. - A próxima versão pública será escolhida quando existir uma build candidata com escopo, validação e tag próprios.
- Especificações e comentários vigentes descrevem capacidade e estado, sem atrelar trabalho futuro a versões inventadas.
Evidências
git tage as tags do remoto não retornaram nenhuma release.- O histórico contém commits de bump e commits de feature posteriores ao último bump declarado.
- O JAR gerado passou a ser
weave_network-0.0.0-dev.jar, comversion="0.0.0-dev"no metadata NeoForge. - Commit:
320cbae—chore: reconcile development version.
TST-2026-09-10-002 — Baseline automatizada após reconciliação
Tipo: validação automatizada
Estado: validada dentro da cobertura existente
Área: build, energia e documentação
Substitui: nenhuma
Substituída por: TST-2026-09-10-003, quanto à cobertura automatizada vigente
Registro
./gradlew.bat build --warning-mode allpassou com Java 21 e gerou o JAR0.0.0-dev.energyRegressionTestpassou e continua sendo a única regressão determinística específica descoberta no projeto.- O source set de testes convencional permanece
NO-SOURCE. node --run buildpassou no Docusaurus para os localesenept-BR.- A build não valida itens, fluidos, redstone, lifecycle, topologia em mundo ou compatibilidade com os mods presentes em
run/mods.
Impacto e pendências
A baseline automatizada está verde, mas não basta para encerrar o Marco 0. A próxima validação deve preencher a matriz mínima dos blocos em mundo e separar claramente o que foi observado do que apenas compila.
Evidências
- Saída do Gradle em 10/09/2026:
BUILD SUCCESSFULeFE regression checks passed. - Saída do Docusaurus em 10/09/2026: arquivos estáticos gerados para
enept-BR. - Commit:
83d6692—docs: record version reconciliation baseline.
FND-2026-09-10-002 — Contratos de Port incompletos no core
Tipo: descoberta técnica Estado: corrigida e protegida por regressão Área: core, Ports e canais Substitui: nenhuma Substituída por: nenhuma
Contexto
A criação da primeira suíte ampla do core exerceu diretamente os contratos INodePort, em vez de depender apenas do comportamento observado no runtime Minecraft.
Registro
WeaveNodePortainda devolvia valores vazios para identidade, owner, atividade, suporte a payloads e reserva de canais.WeavePortainda devolvia valores vazios paraownerNodeId, capacidade de canais e suporte a payloads.- Esses stubs permitiam que o projeto compilasse e que caminhos mais externos funcionassem sem garantir o contrato público do core.
- Os dois tipos passaram a expor owner, identidade, atividade, capacidade e payloads, além de aplicar o limite de reserva e liberação de canais.
Impacto e pendências
As Ports agora possuem um contrato executável e coberto. O uso desses canais pelo runtime completo e a configuração por face continuam pertencendo aos marcos seguintes.
Evidências
CoreRegressionTest.testPortContractscobre identidade, owner, atividade, payloads e limite de canais../gradlew build --warning-mode allpassou após a correção.- Commit:
fd03db3—test: automate core and world regressions.
CHG-2026-09-10-004 — Suíte automatizada integrada ao build
Tipo: mudança de infraestrutura e testes
Estado: implementada e validada
Área: build, core e runtime NeoForge
Substitui: ausência de uma suíte base para topologia em mundo descrita em FND-2026-09-09-001
Substituída por: nenhuma
Registro
- O source set
regressionpassou a executar tambémCoreRegressionTest. - O
checkdepende das regressões de core e FE e dorunGameTestServer; portanto, o build padrão falha se qualquer uma dessas camadas falhar. - O GameTestServer usa
run-gametest, isolado dos mods auxiliares instalados emrun/mods. - Foi adicionada uma estrutura vazia reutilizável para testes de mundo.
- Os primeiros GameTests verificam a criação de todos os BlockEntities da baseline, o caráter stateless da Fiber, o binding Controller–Fiber–Port e o unbind após a quebra da Fiber.
Impacto e pendências
A baseline agora detecta regressões rápidas do core e regressões reais de bloco em servidor. Ainda faltam testes automatizados para os quatro payloads, persistência e reload, unload de chunk, dimensões, topologias T5 Link e integração com mods auxiliares.
O teste de estados registra o comportamento implementado no momento: BROWNOUT permite scheduling degradado. Isso preserva a baseline enquanto a decisão de gameplay continua aberta; não resolve a divergência documental.
Evidências
CoreRegressionTest.java.WeaveBaselineGameTests.java.data/weave_network/structure/empty.nbt.- Build integrado executado em 10/09/2026.
- Commit:
fd03db3—test: automate core and world regressions.
TST-2026-09-10-003 — Primeira baseline automatizada multicamada
Tipo: validação automatizada
Estado: validada dentro da cobertura declarada
Área: core, energia, blocos e topologia mínima
Substitui: TST-2026-09-10-002, quanto à cobertura automatizada vigente
Substituída por: TST-2026-09-10-004, quanto à cobertura de GameTests vigente
Registro
coreRegressionTestpassou cobrindo RingBuffer, ciclo de IO, contratos e canais de Port, lifecycle e cursor do grafo, fallback de tiers, capacidade Link, estados, histerese e orçamento do scheduler.energyRegressionTestpassou cobrindo seleção de endpoints, alimentação do Controller, conservação de FE, destino quase cheio e autotransferência.- O GameTestServer isolado executou três testes obrigatórios e informou
All 3 required tests passed. - O servidor carregou somente Minecraft, NeoForge e Weave Network; mods auxiliares não participam desse resultado.
./gradlew build --warning-mode allexecutou as três camadas e terminou comBUILD SUCCESSFULem 16 segundos.
Impacto e pendências
A validação reduz a necessidade de repetir manualmente os comportamentos fundamentais já cobertos. Ela ainda não encerra a matriz mínima do Marco 0, pois itens, fluidos, redstone, FE em mundo e os cenários multidimensionais permanecem fora dos GameTests.
Evidências
- Saída do Gradle em 10/09/2026:
Core regression checks passedeFE regression checks passed. - Saída do GameTestServer em 10/09/2026: três testes obrigatórios aprovados.
- Commit:
fd03db3—test: automate core and world regressions.
DEC-2026-09-10-005 — Fluxo de branches muda após o Marco 0
Tipo: decisão de processo Estado: aceita Área: Git e integração Substitui: nenhuma Substituída por: nenhuma
Registro
- Durante o Marco 0, mudanças validadas são commitadas diretamente na
mainpara consolidar a baseline recuperada. - A partir do Marco 1, o desenvolvimento ocorre na branch
dev. - A
mainrecebe o trabalho do Marco 1 e dos marcos seguintes por pull request quando o respectivo marco estiver concluído.
Impacto e pendências
O encerramento do Marco 0 passa a ser também o ponto formal de mudança do fluxo de integração. Commits diretos realizados durante a recuperação não definem o processo dos marcos seguintes.
Evidências
- Orientação do mantenedor registrada em 10/09/2026.
CHG-2026-09-10-005 — GameTests cobrem schedulers locais de payload
Tipo: mudança de testes Estado: implementada e validada Área: itens, fluidos e redstone Substitui: nenhuma Substituída por: nenhuma
Registro
- O scheduler de itens é exercitado contra dois baús vanilla e precisa conservar a pilha ao mover oito itens.
- O scheduler de fluidos é exercitado através da capability NeoForge de caldeirões e precisa mover um balde de água.
- O scheduler de redstone é exercitado contra um bloco de redstone e precisa propagar intensidade 15 para a Port de saída.
- Destinos cheios de itens e fluidos precisam deixar a fonte inalterada.
- A remoção da fonte de redstone precisa limpar o sinal anteriormente emitido.
Limite da validação
Os testes usam Ports e endpoints reais no mundo, mas constroem o WeaveGraph diretamente e invocam cada scheduler. Eles validam resolução de mundo, capabilities e conservação do payload sem afirmar que Controller, energia de contenção e máquina de estados estejam integrados nesse mesmo cenário.
FE permanece coberto pela regressão determinística. Não existe armazenamento FE vanilla adequado para o mesmo GameTest; a integração em mundo será coberta pela futura camada de compatibilidade com mods auxiliares.
Evidências
- Commits:
6971a50—test: cover local payload schedulers in world;8ea2ff2—test: protect payload endpoint edge cases.
TST-2026-09-10-004 — Oito GameTests da baseline aprovados
Tipo: validação automatizada
Estado: validada dentro da cobertura declarada
Área: blocos, topologia mínima e schedulers locais
Substitui: TST-2026-09-10-003, quanto à cobertura de GameTests vigente
Substituída por: TST-2026-09-10-005, quanto à cobertura de GameTests vigente
Registro
- Os três testes anteriores de BlockEntities, binding e quebra de Fiber continuam aprovados.
- Itens, fluidos e redstone passaram nos caminhos positivos em mundo.
- Itens e fluidos passaram com destino cheio sem consumo da origem.
- Redstone voltou a zero depois da remoção da fonte.
- O GameTestServer informou
All 8 required tests passed. coreRegressionTesteenergyRegressionTesttambém passaram no mesmo build../gradlew build --warning-mode allterminou comBUILD SUCCESSFUL.
Impacto e pendências
Os schedulers locais de três payloads deixam de depender apenas de testes manuais. A matriz do Marco 0 continua aberta para o fluxo completo pelo runtime, FE em mundo, persistência, unload e cenários multidimensionais.
Evidências
- Execução automatizada em 10/09/2026.
- Commits de teste:
6971a50e8ea2ff2.
FND-2026-09-10-003 — Remoção de Port deixava registro no grafo
Tipo: descoberta técnica Estado: corrigida e protegida por GameTest Área: lifecycle e topologia Substitui: nenhuma Substituída por: nenhuma
Contexto
A revisão do lifecycle mostrou que Controller, Anchor e Gate limpavam o runtime em setRemoved(), enquanto WeavePortBlockEntity não implementava a mesma etapa.
Registro
- Uma Port quebrada deixava sua posição registrada no
WeaveGraphaté uma reconstrução posterior. - O endpoint ausente não transferia payload, mas continuava afetando contagem, observabilidade e potencialmente custos da topologia.
- A Port agora chama
WeaveRuntime.unregisterPortao ser removida do mundo.
Evidências
- GameTest
breakingPortUnregistersItFromGraph. - Commit:
7b321f9—fix: clean runtime state when ports are removed.
CHG-2026-09-10-006 — Lifecycle e serialização entram na baseline
Tipo: mudança de testes e correção Estado: implementada e validada Área: runtime, Controller, Port e NBT Substitui: nenhuma Substituída por: nenhuma
Registro
- A remoção de uma Port ligada precisa reduzir imediatamente a contagem do grafo.
- A remoção do Controller precisa eliminar seu grafo do runtime.
- Estado ativo, tier, energia, capacidade, UUID e aceitação de FE do Controller passam por round-trip NBT.
- Binding conhecido, modo global, modo por face e sinal redstone da Port passam por round-trip NBT.
- O teste de Controller aguarda
onLoad(), quando o UUID e o registro no runtime são efetivamente criados.
Limite da validação
O round-trip chama a serialização e desserialização reais dos BlockEntities com o registry provider do mundo. Ele não descarrega o chunk nem reinicia o servidor; unload/load e world reload continuam pendentes.
Evidências
- Commit:
7b321f9—fix: clean runtime state when ports are removed.
TST-2026-09-10-005 — Doze GameTests da baseline aprovados
Tipo: validação automatizada
Estado: validada dentro da cobertura declarada
Área: blocos, topologia mínima, lifecycle, NBT e schedulers locais
Substitui: TST-2026-09-10-004, quanto à cobertura de GameTests vigente
Substituída por: nenhuma
Registro
- Os oito GameTests anteriores continuam aprovados.
- Remoção de Port e Controller limpa os registros esperados no runtime.
- Controller e Port preservam seus campos cobertos em round-trip NBT.
- O GameTestServer informou
All 12 required tests passed. coreRegressionTesteenergyRegressionTestpassaram no mesmo build../gradlew build --warning-mode allterminou comBUILD SUCCESSFULem 15 segundos.
Evidências
- Execução automatizada em 10/09/2026.
- Commit:
7b321f9.
TST-2026-09-10-006 — Marco 0 encerrado com baseline verificável
Tipo: validação de marco Estado: validada Área: baseline recuperada Substitui: nenhuma Substituída por: nenhuma
Registro
- O ambiente usa Minecraft 1.21.1, Java 21, NeoForge 21.1.250, ModDevGradle 2.0.146 e Gradle 9.7.1.
- Builds internas usam
0.0.0-dev, sem tratar números históricos como releases públicas. - O build padrão executa regressões de core, FE e doze GameTests em servidor isolado.
- Todos os oito blocos registrados possuem uma classificação baseada na evidência disponível.
- Controller, Fiber e a fundação da Port possuem cobertura funcional mínima; os demais blocos permanecem explicitamente parciais, implementados sem regressão integral ou planejados.
- As lacunas de integridade, payloads completos, topologia Link e reload permanecem abertas no Marco 1.
Impacto e pendências
O objetivo do Marco 0 foi atendido: o projeto possui um ponto de partida reproduzível, versionamento coerente e comportamentos fundamentais verificáveis. O encerramento não declara o mod jogável nem valida sistemas além da cobertura registrada.
Conforme DEC-2026-09-10-005, o trabalho passa da main para a branch dev; a próxima integração na main será feita por pull request ao concluir o Marco 1.
Evidências
- Builds e validações
TST-2026-09-10-002aTST-2026-09-10-005. - Commits técnicos:
fd03db3,6971a50,8ea2ff2e7b321f9. - Matriz mínima no Roadmap até 1.0.
Próximas entradas esperadas
- Matriz de testes da rede mínima na build atualizada.
- Decisão completa do modelo energético do Controller.
- Correção e validação do gating T5 Link para Anchor.
- Decisão e migração da identidade multidimensional de endpoints.
- Encerramento do Marco 0 e início do fluxo pela
dev.