SotuHire v1.9.5 — Product QA, Demo Polish & Portfolio Launch¶
Destaques¶
- Auditoria completa de integração e fechamento de gaps concretos.
- Perfil Profissional Universal validado como núcleo preferencial.
- Career Context Engine com
source_refe evidências exibidas. - Deduplicação consolidada para URL, DOI, ORCID, GitHub, Perfil, memória e edital.
- Extensão v0.9.1 redesenhada, independente/integrada, com fila offline e Gemini/OpenAI próprios opcionais.
- Catálogo oficial de modelos, seleção funcional e análise pública avançada de perfis/repositórios GitHub.
- Provider, modelo, prompt e fallback rastreáveis nos fluxos principais.
- Demo coerente com sete trajetórias e restauração segura.
- Dashboard agregado, Settings deduplicado e mocks atuais.
- README/docs/portfólio, screenshots, GIF e clean install revisados.
Segurança¶
- Sem auto-apply ou inscrição automática.
- Sem pagamento, boleto ou envio automático de documentos.
- Sem scraping autenticado novo ou CAPTCHA bypass.
- Chave do app somente no backend; chave própria da extensão isolada no service worker, em sessão por padrão ou cofre IndexedDB após consentimento.
- Sem chave em content script, página GitHub, logs, screenshots, commits ou
chrome.sync. - Testes externos somente por env opt-in.
- Sem alteração em
authenticated-browser.
Validações¶
ruff check .: passou;ruff format . --check: 420 arquivos formatados.pytest -q: 428 passed, 2 skipped; skips externos por ausência das variáveis opt-in.mkdocs build --strict: passou.python -m compileall -q modules tests apps scripts: passou.pyright: 0 erros, 0 warnings.npm ci, lint, typecheck e build: passaram; auditoria npm sem vulnerabilidades.- Playwright cross-browser: 52 passed, 5 skipped em Chromium, Firefox e WebKit.
- Smoke Chromium após correção de notificações: 18 passed, sem warning React no console.
- Harness da extensão confirmou modelo selecionado nas chamadas Gemini/OpenAI e isolamento de segredo.
- extensão v0.9.1 validada/empacotada; screenshots do popup e modal GitHub geradas.
- clean install por
git archivecom venv nova epip install -e .[dev]: passou integralmente. - scanner de segredos: nenhum valor encontrado.
- hashes dos dois arquivos protegidos de
authenticated-browser: inalterados.
Testes reais externos não foram executados: SOTUHIRE_TEST_GEMINI_API_KEY e
SOTUHIRE_TEST_OPENAI_API_KEY não estavam definidas. Os providers da extensão foram validados
com harness de rede controlado, sem chave real ou persistência de segredo no repositório.
Gaps corrigidos¶
- teste Lattes dependente do segundo do relógio;
- falsos positivos do scanner por chaves fake;
source_refperdido no contexto;- identidades incompatíveis e memória repetida;
- editais duplicados por tracking;
- trace de IA incompleto/não exibido;
- UI antiga da extensão, provider único e seleção de modelo sem catálogo oficial;
- segredo standalone antigo sem isolamento de service worker ou política explícita de sessão/persistência;
- componente Settings antigo e mock health desatualizado;
- dependências ausentes do
pyproject.tomlapesar do comando documentado. - backend PEP 517 ausente em venv Python 3.12 realmente vazia;
PIP_NO_BUILD_ISOLATIONexterno interferindo no verificador e EOL CRLF emgit archiveWindows.
Pendências¶
- PDF/HTML direto de Lattes e edital.
- Plano de estudo avançado/calendário.
- Notificações nativas do sistema.
- Testes reais de IA dependem de chave opt-in local.