QA autônomo por linha de montagem — a máquina levanta, o humano assina. Entre para acompanhar runs, revisar findings e operar seus projetos.
Login por Google, só para convidados. Seu e-mail identifica você e o papel (via GET /me): admin vê e faz tudo; QA vê só os projetos atribuídos. O RBAC é imposto pela API — não só na tela.
O login é na plataforma. Seu token identifica você e o seu papel (via GET /me): admin vê e faz tudo; QA vê só os projetos atribuídos a você. O RBAC é imposto pela API — não só na tela.
Início
Distribuição por status
Projetos do cliente
Runs recentes
| run | projeto | commit | status | criado |
|---|
Nenhum run ainda.
Precisa de atenção
Nada pendente — tudo assinado e nenhum run suspenso.
Projetos & Runs
Runs
+ Novo run — passo a passo · POST /runs
Escolha um projeto ao lado (ou informe um UUID) para carregar os runs.
| run | commit | ref | status | DoD | criado | finalizado |
|---|
Nenhum run com esse filtro.
Linhagem · QA por branch, com o main como tronco (GET /projects/{id}/lineage)
Sem branches ainda — dispare um run numa branch para começar a linhagem.
run
Retomar run suspenso — POST /runs/{id}/resume
Sem parâmetros abaixo, a API reusa os que foram guardados cifrados no disparo (0003). O ambiente é reconstruído do zero.
Linha de montagem · checkpoints por estágio
Atividade ao vivo · o que o agente vai fazendo (GET /runs/{id}/events)
Sem atividade ainda — as linhas aparecem conforme o run avança.
Comparação com o run anterior · regressão por versão (decisão 2)
Fluxos 0
Jornadas 0
Testes 0
Findings 0
Documentos 0 · evidências: 0
Carga / Capacidade 0 · a máquina mede; o SLO (se houver) dá o veredito
| cenário | conc. | req | ok/erro | p50 | p95 | p99 | req/s | SLO |
|---|
Front-end 0 · navegador real por viewport; passo passa/falha determinístico · regressão visual mede Δ vs baseline (veredito humano)
Revisão de findings
Nada aqui com esse filtro.
Aprendizado
o loop: confirmar → aprende · rodar de novo → prima nos lugares certosChecks aprendidos · por projeto (nunca cruzam)
Findings confirmados com locus de fluxo viram check durável do projeto — a próxima run já testa aquele fluxo como correção (o veredito humano É a spec). GET /projects/{id}/learned-checks
| fluxo | tipo de finding | spec_ref | nota | status |
|---|
Nenhum check aprendido neste projeto — confirme um finding com locus de fluxo (Revisão) para criar o primeiro.
Biblioteca de arquétipos · compartilhada · genéricos, sem código de cliente
Padrões de brecha que viram hipóteses (unverified) sobre os fluxos que casam, em qualquer projeto. A máquina propõe; o humano aprova. GET/POST /gap-archetypes
+ Novo arquétipo — POST /gap-archetypes
Nenhum arquétipo — genéricos entram aqui por curadoria ou pela proposta de um finding confirmado.
Relatórios
QA por versão — cada commit é uma versão (decisão 2)Saúde do QA do projeto · agregado do servidor · GET /projects/{id}/summary
Runs por dia
Distribuição por status
Histórico de QA por versão 0
| run | projeto | commit | ref | status | DoD | duração | criado |
|---|
Nenhum run no período.
Carregando relatórios dos runs recentes…
Nenhum documento — só runs que chegaram ao estágio “Docs” os produzem.
Administração
multi-tenant, profissionais e operação do serviço — atravessa clientesClientes
Puxe os dados oficiais pelo CNPJ (CNPJ.ws — Receita/SEFAZ) ou cadastre manualmente pelo nome. Quem cria cliente e projeto é o admin; o profissional QA só acessa os projetos atribuídos. Na criação de projeto dá para usar um cliente existente ou criar um novo aqui.
Projetos de — · POST /projects/git
Conecta um projeto direto ao repositório git do cliente (Dev/HML). A git_key vai cifrada (Fernet) e nunca retorna — sem QA_SECRET_KEY no serviço, a operação é recusada (falha fechada). O isolamento por projeto é físico no serviço (RAG por ilha).
POST /projects/zip + /bundleSem git: cria um projeto de origem zip e envia o .zip do projeto (no GitHub: Code → Download ZIP). O QA roda análise, geração de testes e relatório sobre o que foi enviado — o sha do conteúdo vira a versão. A execução ao vivo exige que o app seja subível pelo executor.
| projeto | project_ref_id |
|---|
Nenhum projeto neste cliente.
Profissionais da plataforma · GET/POST /admin/users
O RBAC é da API: admin vê e faz tudo; QA vê só os projetos atribuídos a ele. Criar um profissional devolve um token — mostrado UMA vez (só o hash fica guardado). Atribua o profissional QA aos projetos do cliente (cliente → projeto → profissional).
| nome | papel | status | projetos atribuídos |
|---|
Nenhum profissional cadastrado ainda.
Saúde do serviço
GET /health — único endpoint sempre aberto (sem token).
Retomada em massa
POST /admin/resume-suspended — varre os runs suspensos e retoma os que têm parâmetros cifrados guardados. Sem parâmetros guardados, o run é pulado (a automação nunca inventa parâmetros — retome individualmente).
Registro de acessos · auditoria local do console
Trilha de logins, vereditos e operações feitas por este console (guardada só no navegador). No serviço, a trilha canônica vive nos vereditos assinados (decided_by_user_id) e em quem disparou cada run (triggered_by_user_id).
| quando | quem | ação | detalhe | cliente |
|---|
Nenhum acesso registrado ainda.
Cobertura da API · onde cada rota vive neste console
| rota | onde |
|---|---|
| GET /health | pílula no topo + card “Saúde do serviço” |
| POST /runs | Projetos → “Novo run” |
| GET /runs/{run_id} | Projetos → “Abrir run direto”; cabeçalho do detalhe |
| GET /projects/{id}/runs | tabela de runs, dashboard e relatórios (limit/offset/status) |
| GET /runs/{run_id}/progress | polling do detalhe + pendências no dashboard |
| GET /runs/{run_id}/report | detalhe do run, revisão e aba de documentos |
| POST /runs/{run_id}/cancel | detalhe do run → “Cancelar run” (cooperativo) |
| POST /runs/{run_id}/resume | detalhe do run suspenso → “Retomar” (com ou sem parâmetros) |
| POST /findings/{id}/verdict | revisão (Bloco D) — confirmar cria check aprendido |
| POST /findings/{id}/propose-archetype | Revisão → finding confirmado → “Propor arquétipo” |
| GET /gap-archetypes | Aprendizado → biblioteca de arquétipos |
| POST /gap-archetypes | Aprendizado → “Novo arquétipo” |
| POST /gap-archetypes/{id}/approve | Aprendizado → arquétipo proposto → “Aprovar” |
| GET /projects/{id}/learned-checks | Aprendizado → checks aprendidos |
| POST /admin/resume-suspended | card “Retomada em massa” |