---
type: how-to
title: Corrija uma falha de publicação no marketplace
summary: "Um guia de correção para as falhas de publicação no marketplace mais comuns: cada código de erro está listado com o que o dispara e os passos exatos de uma-edição-e-tente-de-novo para resolvê-lo, sem precisar nos pedir para rechecar nada."
---

Quando o modal Publicar ou atualizar retorna um erro, ou você recebe um e-mail nosso sobre uma falha de publicação, ache seu código de erro abaixo e siga a correção. Uma vez que você dá push da correção no seu repositório, clique em Publicar ou atualizar de novo para rechecar na hora, ou espere pela próxima execução do indexador diário.

Toda falha listada aqui é algo que você pode corrigir no seu repositório. Se você não vê seu erro aqui, cheque a [referência completa de erros de publicação](/docs/marketplace-game-development/publish-failed-reference) para códigos menos comuns.

## terms_accepted não definido [#manifest-error-terms-accepted]

Você vê isto quando seu `caputchin.json` não tem `"terms_accepted": true` no nível superior.

1. Abra o `caputchin.json` do seu repositório.
2. Leia os [Termos de Submissão do Marketplace](/legal/submission-terms).
3. Adicione `"terms_accepted": true` no nível superior do manifesto.
4. Faça commit e push.
5. Clique em Publicar ou atualizar de novo, ou espere pela próxima execução diária do índice.

O valor precisa ser o booleano JSON literal `true`. Strings (`"true"`), números (`1`), ou omitir o campo todos contam como não aceito.

## Licença não na lista aprovada [#manifest-error-license]

Você vê isto quando `license` está faltando, malformada, ou nomeia um identificador fora da nossa [lista aprovada](/docs/marketplace-game-development/publish-failed-reference#approved-licenses).

1. Escolha um identificador SPDX da lista aprovada que genuinamente cubra seu código e ativos empacotados.
2. Abra o `caputchin.json` e defina o campo `license` no nível superior, por exemplo `"license": "MIT"`.
3. Se seu código tem licença dupla, use uma expressão SPDX `OR` (ex.: `"MIT OR Apache-2.0"`). Ao menos um ramo precisa estar na lista aprovada.
4. Se seu código é MIT mas empacota ativos Creative Commons, use `AND` (ex.: `"MIT AND CC-BY-4.0"`). Todo ramo precisa estar na lista aprovada.
5. Faça commit, push, tente de novo.

Se o seu projeto depende de uma licença que não está na nossa lista aprovada (mais comumente a família GPL, AGPL ou LGPL), a única correção é relicenciar ou remover os componentes afetados. Não conseguimos conceder exceções caso a caso por autor.

## Não conseguimos achar seu repositório [#repo-not-found]

Você vê isto quando nossa busca de manifesto retorna um 404.

Causas comuns e correções:

- Seu repositório é privado. Torne-o público, ou remova o tópico `caputchin-game` para parar de aparecer no índice.
- Seu repositório não tem o tópico do GitHub `caputchin-game`. Adicione-o pela seção About na página do repositório.
- Seu repositório não tem um `caputchin.json` na raiz (ou, para jogos filhos em uma coleção, nenhum `caputchin.json` no diretório folha).
- A URL de repositório que você inseriu está errada. Use `owner/name` ou a URL completa `https://github.com/owner/name`.

Dê push de um `caputchin.json` no seu repositório, depois tente de novo.

## A estrutura do manifesto está malformada [#manifest-error-structure]

Você vê um `manifest-error` cujo detalhe começa com um nome de campo como `entry`, `npm`, `games`, `marketplace.support`, ou `run.modules[0].name`.

O detalhe te diz exatamente qual campo está errado:

- `entry: entry must be a clean relative path`: seu valor `entry` contém travessia (`../`), barras absolutas, query strings, ou espaço em branco. Use um caminho limpo relativo ao repositório como `dist/game.js`.
- `npm: npm package name is malformed`: seu campo `npm` não é uma coordenada npm válida. Use `name` ou `@scope/name`, só alfanuméricos + hífens + pontos + underscores.
- `games[i] must be a relative path inside the repo`: um caminho de filho no array `games` da sua coleção escapa do repositório. Use caminhos como `packages/leaf-memory`, não `../external` ou `/abs/path`.
- `run.entry must be a clean relative path`: mesma regra de higiene que `entry`, aplicada à entrada de run dividida opcional.
- `run.modules[i].name`: o nome do módulo precisa casar com `[a-zA-Z0-9_-]+\.(wasm|js)$` e não pode ser `entry.js` nem `artifact.js`.

Edite o campo nomeado conforme a regra, faça commit, push, tente de novo.

## marketplace.author tem um e-mail inválido [#manifest-error-author-email]

Você vê isto quando `marketplace.author.email` está presente mas não casa com um formato normal de e-mail (um `@`, um domínio com ponto, sem espaço em branco).

1. Abra o `caputchin.json`.
2. Ache `marketplace.author.email`.
3. Ou corrija o valor para um endereço de e-mail real (nós o usamos só para notificações de falha de publicação) ou remova o campo por completo.
4. Faça commit, push, tente de novo.

Você também pode remover o bloco `marketplace.author` inteiro se não quiser receber notificações de falha de publicação.

## Seu artefato run é não determinístico [#run-not-conforming]

Você vê isto quando nosso teste de conformidade roda a função `run(seed, trace)` do seu jogo e ela não produz um veredito conforme.

Importante: esta não é uma falha fatal de publicação. Seu jogo continua listado na navegação do marketplace e pode ser embutido. Ele só mostra **Não reproduzível** e não pode proteger uma chave de site até o problema de determinismo ser corrigido.

Causas comuns:

- Sua simulação lê `Date.now()`, `performance.now()`, `Math.random()`, ou outros globais não determinísticos.
- Sua simulação lê estado externo (DOM, rede, armazenamento) que não fornecemos no momento do replay.
- Sua simulação depende de aritmética de ponto flutuante que difere entre runtimes.

Corrija a simulação para ser uma função pura da semente e do trace, dê push, tente de novo. Veja [o contrato de replay](/docs/marketplace-game-development/replay-contract#determinism-is-the-whole-requirement) para a regra de determinismo, e considere o [kit de engine](/docs/marketplace-game-development/engine-kit) opcional, que fornece um RNG semeável e um relógio determinísticos.

## A busca do bundle falhou [#bundle-fetch-failed]

Você vê isto quando a URL do bundle fixada por `entry` e/ou `npm` não pode ser buscada, retorna um não-2xx, ou excede 12MB.

- Se você acabou de dar push de uma nova versão: o CDN pode não ter propagado ainda. Espere um minuto e tente de novo.
- Se seu bundle passa de 12MB: enxugue os ativos, divida em módulos pela declaração `run`, ou mova ativos grandes para um caminho de entrega diferente.
- Se seu pacote `npm` ainda não está publicado: publique-o primeiro; não conseguimos buscar versões não publicadas.

## Requisições de publicação demais [#rate-limited]

Você vê isto no modal de publicação manual quando você enviou mais de dez requisições nos últimos 60 segundos.

Espere 60 segundos e tente de novo. Não há como elevar o limite; ele protege o endpoint de abuso.

## Parando os e-mails de notificação

Se você quer parar de receber e-mails de falha de publicação, veja a [seção 10 dos Termos de Submissão](/legal/submission-terms). O endereço destinatário é o seu `marketplace.author.email` no manifesto; removê-lo ou mudá-lo para os e-mails.

## Veja também

- [Referência completa de erros de publicação](/docs/marketplace-game-development/publish-failed-reference)
- [Publicar no marketplace](/docs/marketplace-game-development/publish-to-the-marketplace)
- [Termos de Submissão do Marketplace](/legal/submission-terms)
