# DEMANDA 15 — chat na aula ao vivo · resumo e critério PRONTOS, à espera da pergunta 36

Texto do dono (literal, intocado): «acho que seria interessante um chat nas aulas ao vivo»

Segura a entrega: **pergunta 36** — quem lê o que o médico escreve (A sala aberta · B dúvida só
para o especialista · C aberta com liberação). Decide se existe difusão para todos os presentes ou
entrega a um só: é mecanismo, e o enquadrador não parte cards sem isso.

## O que eu medi (três sítios, nesta ordem)
1. CÓDIGO: `/srv/produtos/capacitasalvador/repo` — `git log` = 1 commit, `git ls-files` = 0
   ficheiros. Não há uma linha onde enxertar chat.
2. `fab regras` do âmbito `produto:capacitasalvador` — 20 decisões dele. Varridas por «chat»,
   «mensagem», «dúvida», «interac»: ZERO. Nunca decidiu isto.
3. DEMANDA 14 (a fatia 1, regra 58) — o único lugar onde o chat cabe é a sala do ao vivo:
   `escopo/ENQUADRAMENTO-D14.cards.json:325`, card SIGLA-20, escopo `frontend/src/app/ao-vivo/`.
   ⟹ a 15 corre DEPOIS da fatia 1. Dependência é minha, não se pergunta.

## Já decidido por ele — a regra ganha, não se volta a perguntar
- Presença no ao vivo prova-se respondendo à pergunta de 20 em 20 min (regras 45, 48).
- Ponto = minuto validado; X por responder, X+Y por acertar (regras 48, 56); há UM só mecanismo
  de questão (regra 56). ⟹ **o chat não pontua e não prova presença.**
- Médico PENDENTE não assiste aula (regra 46) ⟹ não entra na sala, logo não escreve.
- Nada de maisSaúde (regra 42): o chat é do Capacita, no banco do Capacita.

## O que eu decido sozinho, por ser reversível (nomeado para ele corrigir no aceite)
1. As mensagens ficam GUARDADAS com autor, aula e instante — em módulo próprio, nunca fundidas com
   as questões da regra 56 (trocar o especialista, regra 57, não pode mexer em nenhuma das duas).
2. O chat abre e fecha COM A AULA AO VIVO. Fora do horário não se escreve.
3. O chat NÃO aparece na gravação dos x dias (ele escreveu «nas aulas ao vivo»).
4. Transporte, ecrã, banco e ferramenta: meus.

## CRITÉRIO DE PRONTO — a versão de cada resposta possível (um comando, e entrega-se)
- **Se (A)**: pronto quando, numa aula ao vivo a correr, 2 médicos aceites e o especialista estão na
  sala; o médico A escreve 1 mensagem e o médico B lê-a com o nome de A; o pendente vê 0 mensagens e
  não tem onde escrever; fora do horário da aula 0 mensagens são aceitas; e os pontos do médico A
  continuam iguais antes e depois de escrever 3 mensagens (chat não pontua).
- **Se (B)**: o mesmo, com o inverso a contar-se: o médico B lê 0 mensagens do médico A, e o
  especialista lê as 2 dos dois médicos.
- **Se (C)**: a mensagem de A fica invisível a B (0) até o especialista a liberar, e visível (1)
  depois; a não liberada continua 0 para B e 1 para o especialista.

## OBSERVAÇÃO (defeito de mecanismo que NÃO me impediu de continuar — por isso não é achado)
`fab perguntar 15` recusou a primeira versão desta pergunta com «isto parece defeito ou desenho da
FÁBRICA», sendo ela puramente regra de negócio (quem lê o quê). O que a fez passar foi tirar-lhe o
vocabulário da fábrica — «card», «enquadrador», «QA», «critério de pronto», «repo/commit»,
«frontend/», «canal em tempo real». Custou uma reescrita, não um bloqueio. Quem escrever perguntas
nesta casa: fale das PESSOAS e do que cada uma vê, e a fila aceita.
