Skip to content

docs: troca número vencido por comando nas afirmações do AGENTS.md - #777

Open
GGBueno wants to merge 1 commit into
melgarafael:mainfrom
GGBueno:docs/afirmacoes-de-estado-agents
Open

docs: troca número vencido por comando nas afirmações do AGENTS.md#777
GGBueno wants to merge 1 commit into
melgarafael:mainfrom
GGBueno:docs/afirmacoes-de-estado-agents

Conversation

@GGBueno

@GGBueno GGBueno commented Sep 13, 2026

Copy link
Copy Markdown

O que este PR faz

Corrige 14 afirmações de estado desatualizadas no AGENTS.md, remedidas contra origin/main @ 53428145. Onde a afirmação pôde virar comando, virou: um número corrigido envelhece de novo; rode isto para saber não envelhece.

Closes #776


A matriz medida

Fonte dos achados: docs/audits/2026-08-14-afirmacoes-de-estado.md, seção AGENTS.md (22 achados) — cada um traz o comando que o mede, e foi ele que rodei. 8 dos 22 já estavam corrigidos; o que sobra é o que muda aqui.

# o texto dizia o comando deu veredito
L34 169 handlers de rota em app/api 269 falsa
L114 / L176 89 arquivos de rota com service role 148 falsa
L130 database.types.ts com 6.1k linhas 8803 falsa
L153 257 testes em tests/unit e 491 no repo 543 / 980 falsa
L163 "1 das 46 specs E2E fora do CI" 103 no disco, 3 em FORA_DO_CI falsa
L57 gov:verify = typecheck + lint + test:unit soma lint:channels e lint:role-rank falsa
L64 verify do CI = typecheck + lint + test:unit cinco passos (inclui lint:channels e test:shell) falsa
L54 test:unit exclui tests/invariants e tests:e2e exclui também tests/journeys/** falsa
L170 fallback "sem Upstash configurado" gatilho é Redis inalcançável; as duas vars são required() frágil
L69 "É check obrigatório desde 2026-08-08" data não auditável pelo repo frágil
L161 bloco datado em 789dfa6 2793 commits atrás frágil
L159 "Ver issue #63" issue fechada, título de um estado que não vale frágil
L131 graphify-out/ listado como se existisse ausente num clone fresco, e ignorado pelo git frágil

A decisão de redação, em cada caso, foi a que o próprio documento de auditoria recomenda: trocar número por comando em vez de corrigir o número.

O que eu medi

$ pnpm typecheck
exit 0        # tsc --noEmit -p tsconfig.typecheck.json, com os .tsbuildinfo apagados antes

$ pnpm lint
0 erros, 349 avisos (pré-existentes, nenhum meu — o diff é só .md)

$ pnpm lint:channels
ok (62 arquivos de dívida conhecida, nenhum novo)

$ pnpm lint:role-rank
ok

$ bash .agents/skills/deskcomm-contribuir/scripts/pre-voo.sh
✓ âncora origin/main=53428145 · 1 commit próprio · árvore limpa
✓ sem sobreposição com a main · sem arquivo novo fora das pastas do produto
✓ sem segredo no diff · sem marca ou .env no diff · sem console.log novo
✓ sem migration · CHANGELOG sem seção de versão à mão
✓ autoria: Giovane Bueno <152066770+GGBueno@users.noreply.github.com>
· sem fragmento, e o diff não toca o produto

$ pnpm exec vitest run tests/unit/documentacao-aponta-para-o-que-existe.test.ts
Test Files 1 passed (1) | Tests 4 passed (4) | exit 0

O último é o gate que este diff alcança de verdade: ele guarda as duas formas de dívida documental — ponteiro morto e nota de pendência sobrevivente — justamente nos documentos de autoridade.

pnpm test:unit — o que esta máquina mediu, e a correção de uma medição minha

Rodei a suíte inteira (791 arquivos, 8.360 casos) na árvore sem .env e sem .env.local — a mesma condição do job verify, e a condição conferida por dir antes, durante e depois da corrida:

Test Files  7 failed | 784 passed (791)
Tests       9 failed | 8350 passed | 1 expected fail (8360)

Os 7 vermelhos, por assinatura — nenhum toca AGENTS.md (a comparação é por caminho):

arquivo assinatura
tests/unit/lgpd-pdf-meet.test.ts Invalid factory url: "C:\…\pdfjs-dist\standard_fonts\" must include trailing slash — separador de caminho no Windows
tests/unit/lgpd-pdf-replies.test.ts idem
tests/unit/drain-loop-carrega-deps-sob-tsx.test.ts Hook timed out in 10000ms
tests/unit/hidratacao-useState-nao-le-o-navegador.test.ts timeout
tests/unit/rascunho-superado-nao-e-regravado.test.ts timeout
tests/unit/telas-sem-dado-de-mentira.test.ts expected [ …(2) ] to include 'app/app/ai/agents/[id]/page.tsx'
lib/theme.test.tsx assinatura não extraída — não classifiquei

Correção de uma medição minha, publicada aqui antes de eu refazê-la: este PR dizia "127 vermelhos sem os arquivos de env". O número estava medido com o .env.local presente no disco enquanto o rótulo declarava "sem env" — a condição declarada era outra. O número correto, na condição declarada, é 7. Fica registrado em vez de trocado em silêncio: número mal rotulado é o defeito que este repositório persegue, e ele quase entrou por minha mão.

O que eu NÃO medi

  • A lista de checks obrigatórios da branch protection. O endpoint exige permissão de admin no repositório: com token de contribuidor ele devolve 404 (medido em 2026-09-13). Por isso o texto deixa de afirmar a data de ativação e passa a apontar o comando — com a nota de que ele exige admin, para a próxima pessoa não gastar o tempo que eu gastei.
  • Os 7 vermelhos acima, a fundo. Sei a assinatura de cada um e sei que não tocam este diff; não sei se são do produto ou do Windows, e não vou afirmar qual é.
  • test:db, test:e2e, test:shell e build — não rodados: o diff é docs-only e não toca produto, kit nem compose.

Por que sem fragmento em .changes/

Docs-only não muda comportamento de quem opera uma VPS — é o critério de docs/doctrine/versionamento.md. E um fragmento com impacto nada_mudou produziria patch (BUMP_DO_IMPACTO, em lib/release/fragmento.ts): uma release do produto por correção de texto. O pre-voo.sh chega sozinho à mesma conclusão — "sem fragmento, e o diff não toca o produto".

Definition of Done — o que se aplica

  • pnpm typecheck zerado
  • pnpm lint zerado (0 erros)
  • diff restrito a um arquivo, e é documento de autoridade
  • a afirmação de estado sobre o que mudou foi corrigida, trocando número por comando (item 16 do DoD)
  • RLS / audit log / Zod / migration / prova de tela — não se aplicam: nenhuma linha de código, nenhuma tela

Crédito

O achado é da auditoria de 2026-08-14 — que mediu 393 afirmações e achou 227 com problema. Ela mesma advertia que os vereditos envelhecem e que o que vale é o comando; foi assim que este PR foi feito, e é por isso que ele troca número por comando em vez de só atualizar os números.

Remedição dos 22 achados sobre o AGENTS.md registrados na auditoria
docs/audits/2026-08-14-afirmacoes-de-estado.md (linhas 40-506). Oito já
estavam corrigidos; quatorze seguiam vivos, e são esses que mudam aqui.

Onde a afirmação podia virar comando, virou: contagens de handlers, de testes
e de specs, o tamanho do arquivo gerado e o conteúdo de gov:verify e do job
verify saíram do texto e passaram a ser "rode isto para saber". Número
corrigido envelhece de novo; comando não envelhece.

Medido contra origin/main @ 5342814, com o comando que a auditoria fornece
para cada achado: 269 handlers de rota em app/api (o texto dizia 169); 148
arquivos de rota usando service role (dizia 89); lib/database.types.ts com
8803 linhas (dizia 6.1k); 543 arquivos de teste em tests/unit e 980 no repo
(dizia 257 e 491); 103 specs e2e no disco com 3 declaradas em FORA_DO_CI
(dizia 46 e "1 fora"). O encadeamento de gov:verify ganhou lint:channels e
lint:role-rank, o job verify do CI tem cinco passos (pnpm lint sozinho não
cobre lint:channels nem test:shell), test:unit exclui também tests/journeys,
e o fallback em memória do rate limit não é disparado por "sem Upstash" — as
duas variáveis são required() e o gatilho é Redis inalcançável.

Também saíram duas referências que já não descrevem o mundo: o cabeçalho
"Limitações conhecidas" datava o bloco inteiro num SHA que hoje está a 2793
commits de distância, e a issue melgarafael#63 está fechada com um título que descreve
um estado que não vale mais. As duas viraram ponteiro para a fonte viva.

NÃO MEDIDO: a lista de checks obrigatórios da branch protection exige
permissão de admin no repositório — com token de contribuidor o endpoint
devolve 404 (medido em 2026-09-13). O texto passa a dizer isso, em vez de
repetir uma data de ativação que ninguém consegue auditar pelo repositório.

Sem fragmento em .changes/: o PR é docs-only e não muda comportamento para
quem opera uma VPS. O critério é o de docs/doctrine/versionamento.md, e
impacto "nada_mudou" produziria um patch (lib/release/fragmento.ts) por uma
correção de texto.

Verificado nesta máquina: pnpm typecheck exit 0, com os tsbuildinfo apagados
antes da medição (incremental transforma medição em lembrança); pnpm lint com
0 erros e 349 avisos pré-existentes; lint:channels e lint:role-rank ok.

NÃO MEDIDO na suíte unitária: neste clone ela não fecha verde. Medido: 791
arquivos, 127 vermelhos com os arquivos de env fora do caminho e 76 com eles
presentes, todos com erro de ambiente em lib/env.ts:378 e nenhum tocando
AGENTS.md. O controle positivo é o CI do SHA base 5342814, com ci, e2e e perf
verdes. Isolados, três desses arquivos reprovados passaram quando os arquivos
de env saíram do caminho — o que também é a prova de que "verde isolado" não
autoriza "verde da suíte". O gate que este diff alcança passa isolado, 4/4:
tests/unit/documentacao-aponta-para-o-que-existe.test.ts.
@vercel

vercel Bot commented Sep 13, 2026

Copy link
Copy Markdown

@GGBueno is attempting to deploy a commit to the rafael-maudibrasil's projects Team on Vercel.

A member of the Team first needs to authorize it.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Security Evidence

Commit: d11f31fa373b515a387fad8a095c3579af4e5ac6

Security evidence gate passed (success)

No security-sensitive scanner-evidence gap detected.

Mode: enforce

Scanned 1 changed file(s). No missing scanner-evidence signal was detected.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / PR Risk Taxonomy

Commit: d11f31fa373b515a387fad8a095c3579af4e5ac6

PR taxonomy review recommended (neutral)

Detected 2 PR taxonomy bucket(s): Harness Drift, Agent Config Review.

Scanned 1 changed file(s).

Roadmap taxonomy buckets:

Harness Drift

Harness-facing changes can drift across Claude Code, Codex, OpenCode, and shared adapter surfaces.

Signals:

  • 1 harness-facing path(s) changed

Paths:

  • AGENTS.md

Agent Config Review

Agent, command, skill, MCP, and local instruction changes should be reviewed as executable agent configuration.

Signals:

  • 1 agent-config path(s) changed

Paths:

  • AGENTS.md

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Reference Set Readiness

Commit: d11f31fa373b515a387fad8a095c3579af4e5ac6

Reference set readiness gaps detected (neutral)

Reference evidence present for 0/7 areas (0%) across 1 changed file(s).

This check is based on files changed in this PR. Repository-level readiness is still reported by /ecc-tools analyze comments and generated manifests.

Area Status Evidence / Next Step
Deep analyzer corpus Missing Add analyzer fixture, golden, benchmark, or reference-set files that can catch analyzer regressions.
RAG/evaluator comparison Missing Add retrieval or evaluator reference-set comparison fixtures with expected ranking behavior.
PR salvage/review corpus Missing Add stale-PR, review-thread, reopen-flow, or salvage reference cases for queue cleanup automation.
Discussion triage corpus Missing Add public discussion triage fixtures, golden cases, or reference sets for informational, answered, and no-response classifications.
Harness compatibility Missing Add cross-harness, adapter-compliance, or harness-audit evidence for Claude, Codex, OpenCode, Zed, dmux, and agent surfaces.
Security evidence Missing Attach security evidence such as SBOMs, SARIF, audit reports, or AgentShield evidence packs.
CI failure-mode evidence Missing Add captured CI failure logs, dry-run fixtures, or troubleshooting docs for common workflow failure modes.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@github-actions

Copy link
Copy Markdown

Recebido, @GGBueno — obrigado por isto.

Duas coisas que vão parecer erro seu e não são:

  • O check Vercel vermelho ("Authorization required to deploy") é esperado em PR de fork. A
    main faz deploy de produção e a Vercel se recusa a construir código de fora, o que está
    certo. Ele não entra no gate de merge.
  • No primeiro PR de quem nunca contribuiu aqui, os workflows ficam parados esperando
    liberação
    — política do GitHub, não sua. Enquanto isso o PR parece não ter check nenhum
    (nem o gh pr checks mostra os que estão nesse estado). Quem tria libera; você não precisa
    fazer nada.

Um mantenedor vai revisar de verdade — rodando os gates e reproduzindo o comportamento, não só
lendo o diff — e responde aqui em até um dia útil, com a medição junto, nunca com um "acho
que".

Esta mensagem é automática e não diz nada sobre o seu PR: ela é sobre o processo. O que vem
depois é pessoa.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Hosted Promotion Readiness

Commit: d11f31fa373b515a387fad8a095c3579af4e5ac6

Hosted promotion readiness passed (success)

No hosted promotion evidence gaps detected across 1 changed file(s); 0 corpus scenarios had matching evidence.

This check compares PR file changes against the evaluator/RAG promotion corpus in src/analyzers/fixtures/evaluator-rag-corpus.ts.
Hosted output scoring inspected 0 completed cached hosted job results.

No evaluator corpus scenarios matched this PR.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / PR Config Audit

Commit: d11f31fa373b515a387fad8a095c3579af4e5ac6

No changed-config issues detected (success)

Scanned 1 config file(s) present at this commit across 1 changed config path(s) and found no issues in the supported security rules.

Changed config files:

  • AGENTS.md

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / PR Harness Audit

Commit: d11f31fa373b515a387fad8a095c3579af4e5ac6

Harness warnings detected (neutral)

Scanned 1 changed config file(s) and found 1 harness issue(s).

  • [medium] ECC manifest missing (AGENTS.md)

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@GGBueno

GGBueno commented Sep 14, 2026

Copy link
Copy Markdown
Author

Correção de uma medição minha neste PR, publicada antes que alguém a use como régua.

A versão anterior do corpo dizia: "791 arquivos, com 127 vermelhos sem os arquivos de env no caminho e 76 com eles presentes".

O 127 foi medido com o .env.local presente no disco — o rótulo declarava "sem os arquivos de env", e a condição medida era outra. Remedi com a condição conferida por dir antes, durante e depois da corrida:

condição vermelhos
.env + .env.local presentes 76 arquivos / 64 casos
.env fora, .env.local presente 127 arquivos / 195 casos ← o número mal rotulado
nenhum dos dois (a condição do job verify) 7 arquivos / 9 casos

Na condição correta a suíte fica em 784 de 791 arquivos e 8350 de 8360 casos:

Test Files  7 failed | 784 passed (791)
Tests       9 failed | 8350 passed | 1 expected fail (8360)

Os 7 vermelhos, por assinatura — nenhum toca AGENTS.md (a comparação é por caminho): dois são pdfjs-dist recusando caminho do Windows (Invalid factory url: … must include trailing slash), três são timeout (Hook timed out in 10000ms / Test timed out in 15000ms), um é asserção de inventário em tests/unit/telas-sem-dado-de-mentira.test.ts, e lib/theme.test.tsx eu não classifiquei.

Não reescrevi o commit por causa disso: push --force é proibido para quem contribui de fora neste projeto. A correção vai onde pode ir — aqui e no corpo do PR.

Registro o método, porque foi ele que pegou o erro: a primeira rodada "sem env" tinha um arquivo de env no caminho, e só a impressão da condição antes e depois tornou a diferença visível. Número medido em condição diferente da declarada não é conservador nem otimista — é outro número, de outra pergunta.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AGENTS.md: 14 afirmações de estado desatualizadas (remédida da auditoria de 2026-08-14)

1 participant