Skip to content

docs(auditoria-prd): lacunas do PRD medidas no código e backlog priorizado - #74

Merged
hbgit merged 11 commits into
developfrom
docs/auditoria-lacunas-prd
Oct 16, 2026
Merged

hbgit merged 11 commits into
developfrom
docs/auditoria-lacunas-prd

Conversation

@hbgit

@hbgit hbgit commented Oct 16, 2026

Copy link
Copy Markdown
Owner

O que muda

Auditoria item a item de spec/PRD_system.md contra o código, com evidência medida hoje (não a partir do PROGRESS.md). Nenhum código de produto foi alterado.

  • docs/auditoria-prd/2026-10-15-lacunas-prd.md: uma linha para cada um dos 64 IDs do PRD (RF, RNF, INV, LGPD, M, H, R) e para 57 itens sem ID próprio (SLOs, STRIDE, criptografia, acessibilidade, telemetria, módulos). Cada linha traz o status, a evidência (caminho:linha, teste rodado ou medição datada) e o que falta. No fim, um backlog priorizado de P0 a P3.
  • scripts/qa/cobertura_prd.py (+ 14 testes): falha se um ID do PRD ficar sem linha, se o relatório tiver ID inventado, linha duplicada ou malformada, ou status desconhecido. Com --final, recusa também linha sem evidência ou sem "o que falta".
  • PROGRESS.md: seção curta apontando para o relatório.
  • Plano em docs/superpowers/plans/2026-10-15-auditoria-lacunas-prd.md.

Resultado

64 IDs: 24 entregue, 27 parcial, 4 ausente, 9 externo.

P0:

  1. Cinco colunas de risco ainda em texto plano: triage_sessions.resultRisk/resultDisplay, visits.riskLevelBefore/riskLevelAfter e alerts.riskLevel (INV-04).
  2. O paciente nunca vê "Atendido": nenhum código leva o alerta a resolved (RF05).
  3. Não há SMS real para o OTP; sem ele, o paciente só entra com o ACS presente gerando um QR (RF01/R6).

Achados medidos ao vivo: o broker MQTT negocia TLS 1.2 na 8883 (o RNF04 pede 1.3); Traefik → backend em HTTP na 8080; nenhum dos cinco eventos de telemetria do §1.3 é emitido.

Verificação

  • python3 scripts/qa/cobertura_prd.py --final → 64 IDs, ok
  • python3 -m unittest discover -s scripts/qa -p '*_test.py' → OK
  • ./scripts/qa/check_documentation_links.sh → sem link quebrado
  • Linha de base das suítes, rodada em 2026-10-15: backend 1355/1355, ACS 544/544, paciente 259/259, admin 459/459
  • scripts/qa/measure_latency.dart --samples 10 --visit-count 100 contra a stack local; tls_invariants.sh e mtls_invariants.sh OK
  • Três linhas entregue sorteadas e refeitas do zero: as três reproduziram
  • Revisão final da branch inteira: os 6 achados importantes foram corrigidos (o do conferidor com teste que falhou antes)

Fica para depois

  • --final não valida as linhas sem ID do PRD (MOD-, SLO-…).
  • A regex não extrairia IDs de vários dígitos (R10, M1.10); não há nenhum hoje.
  • MVP-MIGRACOES-LOGS não conta os stderr.writeln.
  • Alguns caminhos citados estão imprecisos.
  • A CI não roda os testes Python de scripts/qa.
  • Nenhuma issue foi aberta para o backlog; isso espera aprovação.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant