Skip to content

feat(i18n): gêmea EN do /changelog e idioma honesto nas rotas EN - #400

Open
manazitto wants to merge 30 commits into
corosolto:mainfrom
manazitto:v2/changelog-en-twin
Open

feat(i18n): gêmea EN do /changelog e idioma honesto nas rotas EN#400
manazitto wants to merge 30 commits into
corosolto:mainfrom
manazitto:v2/changelog-en-twin

Conversation

@manazitto

Copy link
Copy Markdown
Contributor

Summary

  • /changelog ganha gêmea EN em /whats-new (mesmo CHANGELOG.md, cromo em inglês);
  • pares PT↔EN passam a uma tabela só (src/lib/i18n-pairs.ts) que alimenta hreflang, html lang, og:locale, sitemap e JSON-LD;
  • as rotas EN deixam de mentir idioma (lang="pt-BR" / inLanguage: pt-BR); /changelog e /whats-new compartilham o parser.

Evidência

As gêmeas EN já existentes (/about, /maps, …) saíam do Layout com html lang="pt-BR" e og:locale=pt_BR. O crawler lia português numa página em inglês. Medido no HTML do build depois desta mudança:

  • /whats-new e /about: lang=en, og:locale=en_US, JSON-LD da página em en;
  • /changelog e /sobre: continuam pt-BR.

eval:i18ntwins ficou vermelho 7 vezes no fonte (tabela copiada, lang mentiroso, sitemap sem EN, parser duplicado) e verde depois. Os seis mutantes mordem: sem-par, sem-redirect, chrome-pt, lang-pt, sem-sitemap, parser-dup.

npm run build prerenderiza /whats-new. SEO/AEO 6/6 no artefato, com as gêmeas EN agora na lista.

Issue

Fatia da #54 (changelog). /mapa e /ranking continuam de fora; traduzir o corpo do CHANGELOG.md também.

Risk

  • low — docs/tooling/text only
  • medium — UI/site/runtime path touched
  • high — gameplay/render/backend/anti-cheat touched

Mexe no Layout de todas as páginas estáticas (lang/locale/JSON-LD) e no sitemap. Não toca no jogo.

Validation

  • npm run build
  • npm run eval:i18ntwins + os 6 mutantes
  • node tools/eval/seo-check.mjs no dist/
  • docs:check, travessao:check, changelog:check, eval:comentario
  • npm run check:fast completo neste clone — 43/57 no sparse checkout; os vermelhos são GLB/imagem/áudio ausentes, não esta fatia
  • smoke path exercised when UI/gameplay changed — site-smoke agora inclui as rotas EN; não rodei o harness de astro dev aqui
  • screenshots/video attached when visuals changed — cromo EN do /whats-new; notas de versão continuam em PT

Limite declarado

Não traduz o histórico do CHANGELOG.md. Não cria gêmea do /mapa nem religa o /ranking.

Bot notes

  • ok to label safe-automerge
  • needs needs-staging
  • needs needs-human-gameplay
  • needs needs-human-backend

Made with Cursor

O /changelog ganha /whats-new. Os pares PT↔EN passam a uma tabela só
(hreflang, html lang, og:locale, sitemap e JSON-LD), e as duas páginas
do changelog compartilham o parser. eval:i18ntwins cobre par, redirect,
cromo, lang, sitemap e parser; os seis mutantes mordem.

corosolto#54

Signed-off-by: Maná Soares <153231177+manazitto@users.noreply.github.com>
Agent: Cursor
DOCS1: check:fast e a contagem de comandos npm passam a incluir o
novo eval:i18ntwins. Sem isso o portão fica vermelho na main.

Signed-off-by: Maná Soares <153231177+manazitto@users.noreply.github.com>
Agent: Cursor
@manazitto
manazitto requested a review from rubenmarcus as a code owner August 21, 2026 05:31
@vercel

vercel Bot commented Aug 21, 2026

Copy link
Copy Markdown

@manazitto is attempting to deploy a commit to the rubenmarcus' projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 cs-brasil-ai-bot: área sensível ou diff grande; revisão manual obrigatória preview-autorizado.

@csbrasil-BOT csbrasil-BOT added needs-staging Mudança precisa validação integrada em staging target:main PR apontando para a branch main labels Aug 21, 2026
@csbrasil-BOT

csbrasil-BOT commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

csbrasil-bot classification

Note

@manazitto abriu 67 arquivo(s) · +1773 −104, base main.

O que mudou

área arquivos + amostra
📦 outros 29 +671 −0 autoria.patch, bounds.mjs, contato.mjs
📚 docs 16 +107 −23 ARCH.generated.md, README.md, SCRIPTS.md
🎨 assets 9 +0 −0 sky_brasilia.webp, sky_ferrovelho.webp, sky_havan.webp
🌐 site 4 +195 −78 Layout.astro, changelog.astro, sitemap.xml.ts
🎮 jogo 3 +413 −3 ambientlife.js, i18n.js, main.js
🧪 arnês 3 +307 −0 ambience-registry-check.mjs, fauna-shots.mjs, i18n-twins-check.mjs
⚙️ backend 2 +61 −0 changelog.ts, i18n-pairs.ts
🗺️ mapas 1 +19 −0 map_sky.js

Labels

label por quê
needs-human-gameplay toca gameplay/render/HUD/mapa/personagem — decisão de humano
needs-staging mudança de runtime/UI — valida integrado no staging antes do merge
target:main vai direto pra main, sem fila de integração

@estraga-codigo

Copy link
Copy Markdown
Collaborator

Esbirro

Esbirro · plantão da produção · 🕵️

check vermelho parado neste PR

Warning

Classe drift de gerados: bloco gerado desatualizado. Não consegui commitar (o PR vem de fork). Conserto:

npm run docs && npm run arch
o quê valor
head 16c34f4286e2
checks vermelhos 2
classe drift
hora do plantão 2026-08-21T05:35:32.919Z

Vermelho:

build (https://github.com/corosolto/client/actions/runs/32450877199/job/96679041132)
Vercel (https://vercel.com/git/authorize?team=rubenmarcus'%20projects&slug=rubenmarcus-projects&teamId=team_4nZdRW8viHMCXpdixaCtzZ7z&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%2216c34f4286e224b3dcd31752cc66eafcfc00fb4f%22%7D%2C%22id%22%3A%22QmTGBZ8iNmGo7mbXATuDB97GXn1vzcxaRtjSeZG5yc7u5U%22%2C%22org%22%3A%22corosolto%22%2C%22prId%22%3A400%2C%22repo%22%3A%22client%22%7D)

Rabo do log:

2026-08-21T05:32:05.7119975Z ##[group]Run npm run docs:check
2026-08-21T05:32:05.7120471Z npm run docs:check
2026-08-21T05:32:05.7149788Z shell: /usr/bin/bash -e {0}
2026-08-21T05:32:05.7150384Z ##[endgroup]
2026-08-21T05:32:05.7969446Z
2026-08-21T05:32:05.7970588Z > coro-solto@2.0.0-alpha.166 docs:check
2026-08-21T05:32:05.7971416Z > node tools/gen-docs.mjs --check
2026-08-21T05:32:05.7971950Z
2026-08-21T05:32:06.4389402Z ✗ DOCS1  a documentação está DESATUALIZADA em relação ao código.
2026-08-21T05:32:06.4390960Z          - 7 arquivo(s) com bloco gerado DESATUALIZADO: STATUS.md, README.md, docs/docs/comecando.md, ARCH.generated.md, docs/docs/quality-gates.md, docs/i18n/en/docusaurus-plugin-content-docs/current/comecando.md, docs/i18n/en/docusaurus-plugin-content-docs/current/quality-gates.md
2026-08-21T05:32:06.4391948Z          Rode: npm run docs
2026-08-21T05:32:06.4486471Z ##[error]Process completed with exit code 1.


de plantão: vi, registrei, hora no relógio 🕵️

@estraga-codigo estraga-codigo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Palhaço Mal

Palhaço Mal · revisor da casa · 🤡

mapa da mudança

  • docs (5): ARCH.generated.md, SCRIPTS.md, STATUS.md, comecando.md
  • site (4): Layout.astro, changelog.astro, sitemap.xml.ts, whats-new.astro
  • arnês (3): i18n-twins-check.mjs, seo-check.mjs, site-smoke.mjs
  • outros (2): package.json, aeo.mjs
  • jogo (2): i18n.js, main.js
  • backend (2): changelog.ts, i18n-pairs.ts

Tip

Risco BAIXO · nota 10/10 ▓▓▓▓▓▓▓▓▓▓

limpo pelos critérios das minhas ações desta rodada

Revisão de bot — fio não resolvido TRAVA o merge (a main exige conversa resolvida). Resolve ou refuta.

impacto cruzado

graph RL
  game_js["game.js"] --> i18n_js["i18n.js"]
  main_js["main.js"] --> i18n_js["i18n.js"]
Loading

(grafo local de public/js, uma rodada atrás do head do PR.)

todo bug confessa no diff, eu só faço o interrogatório 🤡

DOCS1: o bloco de scripts já tinha o comando novo; faltava a contagem
do harness nos 7 arquivos que o portão lê. Sem isso o CI fica vermelho.

Signed-off-by: Maná Soares <153231177+manazitto@users.noreply.github.com>
Agent: Cursor
@github-actions

Copy link
Copy Markdown
Contributor

🤖 cs-brasil-ai-bot: área sensível ou diff grande; revisão manual obrigatória preview-autorizado.

O bloco de zonas do ARCH.generated.md ainda dizia 18 páginas .astro.
O CI do DOCS1 caiu só neste arquivo depois da contagem do arnês.

Signed-off-by: Maná Soares <153231177+manazitto@users.noreply.github.com>
Agent: Cursor
@github-actions

Copy link
Copy Markdown
Contributor

🤖 cs-brasil-ai-bot: área sensível ou diff grande; revisão manual obrigatória preview-autorizado.

@estraga-codigo estraga-codigo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Palhaço Mal

Palhaço Mal · revisor da casa · 🤡

mapa da mudança

  • docs (8): ARCH.generated.md, README.md, SCRIPTS.md, STATUS.md
  • site (4): Layout.astro, changelog.astro, sitemap.xml.ts, whats-new.astro
  • arnês (3): i18n-twins-check.mjs, seo-check.mjs, site-smoke.mjs
  • outros (2): package.json, aeo.mjs
  • jogo (2): i18n.js, main.js
  • backend (2): changelog.ts, i18n-pairs.ts

Tip

Risco BAIXO · nota 10/10 ▓▓▓▓▓▓▓▓▓▓

nada aqui que quebre amanhã. amanhã é outro diff

Revisão de bot — fio não resolvido TRAVA o merge (a main exige conversa resolvida). Resolve ou refuta.

impacto cruzado

graph RL
  game_js["game.js"] --> i18n_js["i18n.js"]
  main_js["main.js"] --> i18n_js["i18n.js"]
Loading

(grafo local de public/js, uma rodada atrás do head do PR.)

todo bug confessa no diff, eu só faço o interrogatório 🤡

@estraga-codigo

Copy link
Copy Markdown
Collaborator

Esbirro

Esbirro · plantão da produção · 🕵️

check vermelho parado neste PR

Caution

Não sei classificar este vermelho. Segue o que o CI cuspiu — palpite de bot sobre bug alheio só atrapalha.

o quê valor
head dc29eadd1bab
checks vermelhos 2
classe outra
hora do plantão 2026-08-21T06:06:31.979Z

Vermelho:

classify (https://github.com/corosolto/client/actions/runs/32451785670/job/96681484158)
Vercel (https://vercel.com/git/authorize?team=rubenmarcus'%20projects&slug=rubenmarcus-projects&teamId=team_4nZdRW8viHMCXpdixaCtzZ7z&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%22dc29eadd1babc86f1a94820d3fa43914029b093e%22%7D%2C%22id%22%3A%22QmaCfcaxxg7xtA6JyW4bmoy58Vba2qrHpkgzoWzAhzmz12%22%2C%22org%22%3A%22corosolto%22%2C%22prId%22%3A400%2C%22repo%22%3A%22client%22%7D)

Rabo do log:

2026-08-21T05:46:23.5795160Z ##[group]Run if [ -z "$GH_TOKEN" ]; then
2026-08-21T05:46:23.5795921Z if [ -z "$GH_TOKEN" ]; then
2026-08-21T05:46:23.5797276Z   echo "::error::CSBRASIL_BOT_TOKEN ausente — crie o secret (PAT da conta csbrasil-bot, scopes: repo/workflow). Sem ele o classify posta como github-actions[bot] ou não posta."
2026-08-21T05:46:23.5798581Z   exit 1
2026-08-21T05:46:23.5799011Z fi
2026-08-21T05:46:23.5843600Z shell: /usr/bin/bash -e {0}
2026-08-21T05:46:23.5844383Z env:
2026-08-21T05:46:23.5844986Z   GH_TOKEN:
2026-08-21T05:46:23.5845424Z   PR_NUMBER: 400
2026-08-21T05:46:23.5845881Z   DESIRED_BASE_BRANCH: staging
2026-08-21T05:46:23.5846387Z ##[endgroup]
2026-08-21T05:46:23.6015148Z ##[error]CSBRASIL_BOT_TOKEN ausente — crie o secret (PAT da conta csbrasil-bot, scopes: repo/workflow). Sem ele o classify posta como github-actions[bot] ou não posta.
2026-08-21T05:46:23.6028510Z ##[error]Process completed with exit code 1.


nada fora do normal no meu turno 🕵️

A branch estava 12 commits atrás. Todos os conflitos eram de arquivo GERADO
(ARCH.generated.md, README, STATUS, docs/) mais o package.json: os gerados vieram
da main e foram re-derivados; o package.json ficou com a UNIÃO - `eval:i18ntwins`
deste PR mais `eval:replaycam` que entrou na main.

Nenhum arquivo de código deste PR foi tocado.

Agent: Claude Opus 5 (Claude Code)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: rubenmarcus <rubenmarcus.dev@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

🤖 cs-brasil-ai-bot: área sensível ou diff grande; revisão manual obrigatória preview-autorizado.

@csbrasil-BOT csbrasil-BOT added the needs-human-gameplay Mudança exige revisão humana de gameplay/render/HUD label Aug 21, 2026

@estraga-codigo estraga-codigo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Palhaço Mal

Palhaço Mal · revisor da casa · 🤡

mapa da mudança

  • outros (31): package.json, autoria.patch, bounds.mjs, contato.mjs
  • docs (16): ARCH.generated.md, README.md, SCRIPTS.md, SESSAO-2026-08-20-issue-382-nick-cheat.md
  • assets (9): sky_brasilia.webp, sky_ferrovelho.webp, sky_havan.webp, sky_pool.webp
  • arnês (5): ambience-registry-check.mjs, fauna-shots.mjs, i18n-twins-check.mjs, seo-check.mjs
  • site (4): Layout.astro, changelog.astro, sitemap.xml.ts, whats-new.astro
  • jogo (3): ambientlife.js, i18n.js, main.js
  • backend (2): changelog.ts, i18n-pairs.ts
  • mapas (1): map_sky.js

Tip

Risco BAIXO · nota 10/10 ▓▓▓▓▓▓▓▓▓▓

nada aqui que quebre amanhã. amanhã é outro diff

Revisão de bot — fio não resolvido TRAVA o merge (a main exige conversa resolvida). Resolve ou refuta.

impacto cruzado

graph RL
  game_js["game.js"] --> i18n_js["i18n.js"]
  main_js["main.js"] --> i18n_js["i18n.js"]
Loading

(grafo local de public/js, uma rodada atrás do head do PR.)

todo bug confessa no diff, eu só faço o interrogatório 🤡

@estraga-codigo

Copy link
Copy Markdown
Collaborator

Esbirro

Esbirro · plantão da produção · 🕵️

check vermelho parado neste PR

Caution

Não sei classificar este vermelho. Segue o que o CI cuspiu — palpite de bot sobre bug alheio só atrapalha.

o quê valor
head 20749e7adafb
checks vermelhos 1
classe outra
hora do plantão 2026-08-21T23:55:11.232Z

Vermelho:

Vercel (https://vercel.com/git/authorize?team=rubenmarcus'%20projects&slug=rubenmarcus-projects&teamId=team_4nZdRW8viHMCXpdixaCtzZ7z&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%2220749e7adafbcaa68c4ee8e68dba1fd9cd837fc5%22%7D%2C%22id%22%3A%22QmUNft3wnJmSGug8ktYibbLMu7RBxR2zDwMqdLo47TmefU%22%2C%22org%22%3A%22corosolto%22%2C%22prId%22%3A400%2C%22repo%22%3A%22client%22%7D)

Log do run já expirou — abrir pelo link do check.


nada fora do normal no meu turno 🕵️

O release reescreveu README, STATUS, ARCH e docs/, e reabriu conflito em todo PR
aberto ao mesmo tempo. Os 9 arquivos em conflito eram TODOS gerados: ficou o da main e
os geradores re-derivaram. Nenhum arquivo de código foi tocado.

Agent: Claude Opus 5 (Claude Code)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: rubenmarcus <rubenmarcus.dev@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

🤖 cs-brasil-ai-bot: área sensível ou diff grande; revisão manual obrigatória preview-autorizado.

@estraga-codigo estraga-codigo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Palhaço Mal

Palhaço Mal · revisor da casa · 🤡

mapa da mudança

  • outros (31): package.json, autoria.patch, bounds.mjs, contato.mjs
  • docs (15): ARCH.generated.md, README.md, SCRIPTS.md, SESSAO-2026-08-20-issue-382-nick-cheat.md
  • assets (9): sky_brasilia.webp, sky_ferrovelho.webp, sky_havan.webp, sky_pool.webp
  • arnês (5): ambience-registry-check.mjs, fauna-shots.mjs, i18n-twins-check.mjs, seo-check.mjs
  • site (4): Layout.astro, changelog.astro, sitemap.xml.ts, whats-new.astro
  • jogo (3): ambientlife.js, i18n.js, main.js
  • backend (2): changelog.ts, i18n-pairs.ts
  • mapas (1): map_sky.js

Tip

Risco BAIXO · nota 10/10 ▓▓▓▓▓▓▓▓▓▓

nada aqui que quebre amanhã. amanhã é outro diff

Revisão de bot — fio não resolvido TRAVA o merge (a main exige conversa resolvida). Resolve ou refuta.

impacto cruzado

graph RL
  game_js["game.js"] --> i18n_js["i18n.js"]
  main_js["main.js"] --> i18n_js["i18n.js"]
Loading

(grafo local de public/js, uma rodada atrás do head do PR.)

maquiagem de verde por cima de vermelho eu desenmascaro no primeiro golpe de vista 🤡

rubenmarcus added a commit that referenced this pull request Aug 22, 2026
…igo (#414)

MEDIDO hoje, ao vivo: enquanto eu resolvia conflito à mão em quatro PRs, o
`chore(release): v2.0.0-alpha.173` entrou na main e reabriu os quatro de uma vez.
Os NOVE arquivos em conflito do #400 depois disso eram todos gerados - README,
STATUS, ARCH e docs/ -, nenhum de código. Todo release reescreve esses arquivos,
então resolver isso à mão é trabalho de Sísifo: o release seguinte desfaz.

O autofix passa a trazer a base antes de consertar. Conflitou, ele pergunta à
MESMA lista de permissão do resto do bot: se todo caminho em conflito for arquivo
gerado, fica o da base e os geradores re-derivam. Se sobrar UM fora da lista, ele
dá `git merge --abort` e comenta - conflito de código é julgamento, e julgamento
não é dele.

A conta do dia, dos quatro PRs que resolvi à mão: 53 arquivos em conflito, 45
gerados e 8 de código. É a fatia que o bot passa a cobrir, e sobra para gente
exatamente a que exige decisão - como a colisão de numeração de BUG-68 no #372,
que preservei sem renumerar.

A AF5 guarda o caminho de exceção: sem o `git merge --abort`, o bot resolveria
código escolhendo um lado no escuro. O mutante `resolve-conflito-de-codigo`
remove o abort e reprova.

Agent: Claude Opus 5 (Claude Code)

Signed-off-by: rubenmarcus <rubenmarcus.dev@gmail.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
@estraga-codigo

Copy link
Copy Markdown
Collaborator

Esbirro

Esbirro · plantão da produção · 🕵️

check vermelho parado neste PR

Caution

Não sei classificar este vermelho. Segue o que o CI cuspiu — palpite de bot sobre bug alheio só atrapalha.

o quê valor
head c07bc62e13d2
checks vermelhos 2
classe outra
hora do plantão 2026-08-22T00:34:19.001Z

Vermelho:

classify (https://github.com/corosolto/client/actions/runs/32539248855/job/96945808353)
Vercel (https://vercel.com/git/authorize?team=rubenmarcus'%20projects&slug=rubenmarcus-projects&teamId=team_4nZdRW8viHMCXpdixaCtzZ7z&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%22c07bc62e13d206cae37bc8a956b1e64f5674ad00%22%7D%2C%22id%22%3A%22QmeSKA69zK8SfHP4ra3RmHAuCJsm7j1J5wKen3aMREzGwZ%22%2C%22org%22%3A%22corosolto%22%2C%22prId%22%3A400%2C%22repo%22%3A%22client%22%7D)

Rabo do log:

2026-08-22T00:06:50.9627954Z ##[group]Run if [ -z "$GH_TOKEN" ]; then
2026-08-22T00:06:50.9628732Z if [ -z "$GH_TOKEN" ]; then
2026-08-22T00:06:50.9630102Z   echo "::error::CSBRASIL_BOT_TOKEN ausente — crie o secret (PAT da conta csbrasil-bot, scopes: repo/workflow). Sem ele o classify posta como github-actions[bot] ou não posta."
2026-08-22T00:06:50.9631442Z   exit 1
2026-08-22T00:06:50.9631893Z fi
2026-08-22T00:06:50.9674152Z shell: /usr/bin/bash -e {0}
2026-08-22T00:06:50.9675040Z env:
2026-08-22T00:06:50.9675475Z   GH_TOKEN:
2026-08-22T00:06:50.9675926Z   PR_NUMBER: 400
2026-08-22T00:06:50.9676398Z   DESIRED_BASE_BRANCH: staging
2026-08-22T00:06:50.9677117Z ##[endgroup]
2026-08-22T00:06:50.9854165Z ##[error]CSBRASIL_BOT_TOKEN ausente — crie o secret (PAT da conta csbrasil-bot, scopes: repo/workflow). Sem ele o classify posta como github-actions[bot] ou não posta.
2026-08-22T00:06:50.9869270Z ##[error]Process completed with exit code 1.


nada fora do normal no meu turno 🕵️

@estraga-codigo estraga-codigo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Palhaço Mal

Palhaço Mal · revisor da casa · 🤡

mapa da mudança

  • outros (29): autoria.patch, bounds.mjs, contato.mjs, contato_parque_treta.jpg
  • docs (16): ARCH.generated.md, README.md, SCRIPTS.md, SESSAO-2026-08-20-issue-382-nick-cheat.md
  • assets (9): sky_brasilia.webp, sky_ferrovelho.webp, sky_havan.webp, sky_pool.webp
  • site (4): Layout.astro, changelog.astro, sitemap.xml.ts, whats-new.astro
  • jogo (3): ambientlife.js, i18n.js, main.js
  • arnês (3): ambience-registry-check.mjs, fauna-shots.mjs, i18n-twins-check.mjs
  • backend (2): changelog.ts, i18n-pairs.ts
  • mapas (1): map_sky.js

Tip

Risco BAIXO · nota 10/10 ▓▓▓▓▓▓▓▓▓▓

pente fino passado: nenhum achado que eu defenda em voz alta

Revisão de bot — fio não resolvido TRAVA o merge (a main exige conversa resolvida). Resolve ou refuta.

impacto cruzado

graph RL
  game_js["game.js"] --> i18n_js["i18n.js"]
  main_js["main.js"] --> i18n_js["i18n.js"]
Loading

(grafo local de public/js, uma rodada atrás do head do PR.)

maquiagem de verde por cima de vermelho eu desenmascaro no primeiro golpe de vista 🤡

Agent: csbrasil-bot (autofix)

Signed-off-by: csbrasil-bot <csbrasil-bot@users.noreply.github.com>
@csbrasil-BOT

Copy link
Copy Markdown
Collaborator

🤖 autofix: regenerei os blocos derivados e empurrei o commit. O PR não precisa de mais nada disso.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 cs-brasil-ai-bot: candidato a preview; um mantenedor deve revisar o SHA e aplicar o label preview-autorizado.

@csbrasil-BOT

Copy link
Copy Markdown
Collaborator

🤖 autofix: regenerei os blocos derivados e empurrei o commit. O PR não precisa de mais nada disso.

Agent: csbrasil-bot (autofix)

Signed-off-by: csbrasil-bot <csbrasil-bot@users.noreply.github.com>
@csbrasil-BOT

Copy link
Copy Markdown
Collaborator

🤖 autofix: regenerei os blocos derivados e empurrei o commit. O PR não precisa de mais nada disso.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 cs-brasil-ai-bot: candidato a preview; um mantenedor deve revisar o SHA e aplicar o label preview-autorizado.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 preview no ar → https://csbrasil-osh1ge4b4-rubenmarcus-projects.vercel.app

@csbrasil-BOT

Copy link
Copy Markdown
Collaborator

🤖 autofix: regenerei os blocos derivados e empurrei o commit. O PR não precisa de mais nada disso.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 preview no ar → https://csbrasil-lq43x80n0-rubenmarcus-projects.vercel.app

@estraga-codigo estraga-codigo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Palhaço Mal

Palhaço Mal · revisor da casa · 🤡

mapa da mudança

  • outros (29): autoria.patch, bounds.mjs, contato.mjs, contato_parque_treta.jpg
  • docs (16): ARCH.generated.md, README.md, SCRIPTS.md, SESSAO-2026-08-20-issue-382-nick-cheat.md
  • assets (9): sky_brasilia.webp, sky_ferrovelho.webp, sky_havan.webp, sky_pool.webp
  • site (4): Layout.astro, changelog.astro, sitemap.xml.ts, whats-new.astro
  • jogo (3): ambientlife.js, i18n.js, main.js
  • arnês (3): ambience-registry-check.mjs, fauna-shots.mjs, i18n-twins-check.mjs
  • backend (2): changelog.ts, i18n-pairs.ts
  • mapas (1): map_sky.js

Tip

Risco BAIXO · nota 10/10 ▓▓▓▓▓▓▓▓▓▓

pente fino passado: nenhum achado que eu defenda em voz alta

Revisão de bot — fio não resolvido TRAVA o merge (a main exige conversa resolvida). Resolve ou refuta.

impacto cruzado

graph RL
  game_js["game.js"] --> i18n_js["i18n.js"]
  main_js["main.js"] --> i18n_js["i18n.js"]
Loading

(grafo local de public/js, uma rodada atrás do head do PR.)

todo bug confessa no diff, eu só faço o interrogatório 🤡

@estraga-codigo

Copy link
Copy Markdown
Collaborator

Esbirro

Esbirro · plantão da produção · 🕵️

check vermelho parado neste PR

Caution

Não sei classificar este vermelho. Segue o que o CI cuspiu — palpite de bot sobre bug alheio só atrapalha.

o quê valor
head f763b6a32074
checks vermelhos 2
classe outra
hora do plantão 2026-08-22T21:45:51.150Z

Vermelho:

dco (https://github.com/corosolto/client/actions/runs/32600028485/job/97096832194)
Vercel (https://vercel.com/git/authorize?team=rubenmarcus'%20projects&slug=rubenmarcus-projects&teamId=team_4nZdRW8viHMCXpdixaCtzZ7z&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%22f763b6a32074f2fc5b909a2c237521fb3efb4f94%22%7D%2C%22id%22%3A%22QmVUSt3HxetASF3mzxeem23p82LgHzDPB9ocTaXKF9RCgj%22%2C%22org%22%3A%22corosolto%22%2C%22prId%22%3A400%2C%22repo%22%3A%22client%22%7D)

Rabo do log:

2026-08-22T21:36:13.9280051Z ##[group]Run python3 scripts/ci/agente_check.py < /tmp/dco.json
2026-08-22T21:36:13.9280512Z python3 scripts/ci/agente_check.py < /tmp/dco.json
2026-08-22T21:36:13.9301201Z shell: /usr/bin/bash -e {0}
2026-08-22T21:36:13.9301676Z env:
2026-08-22T21:36:13.9301965Z   pythonLocation: /opt/hostedtoolcache/Python/3.13.15/x64
2026-08-22T21:36:13.9302638Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.13.15/x64/lib/pkgconfig
2026-08-22T21:36:13.9303057Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.15/x64
2026-08-22T21:36:13.9303504Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.15/x64
2026-08-22T21:36:13.9303968Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.15/x64
2026-08-22T21:36:13.9304360Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.13.15/x64/lib
2026-08-22T21:36:13.9304737Z ##[endgroup]
2026-08-22T21:36:14.0313847Z Cada commit diz quem escreveu: acrescente o trailer 'Agent: <nome do agente ou humano>'.
2026-08-22T21:36:14.0314559Z   git rebase --exec 'git commit --amend --no-edit --trailer "Agent: <nome>"' <base>
2026-08-22T21:36:14.0333594Z {"ok": false, "sem_agent": ["c30e425fd563f26b86771e1866127c9a3e1b528f", "1c6bfc35f169c95b0111745aa76323ce87f30d40", "ea4f19dae80d11abb8bcee00ae45b8e3a8897b9c", "ac9743288231b50dcac9f4014e7eef0c3e546e9d"]}
2026-08-22T21:36:14.0381504Z ##[error]Process completed with exit code 1.


de plantão: vi, registrei, hora no relógio 🕵️

Agent: csbrasil-bot (autofix)

Signed-off-by: csbrasil-bot <csbrasil-bot@users.noreply.github.com>
@csbrasil-BOT

Copy link
Copy Markdown
Collaborator

🤖 autofix: regenerei os blocos derivados e empurrei o commit. O PR não precisa de mais nada disso.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 cs-brasil-ai-bot: candidato a preview; um mantenedor deve revisar o SHA e aplicar o label preview-autorizado.

Agent: csbrasil-bot (autofix)

Signed-off-by: csbrasil-bot <csbrasil-bot@users.noreply.github.com>
@csbrasil-BOT

Copy link
Copy Markdown
Collaborator

🤖 autofix: regenerei os blocos derivados e empurrei o commit. O PR não precisa de mais nada disso.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 cs-brasil-ai-bot: candidato a preview; um mantenedor deve revisar o SHA e aplicar o label preview-autorizado.

@csbrasil-BOT

Copy link
Copy Markdown
Collaborator

🤖 autofix: regenerei os blocos derivados e empurrei o commit. O PR não precisa de mais nada disso.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 preview no ar → https://csbrasil-elhqxrko0-rubenmarcus-projects.vercel.app

@estraga-codigo estraga-codigo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Palhaço Mal

Palhaço Mal · revisor da casa · 🤡

mapa da mudança

  • outros (29): autoria.patch, bounds.mjs, contato.mjs, contato_parque_treta.jpg
  • docs (16): ARCH.generated.md, README.md, SCRIPTS.md, SESSAO-2026-08-20-issue-382-nick-cheat.md
  • assets (9): sky_brasilia.webp, sky_ferrovelho.webp, sky_havan.webp, sky_pool.webp
  • site (4): Layout.astro, changelog.astro, sitemap.xml.ts, whats-new.astro
  • jogo (3): ambientlife.js, i18n.js, main.js
  • arnês (3): ambience-registry-check.mjs, fauna-shots.mjs, i18n-twins-check.mjs
  • backend (2): changelog.ts, i18n-pairs.ts
  • mapas (1): map_sky.js

Tip

Risco BAIXO · nota 10/10 ▓▓▓▓▓▓▓▓▓▓

limpo pelos critérios das minhas ações desta rodada

Revisão de bot — fio não resolvido TRAVA o merge (a main exige conversa resolvida). Resolve ou refuta.

impacto cruzado

graph RL
  game_js["game.js"] --> i18n_js["i18n.js"]
  main_js["main.js"] --> i18n_js["i18n.js"]
Loading

(grafo local de public/js, uma rodada atrás do head do PR.)

maquiagem de verde por cima de vermelho eu desenmascaro no primeiro golpe de vista 🤡

@estraga-codigo

Copy link
Copy Markdown
Collaborator

Esbirro

Esbirro · plantão da produção · 🕵️

check vermelho parado neste PR

Caution

Não sei classificar este vermelho. Segue o que o CI cuspiu — palpite de bot sobre bug alheio só atrapalha.

o quê valor
head 86a577fb90d5
checks vermelhos 2
classe outra
hora do plantão 2026-08-23T22:30:33.759Z

Vermelho:

dco (https://github.com/corosolto/client/actions/runs/32670355916/job/97270204089)
Vercel (https://vercel.com/git/authorize?team=rubenmarcus'%20projects&slug=rubenmarcus-projects&teamId=team_4nZdRW8viHMCXpdixaCtzZ7z&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%2286a577fb90d5dfcebd898d61ae0195aaf76eb46d%22%7D%2C%22id%22%3A%22QmXzxbaPw1pT4E5RHtTseqRLDRPtSeKMMY6R8WFQ1emXmy%22%2C%22org%22%3A%22corosolto%22%2C%22prId%22%3A400%2C%22repo%22%3A%22client%22%7D)

Rabo do log:

2026-08-23T22:22:55.5987092Z ##[group]Run python3 scripts/ci/agente_check.py < /tmp/dco.json
2026-08-23T22:22:55.5987710Z python3 scripts/ci/agente_check.py < /tmp/dco.json
2026-08-23T22:22:55.6013849Z shell: /usr/bin/bash -e {0}
2026-08-23T22:22:55.6014299Z env:
2026-08-23T22:22:55.6014705Z   pythonLocation: /opt/hostedtoolcache/Python/3.13.15/x64
2026-08-23T22:22:55.6015254Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.13.15/x64/lib/pkgconfig
2026-08-23T22:22:55.6015793Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.15/x64
2026-08-23T22:22:55.6016259Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.15/x64
2026-08-23T22:22:55.6016710Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.15/x64
2026-08-23T22:22:55.6017238Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.13.15/x64/lib
2026-08-23T22:22:55.6017741Z ##[endgroup]
2026-08-23T22:22:55.7167154Z {"ok": false, "sem_agent": ["c30e425fd563f26b86771e1866127c9a3e1b528f", "1c6bfc35f169c95b0111745aa76323ce87f30d40", "ea4f19dae80d11abb8bcee00ae45b8e3a8897b9c", "ac9743288231b50dcac9f4014e7eef0c3e546e9d"]}
2026-08-23T22:22:55.7174173Z Cada commit diz quem escreveu: acrescente o trailer 'Agent: <nome do agente ou humano>'.
2026-08-23T22:22:55.7194068Z   git rebase --exec 'git commit --amend --no-edit --trailer "Agent: <nome>"' <base>
2026-08-23T22:22:55.7248485Z ##[error]Process completed with exit code 1.


de plantão: vi, registrei, hora no relógio 🕵️

Agent: csbrasil-bot (autofix)

Signed-off-by: csbrasil-bot <csbrasil-bot@users.noreply.github.com>
@csbrasil-BOT

Copy link
Copy Markdown
Collaborator

🤖 autofix: regenerei os blocos derivados e empurrei o commit. O PR não precisa de mais nada disso.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 cs-brasil-ai-bot: candidato a preview; um mantenedor deve revisar o SHA e aplicar o label preview-autorizado.

@csbrasil-BOT

Copy link
Copy Markdown
Collaborator

🤖 autofix: regenerei os blocos derivados e empurrei o commit. O PR não precisa de mais nada disso.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 preview no ar → https://csbrasil-aopxsyyzk-rubenmarcus-projects.vercel.app

@estraga-codigo estraga-codigo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Palhaço Mal

Palhaço Mal · revisor da casa · 🤡

mapa da mudança

  • outros (29): autoria.patch, bounds.mjs, contato.mjs, contato_parque_treta.jpg
  • docs (16): ARCH.generated.md, README.md, SCRIPTS.md, SESSAO-2026-08-20-issue-382-nick-cheat.md
  • assets (9): sky_brasilia.webp, sky_ferrovelho.webp, sky_havan.webp, sky_pool.webp
  • site (4): Layout.astro, changelog.astro, sitemap.xml.ts, whats-new.astro
  • jogo (3): ambientlife.js, i18n.js, main.js
  • arnês (3): ambience-registry-check.mjs, fauna-shots.mjs, i18n-twins-check.mjs
  • backend (2): changelog.ts, i18n-pairs.ts
  • mapas (1): map_sky.js

Tip

Risco BAIXO · nota 10/10 ▓▓▓▓▓▓▓▓▓▓

pente fino passado: nenhum achado que eu defenda em voz alta

Revisão de bot — fio não resolvido TRAVA o merge (a main exige conversa resolvida). Resolve ou refuta.

impacto cruzado

graph RL
  game_js["game.js"] --> i18n_js["i18n.js"]
  main_js["main.js"] --> i18n_js["i18n.js"]
Loading

(grafo local de public/js, uma rodada atrás do head do PR.)

todo bug confessa no diff, eu só faço o interrogatório 🤡

@estraga-codigo

Copy link
Copy Markdown
Collaborator

Esbirro

Esbirro · plantão da produção · 🕵️

check vermelho parado neste PR

Caution

Não sei classificar este vermelho. Segue o que o CI cuspiu — palpite de bot sobre bug alheio só atrapalha.

o quê valor
head 3f9e5110d1dc
checks vermelhos 2
classe outra
hora do plantão 2026-08-24T18:10:07.105Z

Vermelho:

dco (https://github.com/corosolto/client/actions/runs/32758999032/job/97533056927)
Vercel (https://vercel.com/git/authorize?team=rubenmarcus'%20projects&slug=rubenmarcus-projects&teamId=team_4nZdRW8viHMCXpdixaCtzZ7z&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%223f9e5110d1dc9495e440313051e9eec63791a3c1%22%7D%2C%22id%22%3A%22QmTv1ZihSaNKqXyvhC1q4cTD9X1i6s3iBVkKKK9pS3qtAp%22%2C%22org%22%3A%22corosolto%22%2C%22prId%22%3A400%2C%22repo%22%3A%22client%22%7D)

Rabo do log:

2026-08-24T17:51:40.9767091Z ##[group]Run python3 scripts/ci/agente_check.py < /tmp/dco.json
2026-08-24T17:51:40.9767602Z python3 scripts/ci/agente_check.py < /tmp/dco.json
2026-08-24T17:51:40.9807645Z shell: /usr/bin/bash -e {0}
2026-08-24T17:51:40.9807910Z env:
2026-08-24T17:51:40.9808188Z   pythonLocation: /opt/hostedtoolcache/Python/3.13.15/x64
2026-08-24T17:51:40.9808631Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.13.15/x64/lib/pkgconfig
2026-08-24T17:51:40.9809084Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.15/x64
2026-08-24T17:51:40.9809491Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.15/x64
2026-08-24T17:51:40.9809892Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.15/x64
2026-08-24T17:51:40.9810304Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.13.15/x64/lib
2026-08-24T17:51:40.9810645Z ##[endgroup]
2026-08-24T17:51:41.1306357Z Cada commit diz quem escreveu: acrescente o trailer 'Agent: <nome do agente ou humano>'.
2026-08-24T17:51:41.1307751Z   git rebase --exec 'git commit --amend --no-edit --trailer "Agent: <nome>"' <base>
2026-08-24T17:51:41.1342152Z Co-autoria de agente de IA: quem escreveu já está no 'Agent:', e o co-autor
2026-08-24T17:51:41.1343936Z {"ok": false, "sem_agent": ["c30e425fd563f26b86771e1866127c9a3e1b528f", "1c6bfc35f169c95b0111745aa76323ce87f30d40", "ea4f19dae80d11abb8bcee00ae45b8e3a8897b9c", "ac9743288231b50dcac9f4014e7eef0c3e546e9d"], "coautoria_ia": ["244a10c67c4f577bf99c63af6d12a04562ee8d29", "c07bc62e13d206cae37bc8a956b1e64f5674ad00", "20749e7adafbcaa68c4ee8e68dba1fd9cd837fc5"]}
2026-08-24T17:51:41.1345717Z inventado entra no 'Contributors' do GitHub como se fosse pessoa. Para limpar:
2026-08-24T17:51:41.1347172Z   git rebase <base> --exec 'git log -1 --format=%B | sh scripts/checa-coautoria-ia.sh --limpa > /tmp/m && git commit --amend --no-edit -F /tmp/m'
2026-08-24T17:51:41.1349110Z Na origem, o Claude Code já vem desligado por "includeCoAuthoredBy": false em .claude/settings.json; as outras ferramentas têm opção equivalente.
2026-08-24T17:51:41.1381857Z ##[error]Process completed with exit code 1.


nada fora do normal no meu turno 🕵️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-human-gameplay Mudança exige revisão humana de gameplay/render/HUD needs-staging Mudança precisa validação integrada em staging target:main PR apontando para a branch main

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants