Auditoria do conteúdo PHP
Relatório histórico do snapshot PHP
0e467bf4e das verificações originais. As atualizações de ajuda/baseline para alpha1 e alpha2 estão registradas separadamente abaixo, sem converter testes antigos em execuções novas.
Data: 17/10/2026. Escopo: conteúdo PT-BR em pages/ e exemplos em examples/, sem alteração da biblioteca, sem certificado real e sem chamada fiscal remota.
Fonte exata
- Repositório:
cosmemilton/acbr-php. - Commit lido:
0e467bf4af7eba4848596d630554624049dd6a7d. git rev-parse HEADconferido;git status --shortdo checkout fonte sem alterações ao fim da escrita.- Fontes inspecionadas: README, Composer,
src/, CLI, pin e contrato JSON,tests/, fixture sintética, documentos de runtime/plataforma/verificação e avisos de licença. - Não foi encontrado
AGENTS.mdna árvore compartilhada inspecionada.
Conteúdo entregue
14 páginas: introducao, instalacao, runtime, configuracao, exemplos, contrato, api, operacoes, resultados, erros, recuperacao, assincrono, faq e fontes.
O catálogo integral tipos.md e a cópia pública do contrato serão gerados pelo responsável pelo scaffold a partir do mesmo contrato. O guia contrato.md trata modelos, schema e help; não é o catálogo.
8 arquivos PHP: bootstrap, geração XML, help, modelos, assinatura offline, oito operações mock, recuperação mock e async offline. Fixture JSON sintética derivada da fonte, com nomes do emitente/produto e identificação do processo substituídos por descrições explícitas de teste. Ambiente de documento e todos os construtores de configuração fixados em homologação.
Validação executada nesta tarefa
Interpretador portátil isolado fornecido pelo executor principal: PHP CLI 8.4.26, Windows, -n. Foi usado apenas para parser e execução PHP pura. Isso não prova suporte do SDK/runtime em Windows.
php -n -laprovado nos 8 arquivos PHP de exemplo.- Todos os 22 blocos Markdown marcados
phpforam extraídos, receberam<?phpquando necessário e passaram emphp -n -l; assinaturas esquemáticas estão marcadastext. help.php 'Det[].Prod.vProd': aprovado; retornou caminhoTNFe.Det[].Prod.vProd, decimal string, escala 4 e hash/revisão esperados.modelos.php: aprovado; imutabilidade, getters/coleções, validação da fixture e contagem de 204 tipos.operacoes-mock.php: aprovado; oito métodos chamados uma vez cada; três operações locais classificadasnao_enviado, cinco respostas fiscais simuladas coerentes classificadasautorizado. Nenhum worker nativo ou endpoint usado.recuperacao-mock.php: aprovado; timeout simulado com flags incertas e XML original preservado, uma transmissão seguida de uma consulta coerente, sem retry de transmissão.- JSON sintético analisado;
Ide.tpAmb === 'taHomologacao'confirmado. A mesma fixture foi aceita peloContract::validate()real. - 87 links relativos Markdown examinados antes de integrar o scaffold: nenhum ausente além de
tipos.md(catálogo explicitamente a ser gerado pelo executor principal) e esteAUDIT.md, criado em seguida. - Revisão independente do contrato por outro agente não encontrou divergências adicionais na API, parâmetros, classificação ou limites.
Os exemplos PHP puros carregaram o autoloader de testes do checkout fonte por ACBR_PHP_AUTOLOAD em vez de instalar dependências no SDK. O pacote não foi alterado e os exemplos públicos continuam aceitando autoload Composer instalado do consumidor.
Comandos para repetir as verificações puras
Com ACBR_PHP_AUTOLOAD apontando para o autoload de um consumidor do commit fixado:
php -n -l examples/bootstrap.php
php -n -l examples/gerar-xml.php
php -n -l examples/help.php
php -n -l examples/modelos.php
php -n -l examples/assinar-offline.php
php -n -l examples/operacoes-mock.php
php -n -l examples/recuperacao-mock.php
php -n -l examples/async-offline.php
php -n examples/help.php 'Det[].Prod.vProd'
php -n examples/modelos.php
php -n examples/operacoes-mock.php
php -n examples/recuperacao-mock.phpLimites e verificações de integração
Geração/assinatura/validação nativas e a fila Linux não foram executadas por este subexecutor, pois o ambiente desta tarefa é Windows e o runtime PHP documentado é somente Linux x64/glibc. Os resultados históricos do SDK são atribuídos explicitamente às fontes versionadas, sem apresentá-los como teste novo desta documentação. Composer VCS/lock não foi instalado novamente por este subexecutor; o exemplo declara a origem real e commit, sem presumir publicação Packagist.
O executor principal é responsável por integrar pages/ ao site, gerar tipos.md, expor downloads/contrato/AUDIT de forma coerente com os links, validar build e links finais, publicar atomicamente e comprovar HTTP, assets, busca, navegação responsiva e capturas. Este registro não afirma que deploy ou smoke HTTP já ocorreram; a conclusão da publicação exige essas evidências adicionais.
Atualização da alpha1 e ajuda de campos e tipos
A atualização anterior fixou o SDK 0.1.0-alpha1, tag no commit 510410a9e0a7bd1420031ce6c20b7ccdd9526072, com runtime 0.2.1. O conteúdo histórico acima permanece com seus snapshots originais. Instalação, ajuda, API, recuperação, fontes e navegação foram reconciliadas com as fontes fixas da alpha1; novos comandos CLI não foram apresentados como disponíveis.
Verificação desta atualização em Windows com PHP portátil, sem carregar extensões via php.ini (-n):
- 10 arquivos PHP passaram no lint: nove exemplos e o teste de ajuda.
tests/help-contract.php: 14 verificações deIde.tpNF,TTipoNFe, valores, padrão do campo, ausência de padrão no tipo, normalização de caminho/índice, cópias independentes e erros.- Consultas válidas e inválida por
examples/help.php, modelos existentes, oito operações mock, timeout mock erecuperar-xml-mock.php: aprovados. - CLI alpha1: ajuda geral aprovada;
describee--versionrecusados com saída2, coerentemente com sua indisponibilidade nessa versão. - 21 comandos locais concluídos. As funções de execução de processos e conexão por socket estavam desabilitadas, assim como
allow_url_fopen; nenhum worker ou serviço fiscal foi executado. npm test: 161 links locais, build de 20 páginas HTML e 818 referências, com índice de busca local, aprovados no primeiro build desta atualização.
Os testes usaram uma cópia de referência extraída por git archive do commit fixado, com autoload PSR-4 isolado. Isso verifica os exemplos contra os fontes versionados; não substitui uma instalação Composer nem testes de plataforma/runtime. As verificações do pacote publicado pertencem às fontes da release. Os arquivos públicos dos novos exemplos correspondem aos respectivos arquivos de examples/.
Para reproduzir o teste de ajuda em uma aplicação com a alpha1 já instalada:
export ACBR_PHP_AUTOLOAD=/caminho/absoluto/da-aplicacao/vendor/autoload.php
php -n -d disable_functions=proc_open,exec,shell_exec,system,passthru,popen,fsockopen,pfsockopen,stream_socket_client -d allow_url_fopen=0 tests/help-contract.php
php -n -d disable_functions=proc_open,exec,shell_exec,system,passthru,popen,fsockopen,pfsockopen,stream_socket_client -d allow_url_fopen=0 examples/recuperar-xml-mock.phpOs caminhos tests/ e examples/ acima pertencem a este repositório de documentação. O mock não valida XML fiscal: ele demonstra apenas o contrato PHP e a interpretação local de uma resposta sintética. Capturas, busca interativa, navegação móvel e eventual publicação são verificações separadas; esta preparação não atualizou o VPS.
Atualização para alpha2 publicada
A referência corrente é 0.1.0-alpha2, tag no commit a3815542ee1a7d922d0cb4c553f53bf97144f0d4. A versão e as referências de fonte/dist foram confirmadas no índice público do Packagist antes de promover a disponibilidade nesta documentação. O PR #5 acrescenta a CLI de ajuda; Contract, Emitter, FiscalResult, pin do runtime, LICENSE e NOTICE têm os mesmos bytes Git da alpha1. O runtime permanece 0.2.1 e os relatos históricos anteriores conservam suas versões.
Validação local desta documentação, contra uma cópia fixa do merge extraída por git archive, com PHP portátil em Windows e -n:
- 35 chamadas CLI aprovadas: ajuda geral/específica, versão
0.1.0-alpha2, texto e JSON, enum, padrão do campo, ausência de padrão no tipo, alvo raiz, coleções, normalização de índices e erros de consulta/sintaxe. - Confirmados os canais: consulta textual inválida em stderr/saída 1; consulta JSON inválida em stdout/saída 1; sintaxe inválida em stderr/saída 2, inclusive com
--json. - Uma verificação comparou a saída JSON da CLI com
Contract::help()acrescida desdkVersion; a API continua sem esse campo. - Duas regressões aprovadas: as 14 verificações de
tests/help-contract.phpeexamples/recuperar-xml-mock.php, agora carregando os fontes alpha2. - Total: 38 comandos/verificações locais. Funções de processos/conexões por socket e
allow_url_fopenestavam desabilitados; nenhum worker, certificado real ou serviço fiscal foi executado.
Esses testes verificam os fontes do merge e seus exemplos; não são uma instalação Composer. Separadamente, o executor do SDK relatou consumidor instalado pelo Packagist padrão, 263 arquivos iguais à tag, 42 verificações com 24 comandos CLI e geração sintética offline. A suíte do SDK relatou 3.985 verificações. Essa é evidência externa da release, distinta da validação local do site; consulte o registro versionado do SDK.
Os testes não executaram envio ou recuperação fiscal remota. O guia de ajuda distingue os comandos instalados da alpha2 das APIs e exemplos compatíveis com a alpha1. Build, busca, capturas e publicação continuam sendo etapas de validação próprias do site.