Prescripta v0.8.7
Prescripta v0.8.7
Resumo
A v0.8.7 fecha lacunas técnicas comprovadas após a v0.8.6: dose verdadeiramente dimensional,
autorização por relação clínica explícita, perfis profissionais por capacidades, proteção contra
DNS rebinding, atualização controlada da cadeia de dependências e uma nova interface responsiva com
cobertura frontend/browser material.
Prescripta permanece uma demonstração educacional 0.x. Não é dispositivo médico, não possui
validação clínica/regulatória/institucional e deve usar somente dados fictícios.
Segurança clínica e autorização
- concentração × volume, massa, peso, superfície, infusão, taxa, intervalo, duração e PRN usam
dimensões canônicas, precisão decimal e abstention quando a conversão não é provada; - limites diários, por administração, procedimento, taxa e cumulativos preservam unidade e fonte;
- a mesma instituição deixa de ser autorização implícita: lista e objeto exigem relação, purpose e
capability; break-glass tem duração, motivo, idempotência, encerramento e auditoria; - override não altera o achado: só o autor solicita, crítico/hard block não admite, e um segundo médico
distinto precisa revisar conforme a policy; - segmentos psicológicos possuem capacidade separada.
Segurança de saída
OpenAI e Gemini usam destinos oficiais; Ollama é local-only. A policy normaliza URL, valida todos os
IPs, fixa a conexão no endereço aprovado, preserva Host/SNI, ignora proxies, bloqueia redirects e
limita tempo/tamanho. Credencial nunca é encaminhada fora do destino autorizado.
Frontend e qualidade
- design system Tailwind 4, shell por capacidades, drawer responsivo, breadcrumbs, skip link, foco e
reduced motion; - dashboards e workspaces próprios para os sete perfis demonstrativos;
- checagem estruturada exibe decisão, cobertura, fontes, dados faltantes, auditoria, relatórios e IA
apenas depois da persistência; - Vitest possui thresholds de statements/lines 75%, functions 70% e branches 65%; Playwright cobre
sessão, perfis, autorização, dose, override/revisão, auditoria, falhas, responsividade, axe e visual; - assets correntes são recapturados por script e verificados por manifesto SHA-256.
Dependências
Backend, frontend e Actions foram atualizados em commits separados. Actions permanecem fixadas por
SHA completo. pydantic-core 2.47 foi corretamente deferido porque Pydantic 2.13.4 exige 2.46.4.
React Router 7.18.2 mantém risco temporário documentado para a superfície RSC não usada pela SPA; o
gate expira em 15/08/2026.
Upgrade e rollback
- Faça backup PostgreSQL e teste a restauração.
- Instale pelos locks com Python 3.12+ e Node 24+.
- Execute
alembic upgrade head; o head esperado éb87a224c617e. - Revise os grants/care teams/care episodes gerados pelo backfill; tenant não basta mais.
- Mantenha IA externa desligada até configurar allowlist, egress, secret manager e policy.
- Execute os gates de
docs/testing/ci-and-release-gates.md.
Rollback exige restaurar backup compatível e reverter aplicação/migrations em ambiente isolado. Não
use alembic downgrade como substituto de recuperação de dados. O redesign frontend pode ser revertido
independentemente das regras do backend.
Evidências e limitações
Validação clínica por especialidade/farmácia/enfermagem/psicologia, pentest, LGPD institucional,
interoperabilidade oficial, usabilidade assistiva e enquadramento regulatório continuam externos.
Publicação
- versão:
0.8.7; - branch:
main; - tag anotada:
v0.8.7, criada somente após CI verde do commit final; - release: https://github.com/Soturine/Prescripta/releases/tag/v0.8.7.