Superadmin · arquitetura
Arquitetura
Harness documentados e hooks instalados nos agentes, com o que cada um prova, o que não prova e onde está.
- Verdes na última medição0 verdes · 0 vermelhos117 nunca medidos
- Documentados117em docs/HARNESS.md e docs/nucleo/HARNESS-local.md11 comuns a módulos
- Cobertura por aplicativoNenhuma instalação medida no banco.
- Resultado em 7 diasNão medido: o banco central guarda só a última medição de cada harness, sem série histórica.
Harness documentados
Harness é o teste automático que prova uma regra. Esta lista vem dos documentos de harness: o que cada um prova, o que não prova, o comando e onde roda.
117 harness lidos de docs/HARNESS.md e docs/nucleo/HARNESS-local.md.
GPU-DASHBOARD | catálogo dual e contraste | telemetria ao vivo, navegador | python3 modules/gpus/dashboard/harness.py | mudança e fechamento da rota `/gpus` | — | — | — |
H-ACAO-01 | ações do /deploy com retorno (19/09/2026) | o componente | npm run test:deploy-ciclo | — | — | — | — |
H-APP-CONNECTION-CLIENT | 180 combinações Python/TS; retries, contrato, 32 chamadas concorrentes, reinício, conflito, isolamento cadastral e 3 mutações da borda | TLS, credencial, PostgREST e OTP reais; deploy | python3 modules/app_connection/harness.py all | servidor, à mão (SSM 995afa0d no i-0599d7fd97009e8b0, árvore do commit 40191ae80 com npm ci), fora do passo Gates: em 07/11/2026 saiu 1: `ModuleNotFoundError: test_maquina` — o teste segue apagado e citado na baseline do harness-deps; nunca Mac | — | — | — |
H-APP-CONNECTIONS-20261016 | conexão bilateral e diretório | — | python3 modules/app_connection/protocol/harness.py all | — | — | — | — |
H-ARCH-LOOP-01 | runner único das seis etapas | que o comando mede a coisa certa | python3 script/gate/run_loop.py ... | Etapas 0–6, uma etapa por vez | — | — | — |
H-ARCHITECTURE-01 | página Arquitetura (`/harness`, abas `harness` e `hooks`): parser dos dois documentos de harness com paridade TS × Python pelo node, inventário `docs/architecture/hooks-inventario.json` ilegível = não medido, máquina `architecture-hook-toggle@1.0.0` (definicao.json × migration 202610301720) com guardas, idempotência e trava otimista; famílias dos hooks (lista de tarefas, resumo final, autorização) no inventário gerado por `modules/architecture/inventario_hooks.py`, com todo hook de `session_tasks` ligado a uma (P13 de 30/10/2026); selo do MANIFEST; 8 sabotagens | PostgreSQL real e RLS (ensaio em rollback registrado na lista de 30/10 16:21), navegador, instalação de hook (o interruptor só registra o pedido; D0) | python3 -I modules/architecture/harness.py prova | servidor; nunca Mac | — | — | — |
H-AREA-MAP-01 | vínculo entre navegação e módulos donos | — | npm run test:area-module-map | mudança em link, módulo dono, capacidade ou telemetria de uma área | — | — | — |
H-AUDIT-01 | domínio isolado do audit de documento: 9 casos verdes no Linux em 05/11/2026 — offsets exatos de legenda, data/hora, tabela, quantidade e valor; cobertura de todo token; equivalência literal × legado sem mutar a proposta; recusa de perda, duplicação, alteração, ordem e grupos inválidos; projeção matemática preserva referências; token ausente e literal adulterado recusados; não superadmin não treina | a composição instalada (`prove`/`all` via `universal_reader.prove_component`, não medida aqui); UI, banco, HTTP e treino real | python3 modules/audit/harness.py prova | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-AUDIT-DESIGN-01 | auditor de design: 36 casos verdes no Linux em 05/11/2026 — escopo operacional (fixtures negativas da proposta, zero booleano não é comparação), gráficos micro (arco grande forjado e inventário ausente reprovam, fonte parcial não desenha anel, zero sem arco), juízo do console (assets renomeados/sem licença, subconjunto de cards, SQL ausente nunca vira zero, P9 com referência errada, registro all38), regiões P9 e import real do decodificador PNG (namespace desconhecido recusado) | a auditoria contra telas reais no navegador, a coleta (`coletar_apresentacao.js`), o hook e a publicação; o comando do MANIFEST (`task_traceability/test_workflow.py`) não testa este módulo | cd modules/config/design_system && python3 -m unittest -v audit_design.test_escopo_operacional audit_design.test_graficos_micro audit_design.test_juizo_console audit_design.test_p9_regioes_console audit_design.test_pintura_import | servidor (SSM EC2 Linux); nunca Mac | — | — | comum a módulos |
H-AUTORIZACAO-DONO-01 | fail-closed: escrita de arquivo pela ferramenta ou pelo shell (redirect, `tee`, `sed -i`, `cp/mv/rm/ln/rsync/install`, `truncate`, `dd`, `find -delete/-exec`, `git rm/mv/checkout/restore`, `patch`, `eval`, `xargs`, shells e interpretadores `-c`) só em caminho de `## Escopo (caminhos)` da lista vigente cuja tarefa cita um `P<n>` de prompt do dono com sha256 registrado em `~/.claude/state/tarefas/eventos.jsonl`; lista encerrada, sem ponteiro, sem escopo ou prompt automático nega; substituição de comando, variável não atribuída no próprio comando e heredoc para interpretador são «não medido» = negado; vermelho em 23/10/2026 (25 casos unittest com ~75 escritas fora e ~22 não medidos; stdin real negou `app/page.tsx` e `rm -rf modules/global_modules` e permitiu `docs/nucleo/HARNESS-local.md`) | escrita feita fora das ferramentas do agente; o conteúdo da alteração (só o caminho é medido); binário que escreve sem constar como escritor; que o prompt casado veio do dono (a prova é o hash do `UserPromptSubmit`, não a autoria) | npm run test:owner-authorization | servidor (passo Gates do deploy); nunca Mac; hook em toda sessão | — | — | — |
H-BACK-SYSTEM-01 | maquina.validar_auditoria: 14 casos (ausência, parcial, origem fora do servidor, outro pedido/SHA, artefato curto, exit bool, sem comando ficam nao_medido; vermelha vence; última prova vale), sem mutação e determinístico; selar_regras invariante à ordem de chaves; 19 portas de auditoria iguais ao catálogo audits.json, cada uma com nao_medido sem prova e aprovado/reprovado por exit; executor sem fonte atestada, com política trocada ou sem receita resulta em not_measured, journal 'unavailable' e nenhum Popen (3 cenários); 3 suítes, 26 testes OK, 0 skips, com identidade sintética 65534 no lugar do usuário iconsai-audit; 4/4 sabotagens reprovadas. Medido no EC2 em 05/11/2026 (SSM 35e2d1f0) | Não prova a política real em /etc/iconsai/task-execution, o runner real como iconsai-audit, a assinatura de design nem a integração com o worker; depende dos arquivos WIP de back_system serem commitados | python3 -I modules/back_system/harness.py prova | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-CAD-01 | cadastro de superadmin: editar, desativar, reativar (docs/IDENTIDADE-CENTRAL.md §4, F3) | — | npm run test:cadastro-superadmin | toda mudança em `modules/superadmin`, `app/api/admins/[id]`, `modules/superadmin/ui/CadastroSuperadmin.tsx` ou na migration 0065; o E2E roda no Playwright do CI; a prova SQL roda à mão (o CI não tem conexão Postgres direta) | — | — | — |
H-CADASTRO-PG-01 | `deploy_registration_apply` (0094) em PG descartável: 36 casos, 8 sabotagens (hash constante, sobrescrever app, pular verificação, parque presumido…), idempotência, rejeição registrada | Supabase prod, RLS, PostgREST, GitHub real | npm run gate:deploy-cadastro-pg | servidor, à mão (SSM), fora do passo Gates: em 06/11/2026 saiu 0, 36/36 casos e 8/8 sabotagens (SSM f03a40c0, `PATH` com `/usr/lib/postgresql/16/bin`); nunca Mac | — | — | — |
H-CANAL-01 | ordem dos canais de OTP | envio real de OTP; tela | modules/auth/channel-meta.ts | **não automatizado** — ver lacunas | — | — | — |
H-CATCH-01 | exceção engolida sem registro | `catch{return null}`, `.catch(()=>{})` | npm run gate:catch-vazio | passo `Gates` de `gates.yml` e `deploy.yml` | — | — | — |
H-CI-01 | a porta do CI, e o erro que não vira dado (20/09/2026) | o escopo do token **real** (isso é `npm run ciclo:ao-vivo`, fora do CI de propósito); que o GitHub responda o que o stub finge; que a segunda cópia do cliente tenha saído — ela **não** saiu, ver a pendência abaixo; e o que o navegador desenha (isso é o E2E) | npm run test:ci-adaptador | — | — | — | — |
H-CI-02 | painel de pré-publicação, por commit e em ordem de execução (22/09/2026) | que o GitHub real respondeu — isso é a leitura autenticada da rota; que alguém aprovou um commit — o botão abre a decisão canônica da aba Agora | npm run test:ci-painel | — | — | — | — |
H-CNPJ-OFICIAL | normalização BrasilAPI determinística; CPF mascarado recusado | HTTP, insert; não está no passo Gates | npm run test:cnpj-oficial | servidor, à mão (SSM), fora do passo Gates: em 06/11/2026 saiu 0 (SSM 388a335b); nunca Mac | — | — | — |
H-COACH-01 | regras puras e guards de seleção do coach: 9 casos verdes no Linux em 05/11/2026 — conexão e listagem obrigatórias para todo papel, coach obrigatório e fornecedor nunca inferido, vazio/duplicado/injeção recusados, classe/categoria/documento forjados recusados, GPU nunca usa provedor externo nem gateway do Mac, projeção de inferência limitada e com fontes, contrato de estados declara todos os eventos e guards, parser de taxonomia não executa a fonte, seleção válida usa rótulos canônicos e hash | GPU, banco (`harness_banco.sql`, migration 0170), navegador, worker real e publicação | python3 modules/coach/harness.py prova | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-COLETA-CI-01 | falhas do Actions em `deploy_check_failures` (ci), idempotente | log expirado; agendamento | npm run collect:falhas-ci [-- --run <id> | --limite N] | à mão | — | — | — |
H-COMPANY-REGISTRY-01 | company-registry@1.0.0: máquina pura, espelho do SQL (corpo vigente de `company_registry_apply` na migration 0157 e a 0154) e selo; no Linux em 05/11/2026: 288 combinações, 17 cenários, 21 cenários de conexão, 10/10 sabotagens reprovadas, 0 erros | execução da migration em PostgreSQL real, banco de produção, rede e UI | python3 modules/company_registry/harness.py prova | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-CONEXOES-PORTA-01 | 8 recusas da porta em produção (401 `UNAUTHORIZED_OPERATION`/`unauthorized`, 404 `UNKNOWN_CONNECTION`, `no-store`); 5 sabotagens de fixture | credencial verdadeira de aplicativo, conteúdo das conexões | npm run gate:conexoes-porta | servidor: `:autoteste` no passo Gates do deploy; sonda de rede sob demanda no servidor; `:autoteste` saiu 0 em 06/11/2026 (SSM 699b6154); nunca Mac | — | — | — |
H-CONSUMO-M1-01 | guards M1 em precedência fixa, saída com `motivo`/`restante`/`acaba_primeiro`/`chave_idempotencia`, `gate` 0/1/2, `evento` idempotente, `replay` que recusa adulteração; 6720 casos da definição; verify das ligações (monitor × comando antigo × gatilho faltando × Codex `hooks=false`/ilegível); 6 + 7 sabotagens | que a sessão real enviou os eventos (isso é o `m1/eventos.jsonl` da máquina); contagem de tokens do provedor | python3 -I modules/config/consumption_governance/test_m1.py | servidor (`servidor-teste.sh`); nunca Mac | — | — | comum a módulos |
H-CONSUMO-MONITOR-01 | `hook_monitor.py` delega a `maquina.py` nos 4 gatilhos; LIMPEZA vira JSON `decision:block` com o motivo do gate e `PROMPT_BLOCKED` no log; `event_id` sha256 determinístico; integração contra a máquina real; 8 sabotagens | que o Claude Code honra o bloqueio em produção (prova é o S8); Codex enquanto `[features] hooks = false` (sem_ponto_de_bloqueio, decisão do dono) | python3 -I modules/config/consumption_governance/test_monitor.py | servidor; nunca Mac | — | — | comum a módulos |
H-COST-LINE-01 | domínio isolado de linha de custo: 5 casos verdes no Linux em 05/11/2026 — evidência não normaliza espaços do documento, custo de empresa alheia recusado, amostra de treino inválida recusada, só despesas e custos analíticos, recibo não cria custo | a composição instalada (`prove`/`all` via `universal_reader.prove_component`, não medida aqui); UI, banco e treino real | python3 modules/cost_line/harness.py prova | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-DASHBOARD-01 | central de validação | — | npm run test:dashboard | mudança na home, nas áreas ou na máquina de atualização | — | — | — |
H-DB-01 | estado real do banco central | dados, RLS | npm run db:check | sequência de gate | — | — | — |
H-DB-SESSAO-01 | o corpo de `continue_session` (dentro de `npm run db:check`) | execução (E2E) | npm run db:check | CI | — | — | — |
H-DEPLOY-01 | a árvore de deploy | — | node scripts/deploy-gate.mjs <sha> | job `deploy` do app, primeiro passo | — | — | — |
H-DEPLOY-02 | a árvore de deploy | — | node scripts/deploy-prepare.mjs | mão da sessão, depois do commit | — | — | — |
H-DEPLOY-03 | a árvore de deploy | — | node scripts/deploy-record.mjs | job `deploy` do app, `if: always()` | — | — | — |
H-DEPLOY-AUDIT-01 | avaliar(): bateria válida aprova com publicacao_autorizada=False; 27 mutações reprovam cada uma com o código esperado (executor_nao_central, origem_nao_verificada, arvore_nao_exclusiva, bateria_parcial_ou_desconhecida, plano_divergente, identidade_*, artefatos_nao_verificados, plano_vazio, resultados_ausentes, teste_ausente, teste_fora_do_plano, resultado_duplicado, skipped/flaky_ou_desconhecido, teste_reprovado, teste_sem_assertiva, teste_alterado, evidencia_nao_verificada, intervalo_invalido), bloqueios ordenados, sem mutação das entradas e determinístico; inventario: 8 casos em árvores temporárias (expansão de npm run aninhado, 5 recusas de gramática, ciclo e script ausente, symlink fora da árvore); a árvore real foi recusada inteira (fail-closed), sem inventário parcial; 3/3 sabotagens reprovadas (ignorar skip, autorizar publicação, aceitar plano trocado). Medido no EC2 em 05/11/2026 (SSM 35e2d1f0) | Não prova o adaptador autenticado que fornece contexto.trusted, a integração no canonical_deploy nem a utilidade real de cada gate; inventario.json está desatualizado porque a gramática recusa `-- --autoteste` | python3 -I modules/deploy_audit/harness.py prova | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-DEPLOY-GATE-01 | — | — | npm run test:deploy-gate | passo Gates de `gates.yml` e `deploy.yml` | — | — | — |
H-DEPLOY-SUPERVISION-01 | supervisão do deploy canônico | Não comprova banco, SSH ou produção reais; Não comprova corrida entre conexões; Não comprova interface ou efeitos remotos; Fixtures não provam integração com worker/DB reais; Resultados por ambiente e instante na lista canônica; lacunas continuam explícitas | python3 modules/canonical_deploy/supervision/harness.py | somente servidor; detalhes em `docs/HARNESS.md` | — | — | — |
H-DESIGN-AUDIT-01 | catálogo dos 14 itens do P2 de 24/10/2026 (coberto/parcial/lacuna) × resultado do `screen_evidence` dos 5 alvos (`alvos.json`); mapa por alvo e item com sha256 canônico estável sob permutação; lacuna, parcial, alvo sem inspeção, inspeção 2 e lista truncada saem 2, nunca 0; violação sem item contada; máquina por alvo (pendente→medindo→julgado/falhou, correção volta a pendente) com eventos imutáveis, idempotência sem relógio na chave, trava otimista, guards e replay que recusa evento adulterado ou sequência furada; 5 sabotagens; vermelho em 24/10/2026 (sha dos alvos dependia da ordem) | que a página foi medida (isso é a inspeção do `screen_evidence`); itens parciais e lacunas D05–D14 (anatomia, lábios, exemplos da Anthropic, «deve animar», «não deve existir») sem verificador; navegador; persistência dos eventos | python3 -I modules/design_audit/harness.py | droplet; nunca Mac | — | — | — |
H-DESIGN-ESTRUTURA-01 | aba IA do `/token` (P1 e P11 de 30/10/2026): abas sem ícone (E1); título «Tokens de IA» seguido só do resumo, explicação só no «?» (E2); ordem `SessionRulesNow` → `UsageCompactSummary` na aba IA, `UsageLiveView` no técnico, `ConsumptionInstallChecklist` na configuração (E3); todo `data-indicador` com `data-forma`, inclusive regras, resumo e instalação (E4); sem largura própria (E5); `UsageLiveView`, part-2 e `AgentSessionsView` no sha congelado (E6); 11 sabotagens | renderização no navegador, dados reais da API, contraste, 1600px servido (isso é o `screen_evidence`) | npm run gate:design-estrutura | servidor; nunca Mac | — | — | — |
H-DIAG-01 | — | — | npm run test:diagnostico | — | — | — | — |
H-DOD-ATOMICO-01 | a ingestão de DoD não deixa metade | — | — | — | — | — | — |
H-DOD-ATOMICO-PG-02 | a transação, contra um PostgreSQL de verdade | Supabase prod, RLS, PostgREST | npm run gate:dod-atomico-pg | servidor, à mão (SSM), fora do passo Gates: em 06/11/2026 saiu 1, 27/28 — o caso «relatório E2E real → `verde`» exige `.artifacts/e2e/harness-report.json`, ausente fora de uma bateria E2E (SSM f03a40c0, 205d65a4); nunca Mac | — | — | — |
H-DONO-01 | dono dos dados (guideline §5.1) | nome dinâmico, trigger/cron | npm run gate:dono-dos-dados | toda mudança que acessa tabela, RPC ou SQL; passo `Gates` de `gates.yml` e `deploy.yml` | — | — | — |
H-DS-MODAL-01 | máquina de geometria (centro, mover, redimensionar, restaurar, mobile, colunas) em fixtures, paridade py×ts, componente puro, gate reprova dialog fora do DS e faixa no topo | navegador real, foco/Escape em runtime, publicação | python3 -I modules/config/design_system/test_modal.py | servidor (ordem 20/10); nunca Mac | — | — | comum a módulos |
H-DS-SIMULACAO-01 | tipo `simulacao` do `design-system@2.0.0`: os 20 modelos remontados byte a byte (sha256) de casca + especificação por `simulacao/montar.py`; catálogo × arquivos; 11 sabotagens | renderização no navegador, contraste, interação dos modelos | python3 -I modules/config/design_system/harness.py simulacao | droplet; nunca Mac | — | — | comum a módulos |
H-ECO-01 | registro único de software (docs/IDENTIDADE-CENTRAL.md §2) | uso real do login; URL responde | npm run gate:ecossistema-unico | toda mudança em lista de aplicativos, `login_applications` ou no inventário; passo `Gates` de `gates.yml` e `deploy.yml` | — | — | — |
H-ECO-02 | vigia do ecossistema: descoberta contínua (docs/IDENTIDADE-CENTRAL.md §3) | `ativo`; privados; decisão humana | npm run gate:ecossistema-vigia:autoteste | autoteste no passo `Gates` de `gates.yml` e `deploy.yml`; canal disco de hora em hora (launchd `ai.iconsai.ecossistema-descoberta`); canal GitHub de hora em hora (`ecossistema-descoberta.yml`, fora dos checks exigidos) | — | — | — |
H-ESPELHO-01 | — | — | npm run test:espelho-do-ci | — | — | — | — |
H-FRONTEIRA-01 | fronteira de módulo do guideline canônico | dado certo; `import(var)` | npm run gate:fronteira-modulos | toda mudança em `modules/`, `lib/modulos/`, `shared/` ou em quem os importa | — | — | — |
H-GH-01 | proteção do ramo `main` no GitHub | — | npm run github:protecao | sob demanda (rede); o autoteste roda no passo `Gates` | — | — | — |
H-GLOBAL-ORGANS-GUARD-01 | S1/S2: órgãos (arquivos fora de `ui/`) dos módulos dos grupos CONFIG e INTEGRAÇÕES descobertos em `modules/catalog.json` e selados em `orgaos.json` (21 módulos, 429 órgãos); o hook nega Edit/Write/MultiEdit/Bash em órgão de app fora do superadmin, libera `ui/`, a fonte e a reinstalação byte a byte, e grava alerta idempotente para a superadmin-8e; 17 casos com 4 sabotagens; stdin real negou `rotas/modules/config/MANIFEST.json` e `sed -i` em `rotas/modules/config/index.ts` | escrita feita fora das ferramentas do agente; Codex (sem hooks); conteúdo já divergente nas 55 cópias (isso é o `module_usage_audit`) | npm run test:global-organs-guard | servidor (`npm run deploy -- --so-testes`); hook em toda sessão Claude | — | — | — |
H-GPU-TRAINING-PIPELINE-01 | Central de Treino | — | — | — | — | — | — |
H-HARD-RELOAD-01 | máquina hard-reload@1.5.0 no EC2 em 05/11/2026: 168 pares estado×evento, 34 aceitos e 134 recusados; test_maquina.py verde; sabotagens 40/40, portabilidade 5/5 e consumidor 10/10 reprovadas; auditoria do superadmin 8/8 requisitos; selo de 17 arquivos confere e 1 byte alterado em maquina.py reprova | o verbo `skills` (contratos das skills fora do repo), navegador real, banco e rotas /api/session/* em produção | python3 -I modules/config/hard_reload/harness.py validate | servidor (SSM EC2 Linux); nunca Mac | — | — | comum a módulos |
H-HARNESS-WATCH-01 | vigia `harness-watch@1.0.0` em Python puro: inventário de todo harness (este arquivo, `package.json`, passo Gates, catálogo, auditoria de natureza, unificação, claims e listas `docs/tasks`), máquina de 8 estados com eventos imutáveis encadeados por sha256, chave idempotente, trava otimista e replay que recusa adulteração/sequência furada; regras V1–V8 (não roda no servidor, roda no Mac, sem sabotagem, catálogo reprovado, cópia divergente, harness sem módulo, módulo sem harness, sem uso) com o violador por frente/sessão; tabelas módulos × harness, aplicativos × módulo (aprovado/reprovado/não medido) e vetor de treino imutável × customizável por camada; G-PY sobre o próprio módulo; 9 sabotagens; o painel das abas «Módulos», «Aplicativos» e «Treinamentos» de `/sistema` confere o digest e cai em «não medido» se divergir | que o harness foi de fato executado (uso = citação em lista de tarefas); chamada à GPU MATH (o vetor é a entrada; `gpu_math.estado = nao_chamada`); frescor do snapshot (`prova` diz «defasado», não reprova); navegador | npm run test:harness-watch | servidor (Gates do deploy); nunca Mac | — | — | — |
H-HOOK-RUNTIME-01 | candidato de hooks.md, ainda não qualificado | — | — | — | — | — | — |
H-INVENTARIO-01 | atualização automática do GitHub e das aplicações | migration aplicada; repo ausente; `origin/*` em dia | npm run deploy:inventario | sem agendamento ativo: o job launchd não existe mais (`launchctl list` e `~/Library/LaunchAgents` sem ele, medido em 06/11/2026); sem execução no servidor; nunca Mac | — | — | — |
H-ISOLATION-01 | máquina `isolation@1.0.0`: 10 testes unittest verdes, 0 skip — autenticação/revogação/capacidade, caixa da empresa sem cliente, transição não declarada recusada, cada dimensão (aplicação, organização, cliente, caixa) selada, vazio e malformado fecham, profundidade explícita sem herança do pai, idempotência e revogação após replay, worker determinístico, prova vermelha que derruba cada guard de escopo removido, selo do MANIFEST que detecta arquivo alterado, ausente ou pacote vazio | RLS real, cadastro de grants, provedores, UI, produção, efeitos externos; a parte `--database` | python3 -I modules/isolation/harness.py | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-KNOWLEDGE-TRAINING-01 | `knowledge-training@1.0.0`: 18 provas adversariais de `test_contract.py` verdes — perfil `segment-reader-profile`, porta Library, recibo de armazenamento XDocctor, quatro camadas canônicas (léxico→taxonomia→semântica→ontologia) com aprovação humana, segmentos isolados por aplicação | o runner único `modules/document_training/harness.py all` (vermelho em HEAD), selo do MANIFEST, UI, navegador, banco, H200 | python3 -m unittest discover -s modules/knowledge_training -t modules -p test_contract.py | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-LIBRARY-TRAINING-01 | máquina híbrida de aceite da Biblioteca (04/11/2026) | chamada real à GPU MATH, banco, navegador, montagem da aba Biblioteca em `/conhecimento` (pendente de aprovação do desenho), publicação | npm run test:library-training | servidor (`npm run deploy -- --so-testes`); nunca Mac | — | — | — |
H-LINKS-01 | sem `<a href="https://superadmin.iconsai.ai/…">`, `<a href={expr}>` sem `target="_blank"`/`download`, nem `<form method="get">`/`action="/…"` em `.tsx`; 30 casos; AST de emissores também reprova fragmento, `aba`/`area` e UUID em `tab`; vermelho em 14/10/2026 (7) | destinos calculados em runtime são medidos pelo E2E `links-padrao`; AST cobre literais de `redirect`, router e location | npm run gate:links-internos | servidor (passo Gates do deploy desde `e5dec98a`; recibo SSM `c62bf6e5`); nunca Mac | — | — | — |
H-LOCAL-ESPELHO-01 | — | — | npm run test:local | — | — | — | — |
H-LOGIN-ACCESS-01 | máquina login-access@2.0.0 no EC2 em 05/11/2026: 2 suítes (test_maquina, test_distribution) verdes, 2 fluxos (CPF e CNPJ→CPF), sabotagens 15/15 e de import 8/8 reprovadas; auditoria do superadmin com 4 vínculos, 1 porta e 3 checks; selo de 10 arquivos e dependência hard-reload@1.5.0 conferem; 1 byte em maquina.py reprova | OTP real, banco, navegador, porta publicada | python3 -I modules/config/login_access/harness.py all | servidor (SSM EC2 Linux); nunca Mac | — | — | comum a módulos |
H-MAIL-TENANCY-01 | máquina de caixas por aplicativo + CNPJ (`mail-service@1.0.0`, `mailbox@1.0.0`): `definicao.json` bem formada e igual à cópia literal da migration 0123; a 0123 executada num PostgreSQL 17 descartável — caminho feliz, guards, concorrência, idempotência, só-acréscimo, FK app+CNPJ, `resolve_route`; 9 sabotagens no texto da migration, cada uma derruba casos | Supabase de produção nem que a 0123 foi aplicada lá (`db:check`), Stalwart real, `application_organizations` completa, a tela | runuser -u postgres -- python3 -I modules/mail_tenancy/harness.py prove | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-MAILBOX-GLOBAL-01 | — | — | npm run test:mailbox-machine | — | — | — | — |
H-MAQ-PG-01 | `deploy_test_apply`/`deploy_merge_apply` em PG descartável: 45 casos, 6 sabotagens, idempotência, rejeição registrada | Supabase prod, RLS, PostgREST | npm run gate:deploy-maquinas-pg | servidor, à mão (SSM), fora do passo Gates: em 06/11/2026 saiu 0, 46/46 casos e 6/6 sabotagens (SSM f03a40c0, `PATH` com `/usr/lib/postgresql/16/bin`, usuário postgres); nunca Mac | — | — | — |
H-MOD-DESIGN-SYSTEM-ROOT-01 | toda `--panel-*` de shared/ui/theme/tokens.css é alias de uma `--ds-*` do mesmo bloco de tema | contraste, tela | python3 -I modules/design_system/verificar_alias_panel.py | servidor, à mão (SSM b586510f no i-0599d7fd97009e8b0, árvore do commit 639a851cd), fora do passo Gates: em 07/11/2026 saiu 1: 72 aliases em 3 blocos, 1 erro — `--panel-background` (escuro) com cadeia var() que não resolve; nunca Mac | — | — | — |
H-MOD-DOCUMENT-TRAINING-01 | document-training@2.0.0: 48 testes Python e suíte Node | treino real, GPU | python3 modules/document_training/harness.py all | servidor, à mão (SSM 44b5f9e7 no i-0599d7fd97009e8b0, árvore do commit 04c363db2), fora do passo Gates: em 06/11/2026 saiu 1: `selo_divergente` e `host_acoplado:DocumentsTask.tsx`; nunca Mac | — | — | — |
H-MOD-DOCUMENT-TRAINING-UI-01 | 17 casos da camada de UI | navegador real, tela, banco | node --import ./script/gate/resolver-ts.mjs --experimental-strip-types --test modules/document_training/test_ui.mjs | servidor, à mão (SSM b586510f no i-0599d7fd97009e8b0, árvore do commit 639a851cd com npm ci), fora do passo Gates: em 07/11/2026 saiu 0: 17/17; nunca Mac | — | — | — |
H-MOD-EMAIL-01 | tópicos do e-mail e 9 sabotagens | entrega real por Resend/SES, DNS/DKIM | python3 -I modules/config/email/harness.py prova | servidor, à mão (SSM 995afa0d no i-0599d7fd97009e8b0, árvore do commit 40191ae80 com npm ci), fora do passo Gates: em 07/11/2026 saiu 0: verde, 0 divergências, sabotagens 9/9; nunca Mac | — | — | comum a módulos |
H-MOD-MAILBOX-01 | máquina da caixa de correio e sabotagens de rascunho e categoria | OAuth/Gmail/LLM reais, banco, UI | python3 modules/mailbox/python/harness.py prova | servidor, à mão (SSM 995afa0d no i-0599d7fd97009e8b0, árvore do commit 40191ae80 com npm ci), fora do passo Gates: em 07/11/2026 saiu 0: prova verde, sabotagens pegas; nunca Mac | — | — | — |
H-MOD-OTP-CHALLENGE-01 | validate, prove e audit do desafio OTP | envio real de SMS ou e-mail | python3 -I modules/otp_challenge/harness.py all | servidor, à mão (SSM 44b5f9e7 no i-0599d7fd97009e8b0, árvore do commit 04c363db2), fora do passo Gates: em 06/11/2026 saiu 0: validate, prove e audit PASS; nunca Mac | — | — | — |
H-MOD-SMS-01 | tópicos do SMS | envio real pela Twilio | python3 -I modules/config/sms/harness.py prova | servidor, à mão (SSM 995afa0d no i-0599d7fd97009e8b0, árvore do commit 40191ae80 com npm ci), fora do passo Gates: em 07/11/2026 saiu 0: verde, 0 divergências, sabotagens 7/7; nunca Mac | — | — | comum a módulos |
H-MOD-TALK-TRAINING-01 | máquina talk-training e selo | treino real | python3 -I modules/talk_training/harness.py prova | servidor, à mão (SSM 7b9ebe9a no i-0599d7fd97009e8b0, árvore do commit c81e892f8), fora do passo Gates: em 07/11/2026 saiu 0: VERDE, 15 grupos de casos, 8 sabotagens reprovadas, 12 cópias conferidas, selo 4bb29425…; em 06/11 saía 1 (`STATE_ERROR` e selo divergente, SSM 44b5f9e7), corrigido pela superadmin-39 em c81e892f8; nunca Mac | — | — | — |
H-MOD-TALK-TRAINING-UI-01 | 37 casos em 2 motores, 10 grupos de guarda, 17 sabotagens, cópia do Synthetic | renderização no navegador | python3 -I modules/talk_training_ui/harness.py prova | servidor, à mão (SSM 44b5f9e7 no i-0599d7fd97009e8b0, árvore do commit 04c363db2), fora do passo Gates: em 06/11/2026 saiu 0: VERDE, 17 sabotagens reprovadas; nunca Mac | — | — | — |
H-MOD-TASKS-01 | módulo tasks@1.0.0 | banco real (`banco` à parte) | python3 modules/tasks/harness.py prova | servidor, à mão (SSM 995afa0d no i-0599d7fd97009e8b0, árvore do commit 40191ae80 com npm ci), fora do passo Gates: em 07/11/2026 saiu 0: tasks@1.0.0 pass, 4 componentes; nunca Mac | — | — | — |
H-MOD-UNIVERSAL-READER-01 | suíte do leitor universal | documentos reais, persistência em produção | python3 modules/universal_reader/harness.py prova | servidor, à mão (SSM 44b5f9e7 no i-0599d7fd97009e8b0, árvore do commit 04c363db2), fora do passo Gates: em 06/11/2026 saiu 1: 1 falha e erros no `setUpClass` de `reader_persistence_fixture.PersistenceTests`; nunca Mac | — | — | — |
H-MOD-WEBSITE-DISCOVERY-01 | harness do módulo `company_website_discovery` | busca real na web | python3 modules/company_website_discovery/harness.py prove | servidor, à mão (SSM 995afa0d no i-0599d7fd97009e8b0, árvore do commit 40191ae80 com npm ci), fora do passo Gates: em 07/11/2026 saiu 0: 16 testes Python, 952 combinações, sabotagens 9/9; nunca Mac | — | — | — |
H-MOD-WHATSAPP-01 | máquina de estado do WhatsApp e sabotagens | Twilio/Meta reais, webhook, entrega | python3 modules/config/whatsapp/state_harness.py prova | servidor, à mão (SSM 44b5f9e7 no i-0599d7fd97009e8b0, árvore do commit 04c363db2), fora do passo Gates: em 06/11/2026 saiu 0: sabotagens pegas; nunca Mac | — | — | comum a módulos |
H-MODULE-USAGE-01 | `npm run test:module-usage` (`harness.py prova` e `--autoteste`; `harness.py conferir` sobre o relatório vivo) — aba `/sistema?tab=uso`: veredito por app×módulo (pleno, parcial, mau uso, sem uso, não medido) e erros de concepção C1–C3, cálculo em Python determinístico e idempotente; toda referência com repo, sha, caminho, linha e blob (link `#L` no GitHub); 14 casos, 11 sabotagens. | leitura real do GitHub com credencial (isso é o `worker.py` no servidor), navegador, que o código usado executa em produção. Executa em: servidor (Gates do deploy); nunca Mac. | npm run test:module-usage | — | — | — | — |
H-MODULOS-APROVADOS-01 | `modules/catalog.json` legível para o schema da aba e com todo módulo/universal/membro de `modules/catalog.aprovados.json` visível na árvore (`montarArvore`); todo publicado registrado; registro ⊇ `origin/main` salvo `remocoes_autorizadas` com `ordem_do_dono`; hook nega Edit/Write que retire aprovado ou quebre o catálogo, e `git commit`/`push`/`npm run deploy` com gate vermelho; vermelho em 23/10/2026 (10 sabotagens, inclusive os 2 defeitos de 5d077f5e) | que a aba em produção leu o catálogo (prova: `/sistema?tab=modulos`), catálogos de outros repositórios, escrita feita fora das ferramentas do agente | npm run gate:modulos-aprovados | sessão, antes de `npm run deploy`; hook em toda sessão; CI só por ordem do dono | — | — | — |
H-MORTO-01 | código morto (guideline §17.1) | que pode apagar; uso dinâmico | npm run gate:codigo-morto | passo `Gates` de `gates.yml` e `deploy.yml` (knip do package-lock; vulture 2.16 com `--require-hashes` no passo de dependências Python) | — | — | — |
H-ONBOARD-01 | instalar o harness da árvore num aplicativo | conserto de app; para no commit preparado; o gate do passo Gates só prova que o dry-run não grava `ok`, não executa o onboarding | node script/deploy/onboard-app.mjs <app> | mão da sessão, encomendado pelo console | — | — | — |
H-ORC-FACHADA-01 | o `gate:orcamento` segue a fachada (17/09/2026) | nome dinâmico; consultas reais | npm run gate:orcamento | CI Gates | — | — | — |
H-OTIM-01 | orçamento de otimização (guideline §17.2) | build time, p95, import dinâmico | npm run gate:otimizacao | `gate:otimizacao` e `:autoteste` no passo `Gates`; `gate:otimizacao:build` no `deploy.yml`, entre o Build e o Publish | — | — | — |
H-PANEL-ACCESS-01 | serviços do console | — | — | — | — | — | — |
H-PIPE-01 | contrato do pipeline de deploy | build, servidor, segredo, `deploy.sh` | npm run gate:pipeline | passo `Gates` de `deploy.yml` e `gates.yml` | — | — | — |
H-PORTA-CANONICA-01 | módulo único `design-system@2.0.0` com tipos de design `porta` e `financas` (24/10/2026); porta canônica só nos arquivos do tipo `porta` (`MANIFEST.json` `tipos_de_design.porta.arquivos`; hex de CSS do tipo `financas` é legítimo, regra da porta nele reprova): nenhuma regra CSS/inline em `.access-*`/`.auth-*` fora do módulo (inclusive `:global`), wrapper de canais com `access-channels`, hex só em `tokens.json`, nenhuma segunda porta em TSX; tokens gerados de `tokens.json` com contraste ≥ 4.5/3 nos dois temas; `contrato.json` (gap 14, canal ≥ 50, CTA/controles ≥ 40, raio 20, largura 560, trilha, sem recorte/rolagem) sobre 4 viewports × 2 temas; 8 sabotagens do pedido de 23/10/2026 | que o navegador renderizou (isso é a medição de `coletar.js` no droplet), fiscal/rotas (fora do escopo), cena `canal` ao vivo sem CPF válido, `--access-*` × `--panel-*` × `--ds-*` (decisão do dono pendente) | npm run gate:porta-canonica | sessão, antes de `npm run deploy`; CI só por ordem do dono | — | — | — |
H-PRODUCT-ANALYTICS-01 | uso de seções e tutoriais | — | python3 modules/product_analytics/python/harness.py | mudança na coleta, no motor matemático ou na área de análise de `/logs` | — | — | — |
H-PY-PACK-01 | vendor Python do standalone | disponibilidade futura do PyPI; processamento real de PDF | npm run gate:python-packaging | mudança no worker Python, no empacotamento standalone ou no deploy do droplet | — | — | — |
H-REFERENCE-SITES-01 | normalização de URL (10 casos: www, esquema, barra, porta, `javascript:`/`data:`/credencial/sem ponto recusados), máquina TS × `definicao.json`, categorias × 0171, gatilho que nega DELETE, trava otimista no UPDATE, selo do MANIFEST e do catálogo; 5 sabotagens; E2E: cartão no universal DESIGN SYSTEM abre a área, cadastro/busca/desativar mandam o comando com `expected_updated_at`, recusa mostra o motivo | gravação real no banco pelo navegador (POST interceptado no E2E), RLS, concorrência entre abas em PG | python3 -I modules/reference_sites/harness.py prova | droplet (`npm run deploy`); nunca Mac | — | — | — |
H-REGISTRATION-CLOSURE-01 | seis critérios reais, sem promover ausência a verde | — | — | — | — | — | — |
H-REGISTRO-01 | o contrato de dados do registro de um nó (20/09/2026) | que o Postgres execute o `do nothing` — isso é do PostgREST e do banco, e aqui o servidor é encenado; que a coluna exista no banco central (isso é `npm run db:check`); e o que a tela desenha (isso é o E2E) | npm run test:deploy-registro | — | — | — | — |
H-ROLE-01 | fontes reais e entrada verificável | imports transitivos, autorização em runtime e bundle publicado | npm run gate:service-role | sequência de gate, manual | — | — | — |
H-SCREEN-EVIDENCE-01 | NUNCA-FAZER §276.1 no servidor: URL nomeada pelo dono capturada no Chromium do droplet em 20 cenas (320/390/768/1440/1920 × claro/escuro × 1x/2x), R1 interseção, R2 corte/rolagem, R3 elipse não declarada, R4 respiro < 4 px, R6 `elementFromPoint`; veredito 0/1/2 + capturas no banco central (0166), consultáveis com o Mac desligado; captura do dono enviada pela tela, idempotente por sha256; destino interno recusado em cada salto de rede; 14 casos do autoteste | estados de loading, vazio e erro; cenas que exigem navegação ou login; R6 só com rolagem em 0; Shadow DOM; DNS rebinding (TOCTOU) e WebSocket fora do `route`; que a captura do dono é de tela nossa | python3 -I modules/screen_evidence/verificar.py --autoteste | droplet (serviço e `npm run deploy`); nunca Mac | — | — | — |
H-SELOS-MODULOS-01 | módulo tocado no conjunto medido só passa com sha256 de cada arquivo = `MANIFEST.json` `manifesto.arquivos`, `manifesto.sha256` = agregado e `modules/catalog.json` `selo` igual (regra JSON do tasks ou linhas do canonical_deploy); lê objetos git, nunca o disco; servidor 06/11/2026 (SSM 1161b0d8 no i-0599d7fd97009e8b0, commit 25be6d14c): autoteste 9 casos e 5 unittest verdes, sabotagem do comparador saiu 1 | módulo sem manifesto selado; que o selo novo foi gerado pela regra do módulo dono; ligação no commit (hooks git removidos em 54e3e0361, pendente de reconciliação com as frentes do harness) | python3 -I script/gate/selos_modulos.py | servidor; nunca Mac | — | — | — |
H-SESSAO-ESCOPO-APP-01 | a continuação da aba respeita o aplicativo da sessão | PostgREST `p_app`; aplicado em prod | npm run gate:continuacao-escopo-app | servidor, à mão (SSM), fora do passo Gates: em 05/11/2026 saiu 2 (`initdb` fora do PATH); em 06/11/2026 saiu 0, 16/16, com `/usr/lib/postgresql/16/bin` no `PATH` (SSM f03a40c0); nunca Mac | — | — | — |
H-SESSION-LIMIT-01 | ordem do dono de 05/11/2026: Superadmin 3 sessões simultâneas, demais apps 1. V1 `SESSOES_POR_ADMIN = { superadmin: 3, default: 1 }`; V2 nenhum uso de `SESSAO_UNICA_POR_ADMIN` em código; V3 sessão só por `rpc("create_session_with_limit")`, sem insert direto; V4 migration mais nova da RPC com `'superadmin' then 3 else 1`; V5 login do Superadmin não reaproveita sessão ativa; banco: comentário da função servida = «três sessões»; 7 sabotagens, pasta vazia sai 2 | navegador real com 3 abas (`test-two-sessions-browser.mjs`), transação PG (`test-two-sessions-pg.mjs`), mudança feita direto no banco sem migration (só o modo `banco` vê) | npm run test:session-limit-watch | servidor (passo Gates do deploy); nunca Mac | — | — | — |
H-SESSION-PREFERENCE-CLIENT | callbacks reais do toggle: polling sem POST, 503/rede preserva, fora de ordem; 4 sabotagens | transação PG, persistência, navegador, 8 h | npm run test:session-preference-client | servidor (passo Gates do deploy); nunca Mac | — | — | — |
H-SKILL-01 | wordmark canônico icons.ai: spans, `i` #f97316 1.55em reto, `.ai` #ef4444, `cons` #ffffff literal ou `var(--logo-cons)` com o tema escuro padrão de `shared/ui/theme/tokens.css` = #ffffff; 2 sabotagens reprovam | contraste do `cons` no tema claro; render real | ./valida-skill.sh | pre-commit | — | — | — |
H-SONDA-01 | a sonda de capacidade do GitHub (20/09/2026) | o escopo do token **real** — isso é `npm run ciclo:ao-vivo`, que fica fora do CI de propósito; que o `rerun-failed-jobs` de verdade funcione; e o que o navegador desenha (isso é o E2E) | npm run test:deploy-sonda | — | — | — | — |
H-SONDA-GITHUB-01 | cada token da porta alcança metadata/contents/actions/pulls; diz a permissão que falta | escrita; outros repos | npm run sonda:github -- <owner/repo>... | deploy.yml, antes do Setup SSH | — | — | — |
H-SYNC-TASK-CONFIG-01 | máquina `sync-task-config@2.0.0` (docs/contracts/sync_task_config/PROMPT.md §10): 768 combinações com 0 falha, 47/47 sabotagens detectadas, casos v2 6/6, trava S14 «sem estrutura de empresa» 11/11 (P7 de 02/11/2026: proibido reintroduzir «Ferramentas da empresa»); parte PostgreSQL em banco descartável via `script/gate/sync_task_config_pg.py` | navegador real, OTP real, latência de produção, PostgREST/RLS do Supabase | python3 -I modules/administrative/sync_task_config/harness.py prova | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-SYSTEM-APPS-01 | gestor vivo de Aplicativos | — | npm run test:system-apps | mudança em `modules/system_apps/`; o coletor roda à mão no Mac e grava `modules/system_apps/snapshot.json` | — | — | — |
H-TELEMETRIA-MODULOS-01 | ordem do dono 07/11/2026 11:35 (100% das telas com resumo, 100% dos módulos com telemetria): declaração bem formada (T1); todo módulo do catálogo declarado (T2); toda seção declarada tem rota real em `app/(painel)` (T3); toda `secao` de `ResumoDaAba` no código tem exatamente um módulo declarante (T4); sem seção com dois donos (T5); 8 casos no autoteste, 2 de insumo vazio | que a seção emite eventos ou que o resumo renderiza (isso é `e2e/resumo-da-aba.spec.ts` e a RPC `superadmin_product_usage_section_summary` no servidor); que a fonte de módulo sem tela coleta de fato | npm run gate:telemetria-modulos | servidor; nunca Mac | — | — | — |
H-TESTES-DROPLET-01 | — | — | npm run test:testes-droplet | — | — | — | — |
H-THEME-01 | máquina theme-mode@1.0.0 no EC2 em 05/11/2026: varredura fase×modo×evento×payload com 1428 transições aceitas e 2322 recusas; test_maquina.py (paridade TS) verde; sabotagens 16/16 reprovadas; auditoria de 1796 arquivos e 2 checks do perfil; selo de 9 arquivos confere e 1 byte em maquina.py reprova | o primeiro frame no navegador (E2E), a gravação real no banco e a rota que grava | python3 -I modules/config/theme/harness.py all | servidor (SSM EC2 Linux); nunca Mac | — | — | comum a módulos |
H-TRAINING-DASHBOARD-01 | prova focal do `modules/training_dashboard`: roda as suítes `test_dashboard`, `test_composition` e `test_source` em subprocesso isolado, recusa suíte vazia, com skip ou expected failure, e confere que os sha256 do pacote não mudaram durante a execução; grava o relatório JSON (`state` PASS) | PostgreSQL, RLS, concorrência real, instalação nos consumidores, navegador, aprovação visual, deploy e G01–G12 completos (`product_qualified: false`) | python3 modules/training_dashboard/harness.py --report .artifacts/training-dashboard/harness.json | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-TRANSCRIPTION-01 | domínio de `modules/transcription` (`transcription.test_domain`, 7 testes): páginas nativas exatas, recusa de proposta de visão vazia, de página ausente e de edição de página nativa, visão de imagem que preserva a página nativa em documento misto, fio que recusa página faltante/extra/mista/não texto e preserva unicode, espaços e ordem | a composição do Universal Reader (verbo sem argumento), OCR/modelo real, banco, UI | python3 modules/transcription/harness.py prova | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-TRANSLATION-01 | domínio de `modules/translation` (`translation.test_domain`, 15 testes): marcas aplicam correção e mantêm vereditos, marcas inválidas recusadas, materialização preserva colunas, números e linhas em branco, mapa de segmentos segue removidos/corrigidos, amostras de treino carregam todo veredito, zero marcas aprova o texto atual como ouro, esquema do fio recusado | `prove_component` do Universal Reader, tradução por modelo real, banco, UI | python3 modules/translation/harness.py prova | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-TWILIO-BODY-01 | teto dos webhooks antes do HMAC | — | npm run test:twilio-webhook-body | mudança nos webhooks Twilio ou na leitura do corpo bruto | — | — | — |
H-TYPE-01 | tipos | comportamento | npm run typecheck | sequência de gate | — | — | — |
H-TYPE-DOMAIN-01 | domínio de `modules/type` (`type.test_domain`, 6 testes): ouro do catálogo aceita só ids do catálogo sem sobreposição e treina como rótulos do catálogo, caminho de pasta não escapa do tenant, evidência de treino inventada recusada, recibo não vira nota fiscal, classificação de recibo com literal | `prove_component` do Universal Reader, classificação por modelo real, banco, UI | python3 modules/type/harness.py prova | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-UNIVERSAL-FIXTURES-01 | pacote global isolado, cinco referências, selo, replay, imutabilidade e GOLD sintético | GPU, documentos reais e publicação | python3 modules/universal_reader/fixtures/harness.py prova | servidor (passo Gates do deploy); nunca Mac; mudança nas fixtures | — | — | — |
H-USERS-01 | users@0.3.0 no EC2 em 05/11/2026: máquina users-whatsapp 8/8 casos e 5/5 sabotagens reprovadas (consentimento, emissor de OTP, qualidade LOW, frequência, retry); H-USERS-REGISTRY-01 7 casos e 5 sabotagens; company_details 20 testes unittest; selo de MANIFEST confere e 1 byte em python/rules.py reprova | provedores reais, RPC em produção, aprovação Meta/Twilio, webhooks, UI e entrega real | python3 -I modules/users/python/harness.py | servidor (SSM EC2 Linux); nunca Mac | — | — | — |
H-WEBSITE-DISCOVERY-01 | — | — | npm run test:company-website-discovery | — | — | — | — |
H-WHATSAPP-GLOBAL-01 | — | — | npm run test:whatsapp-machine | — | — | — | — |
H-WORKTREE-RESOLUTIONS-01 | worktree-resolutions | Inferência, efeitos Git, GitHub, publicação e navegador reais. A prova de inventário pela API, fila, agente e Git reais está em `e2e/worktree-resolutions.spec.ts`; usa somente leitura e SQLite isolado. Resultados e limites em docs/deploy/worktree.md | python3 modules/worktrees/python/harness.py | sob demanda; `docs/deploy/worktree.md` | — | — | — |
H-WORTREE-01 | dois caminhos locais de Worktrees | Efeitos Git/GitHub e deploy reais; usa efeitos injetados e SQLite real temporário; Disponibilidade do agente e publicação real; Login real; os cenários de transição usam transporte simulado e decisão Python real. O inventário real mede disco/API/SQLite/agente, sem Git mutante | python3 modules/wortree/harness.py | — | — | — | — |
H-WT-MATH-01 | decisão assistida de worktrees | disco futuro; ordem executada | python3 modules/deploy-worktrees/python/deploy_worktrees/harness.py | servidor, à mão (SSM 44b5f9e7, árvore 04c363db2), fora do passo Gates: em 06/11/2026 saiu 0, 6/6 casos; nunca Mac | — | — | — |
mail-server | isolamento aplicativo/empresa/conta, gestor por CPF, transferência auditada, privacidade e recuperação | provedores reais, GPU e migrations em produção | python3 modules/mail_server/harness.py | servidor, à mão, fora do passo Gates: em 05/11/2026 saiu 1 (5 erros `not_valid_before_utc`, `cryptography` < 42 no servidor); `database_harness` e E2E separados; nunca Mac | — | — | — |
Arquivos de harness por aplicativo
A lista acima é a documentada; esta é a encontrada no disco, aplicativo por aplicativo, pelo nome do arquivo. Escolha o aplicativo para ver tipo, arquivo, descrição e vantagem de cada um.
Labtech
O arquivo é a evidência; a descrição explica o que ele representa; a vantagem diz por que vale mantê-lo.
| # | tipo | harness | descrição | vantagem operacional |
|---|---|---|---|---|
| 1 | auditoria | Japan/scripts/audit-contrast.mjs | Auditoria “audit contrast”, em Japan/scripts; executado a partir do arquivo audit-contrast.mjs. | Converte uma regra crítica do produto em reprovação automática e reproduzível. |
| 2 | auditoria | Japan/scripts/audit-standalone.mjs | Auditoria “audit standalone”, em Japan/scripts; executado a partir do arquivo audit-standalone.mjs. | Converte uma regra crítica do produto em reprovação automática e reproduzível. |
| 3 | E2E | Japan/scripts/e2e.mjs | E2e “e2e”, em Japan/scripts; executado a partir do arquivo e2e.mjs. | Exercita o comportamento observável em navegador e detecta regressões de integração. |
Inventário literal medido no disco em 07/10/2026, 21:57:33. Entram arquivos cujo nome declara harness, gate, verify, audit, E2E ou Playwright; “0” significa nenhum arquivo com esse contrato nominal, não ausência de testes.
Tela real de /harness renderizada pelo build 5cff1288-20261107161738 (árvore do ensaio 94084ee0, exportada no servidor em 07/11/2026 14:42, sessão sintética só leitura). Aba «PAEL»: código 6f55573a6, já na origin, não publicado; dados reais do banco central medidos às 14:4x: 0 operações, 0 eventos, 17 alvos supervisionados, último tick 17:38Z (tabelas deploy_pael_* criadas pela migration 202611051430, aplicada pela app-75). O estado vazio é o estado real: o runtime do PAEL ainda não registrou operação. Nenhuma alteração visual proposta nesta revisão além da aba nova.