Backlog e Histórias de Usuário¶
Nesta página¶
- Visão geral por épico
- Índice sequencial de histórias (HU01–HU16)
- Épico 1 — Gatilho e Ativação · HU01, HU03
- Épico 2 — Extração de Transcrição · HU05, HU10
- Épico 3 — Análise e Checagem via IA · HU02, HU04, HU09
- Épico 4 — Confiança e Fontes · HU07, HU08
- Épico 5 — Performance e Cache · HU06
- Épico 6 — Engajamento Reflexivo e Avaliação · HU11, HU12
- Épico 7 — Investigação Orientada por Alegações e Evidências · HU13, HU14, HU15
- Épico 8 — Infraestrutura e Provedores de IA · HU16
Legenda de Padronização
- HU = História de Usuário (formato de valor de negócio com personas mapeadas)
- Prioridade MoSCoW = Must Have (MVP Onda 1), Should Have (Onda 2), Could Have (Onda 3 - Pós-MVP)
- Rastreabilidade Bidirecional = Vinculação estrita com Cenários Operacionais, Casos de Uso, RFs e RNFs
- Critérios de Aceitação = Especificação comportamental em tópicos e cenários executáveis em sintaxe Gherkin
Backlog do Produto por Épico¶
Figura: Mapeamento visual e estrutural entre Épicos, Features e Histórias de Usuário associadas às personas mapeadas.
| Épico | Módulo | Histórias | Prioridade MoSCoW | Rastreabilidade a Cenários |
|---|---|---|---|---|
| E1 — Gatilho e Ativação | Acionamento da extensão | HU01, HU03 | Must Have | IN | Cenário 01, Cenário 03 |
| E2 — Extração de Transcrição | Ingestão de dados do vídeo | HU05, HU10 | Must Have | IN | Cenário 02, Cenário 08 |
| E3 — Análise e Checagem via IA | Pipeline de IA e síntese | HU02, HU04, HU09 | Must Have | IN | Cenário 03, Cenário 06, Cenário 10 |
| E4 — Confiança e Fontes | Credibilidade e contexto | HU07, HU08 | Must Have (HU07) / Should Have (HU08) | IN | Cenário 04, Cenário 09 |
| E5 — Performance e Cache | Otimização e reuso local | HU06 | Should Have | IN | Cenário 07 |
| E6 — Engajamento Reflexivo e Avaliação | Pensamento crítico e feedback | HU11, HU12 | Must Have (HU11) | IN / Could Have (HU12) | OUT | Cenário 05, Cenário 11 |
| E7 — Investigação e Evidências | UX Evidence-First e Alegações | HU13, HU14, HU15 | Must Have | IN | ADR-006, Cenário 03, Cenário 05 |
| E8 — Infraestrutura de IA | Desacoplamento de Providers | HU16 | Must Have | IN | ADR-006 |
Índice Sequencial de Histórias de Usuário (HU01 a HU16)¶
Para facilitar a consulta direta e auditoria técnica, a tabela abaixo consolida todas as 16 histórias de usuário em ordem numérica estrita:
| ID | Título da História | Épico Associado | Persona | Prioridade MoSCoW | Escopo |
|---|---|---|---|---|---|
| HU01 | Acesso Rápido à Investigação de Vídeo | Épico 1 | Dona Lurdes | Must Have | IN |
| HU02 | Síntese Explicativa Baseada em Evidências | Épico 3 | Dona Lurdes | Must Have | IN |
| HU03 | Checagem Rápida e Factual no Player | Épico 1 | Amanda | Must Have | IN |
| HU04 | Exibição Transparente de Fontes e Evidências | Épico 3 | Mayara | Must Have | IN |
| HU05 | Ingestão e Processamento de Transcrição | Épico 2 | Carlos Augusto | Must Have | IN |
| HU06 | Desempenho e Reuso Local em Vídeos Já Analisados | Épico 5 | Amanda | Should Have | IN |
| HU07 | Verificação e Validade de Fontes Oficiais | Épico 4 | Mayara | Must Have | IN |
| HU08 | Mapeamento de Credibilidade e Diversidade das Fontes | Épico 4 | Carlos Augusto | Should Have | IN |
| HU09 | Detecção Fina de Factualidade e Síntese Neutra | Épico 3 | Mariana | Must Have | IN |
| HU10 | Notificação Rápida de Ausência de Transcrição | Épico 2 | Mariana | Must Have | IN |
| HU11 | Transparência Metodológica e Limitações da IA | Épico 6 | Helena | Must Have | IN |
| HU12 | Feedback do Usuário sobre Utilidade das Evidências | Épico 6 | Helena | Could Have | OUT |
| HU13 | Extração Atômica de Alegações Verificáveis | Épico 7 | Dona Lurdes | Must Have | IN |
| HU14 | Consulta Multi-Fonte com Busca Semântica Neutra | Épico 7 | Mayara | Must Have | IN |
| HU15 | Reflexão Crítica na UX | Épico 7 | Helena | Must Have | IN |
| HU16 | Provedor de IA Independente | Épico 8 | Engenharia | Must Have | IN |
Funil de Priorização do Backlog¶
A alocação de esforço e cadência de entrega de cada história segue o funil estratégico do produto:
Figura: Funil de refinamento progressivo do backlog de produto (Now, Next, Soon, Later).
Épico 1 — Gatilho e Ativação¶
HU01 — Acesso Rápido à Investigação de Vídeo¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como Dona Lurdes, pretendo iniciar a investigação das alegações de um vídeo com apenas um clique para que eu possa examinar as evidências sobre as receitas e dicas caseiras de saúde antes de decidir seguir ou repassar a familiares. |
| Prioridade | Must Have | IN |
| Persona Relacionada | Dona Lurdes |
| Rastreabilidade | GQ02, GQ11, ADR-006, Cenário 01, UC-01, RF-01, RF-03, RNF-01, RNF-07 |
Critérios de Aceitação:
- A extensão deve disponibilizar um botão de acionamento destacado e visível na interface da página de reprodução (
/watch). - O primeiro conjunto de alegações e evidências deve ser renderizado no painel lateral em linguagem clara, sem termos técnicos ou jargões da web.
- Caso o vídeo não possua transcrição ou a rede falhe, o sistema deve exibir aviso em linguagem simples e amigável sem travar o navegador.
Funcionalidade: Acesso rápido à investigação de vídeo
Cenário: Acionar a investigação com um clique
Dado que Dona Lurdes está em uma página de vídeo ativa do YouTube (/watch)
Quando ela clica no botão de acionamento da extensão
Então o painel deve exibir confirmação visual de processamento em até 1 segundo
E as alegações do vídeo devem ser renderizadas com suas evidências em linguagem clara, sem jargões técnicos
E nenhum score global ou gauge deve ser exibido
Cenário: Falha de rede ou ausência de transcrição
Dado que Dona Lurdes aciona a investigação de um vídeo
Quando o vídeo não possui transcrição disponível ou a rede falha
Então o sistema deve exibir um aviso em linguagem simples e amigável
E o navegador não deve travar
Histórico de Revisão — HU01¶
| Data | Motivo | Referência |
|---|---|---|
| 2026-10-02 | Reescrita para alinhar com Essential Question: "saber se é seguro" substituído por "examinar evidências antes de decidir"; UX de investigação assistida em vez de veredito; critérios Gherkin atualizados para exigir ausência de score global. | ADR-006 |
| (original) | "Como Dona Lurdes, pretendo iniciar a checagem de um vídeo com apenas um clique para que eu saiba se as receitas e dicas caseiras de saúde são seguras antes de seguir ou repassar a familiares." | — |
HU03 — Checagem Rápida e Factual no Player¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como Amanda, pretendo ver a primeira evidência útil sobre afirmações de vídeos de divulgação científica em até 5 segundos para validar premissas sem interromper o fluxo dos meus estudos. |
| Prioridade | Must Have | IN |
| Persona Relacionada | Amanda |
| Rastreabilidade | GQ09, ADR-006 Decisão 8, Cenário 01, Cenário 03, UC-01, UC-03, RF-01, RF-09, RNF-01 |
Critérios de Aceitação:
- O sistema deve fornecer confirmação visual imediata de processamento em até 1 segundo após o clique.
- A primeira evidência útil deve ser renderizada no painel lateral em no máximo 5 segundos (P90) em condições normais de rede.
- O resultado completo (todas as alegações e evidências) deve ser renderizado em no máximo 10 segundos (P90).
- Em vídeos já analisados recentemente, o sistema deve recuperar os dados em menos de 1 segundo a partir do cache local.
Funcionalidade: Checagem rápida e entrega de evidências no player
Cenário: Confirmação visual imediata
Dado que Amanda aciona a investigação de um vídeo
Quando o clique é processado
Então uma confirmação visual de processamento deve aparecer em até 1 segundo
Cenário: Entrega da primeira evidência dentro do SLA
Dado que a transcrição foi extraída com sucesso
Quando o pipeline processa as alegações e recupera evidências
Então a primeira evidência útil deve ser renderizada no painel em no máximo 5 segundos (P90)
Cenário: Resultado completo dentro do SLA
Dado que o pipeline completou o processamento
Quando todas as alegações foram analisadas
Então o resultado completo deve ser renderizado em no máximo 10 segundos (P90), em condições normais de rede
Cenário: Recuperação instantânea de vídeo já analisado
Dado que Amanda abre um vídeo investigado recentemente
Quando ela aciona a extensão
Então o resultado deve ser recuperado do cache local em menos de 1 segundo, sem nova requisição
Histórico de Revisão — HU03¶
| Data | Motivo | Referência |
|---|---|---|
| 2026-10-02 | SLA reescrito: "análise" substituído por "primeira evidência útil" (≤ 5s P90); adicionado SLA de resultado completo (≤ 10s P90) e cache hit (< 1s). Alinhado ao ADR-006 Decisão 8. | ADR-006 |
| (original) | "...analisar afirmações... em até 10 segundos..." | — |
Épico 2 — Extração de Transcrição¶
HU05 — Ingestão e Processamento de Transcrição¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como Carlos Augusto, pretendo que o sistema obtenha e processe automaticamente a transcrição do vídeo para que a verificação de factualidade ocorra a partir do áudio exato do conteúdo. |
| Prioridade | Must Have | IN |
| Persona Relacionada | Carlos Augusto |
| Rastreabilidade | Cenário 02, UC-02, RF-02, RF-08, RNF-03, RNF-06 |
Critérios de Aceitação:
- O sistema deve interceptar as faixas de legenda (nativas ou geradas automaticamente) diretamente do player do YouTube.
- O texto extraído deve ser estruturado e higienizado antes do envio seguro ao backend intermediário.
- Caso o criador tenha desativado as legendas e não haja transcrição disponível, o sistema deve exibir alerta informativo claro e liberar a tela.
Funcionalidade: Ingestão e processamento de transcrição
Cenário: Extração de legendas nativas ou automáticas
Dado que Carlos Augusto está em uma página de vídeo ativa
Quando o sistema intercepta o identificador do vídeo
Então as faixas de legenda (nativas ou automáticas) devem ser requisitadas ao player
E o texto deve ser higienizado e estruturado antes do envio ao backend
Cenário: Vídeo sem legendas disponíveis
Dado que o criador do vídeo desativou as legendas
Quando o sistema tenta obter a transcrição
Então um alerta informativo claro deve ser exibido
E o fluxo de checagem deve ser encerrado com segurança
HU10 — Notificação Rápida de Ausência de Transcrição¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como Mariana, pretendo ser notificada imediatamente caso o vídeo assistido não possua legendas para não perder tempo aguardando um resultado que não pode ser gerado. |
| Prioridade | Must Have | IN (Onda 1 - MVP) |
| Persona Relacionada | Mariana |
| Rastreabilidade | Cenário 08, UC-02, RF-02, RF-08, RNF-01, RNF-06, RNF-07 |
| Sprint / Entrega | Sprint 2 (05/10/2026 a 09/10/2026) · Story Points: 3 |
| Responsáveis | @luizoryone, @lipestile |
Declaração de Valor e Contexto:
Quando um vídeo no YouTube não possui faixas de legenda ou transcrição disponibilizadas pelo criador/plataforma, a checagem factual automatizada torna-se inviável. Esta funcionalidade valida a disponibilidade de faixas de transcrição em até 1,0 segundo no Content Script, emitindo o evento NO_CAPTIONS localmente e cancelando com segurança o fluxo de processamento, sem onerar o backend ou a rede externa, sem travar o player ou a aba do usuário, e fornecendo alertas acessíveis (WCAG AA) e opção de nova tentativa tanto no badge do player quanto dentro do painel lateral.
Critérios de Aceitação:
- O sistema deve validar a disponibilidade da transcrição em até 1 segundo após o acionamento da extensão.
- Exibição de um alerta orientador informando a impossibilidade técnica de processar o vídeo sem legendas.
- Interrupção segura do carregamento sem retenção de estado de espera ou bloqueio da aba.
- Disponibilização de botão de nova tentativa caso ocorra erro temporário de rede ou da API do YouTube.
Funcionalidade: Notificação rápida de ausência de transcrição
Cenário: Vídeo sem legendas
Dado que Mariana aciona a checagem de um vídeo sem transcrição disponível
Quando o sistema valida a disponibilidade da transcrição
Então um alerta orientador deve ser exibido em até 1 segundo
E o carregamento deve ser interrompido com segurança, sem bloquear a aba
Cenário: Falha temporária da API do YouTube
Dado que ocorre um erro temporário ao consultar as legendas
Quando o sistema detecta a falha
Então um botão de nova tentativa deve ser disponibilizado no painel
Matriz de Rastreabilidade e Evidências Técnicas¶
| Critério de Aceite | Implementação Técnica | Evidência Automatizada | Resultado Obtido |
|---|---|---|---|
| Detecção em até 1,0s (RNF-01, RNF-06) | caption-parser.ts impõe timeout estrito de 1.000ms (Promise.race) na leitura de faixas (GET_CAPTION_TRACKS). |
caption-extraction.test.ts (teste de timeout em 1s) e hu10.spec.ts. |
Aprovado. Detecção de ausência em $< 50\text{ms}$ (muito abaixo do limite de 1,0s). |
Emissão local de NO_CAPTIONS sem rede externa |
Se tracks.length === 0, extractCaptionsFromPage retorna null sem disparar fetch ou ANALYZE_VIDEO. O content script emite NO_CAPTIONS via postMessage. |
content-script.test.ts e hu10.spec.ts (0 chamadas a timedtext). |
Aprovado. Zero tráfego externo ou chamadas ao backend proxy. |
| Alerta acessível no painel (WCAG AA, RNF-07) | panel/index.tsx renderiza <section class="alert-box" role="alert"> com mensagem orientadora clara e contraste adequado. |
panel/index.test.tsx e AxeBuilder no Playwright (hu10.spec.ts). |
Aprovado. Zero violações de acessibilidade no axe-core. |
| Interrupção segura sem bloquear aba/player | Operações assíncronas com AbortController, sem long tasks ($< 50\text{ms}$), sem pausar <video>. |
hu10.spec.ts (pauses === 0 e blocking <= 50ms). |
Aprovado. Aba e reprodução de vídeo totalmente fluidas. |
| Botão de nova tentativa (Painel e Player) | Painel renderiza <button class="retry-btn">Tentar novamente</button> que posta RETRY_ANALYSIS para o Content Script reiniciar a validação. |
panel/index.test.tsx, content-script.test.ts e hu10.spec.ts. |
Aprovado. Tentativa rearmada com tratamento seguro de concorrência. |
Arquitetura e Decisões de Engenharia¶
- Validação Rápida em Duas Etapas (Fast-Fail):
- Etapa 1 (Detecção de Faixas): O Service Worker consulta o player do YouTube no mundo MAIN (
readPlayerCaptions). Se não houver faixas, retorna[]imediatamente. - Etapa 2 (Download e Higienização): Só é iniciada se existirem faixas válidas. Vídeos sem legendas encerram imediatamente na Etapa 1, poupando processamento e banda.
- Etapa 1 (Detecção de Faixas): O Service Worker consulta o player do YouTube no mundo MAIN (
- Timeout de Detecção Estrito de 1,0s:
- Para atender ao requisito de resposta rápida (Mariana não quer esperar), a consulta das faixas possui timeout estrito de 1.000ms.
- Comunicação Segura de Retry via Mensagens:
- O painel roda em um
iframesandbox isolado (src/panel/index.html). - O botão de retry envia
{ type: "RETRY_ANALYSIS" }com validação de origem (https://www.youtube.com). - O content script consome a mensagem e aciona o clique do botão no Shadow DOM apenas se não estiver em execução (
aria-disabled !== "true").
- O painel roda em um
Definition of Done (DoD)¶
- Detecção de ausência de legendas em tempo inferior a 1,0s.
- Alerta orientador acessível via
role="alert"no painel. - Evento local
NO_CAPTIONSsem chamadas externas ao backend. - Botão de nova tentativa disponível no painel em caso de falha/ausência.
- Testes unitários e de integração adicionados com 100% de aprovação.
- Cobertura de testes mantida acima de 95% em todos os critérios.
- Conformidade de acessibilidade validada com axe-core.
Épico 3 — Análise e Checagem via IA¶
HU02 — Síntese Explicativa Baseada em Evidências¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como Dona Lurdes, pretendo visualizar uma síntese explicativa acessível de cada alegação, baseada nas evidências recuperadas, para compreender o que as fontes encontradas dizem sem que a IA me diga o que é verdade. |
| Prioridade | Must Have | IN |
| Persona Relacionada | Dona Lurdes |
| Rastreabilidade | GQ02, GQ03, GQ11, ADR-006, Cenário 10, UC-01, UC-03, RF-03, RF-06, RNF-07 |
Critérios de Aceitação:
- A síntese de cada alegação deve ser derivada das evidências recuperadas, não de uma classificação prévia da LLM.
- As alegações devem ser agrupadas com separação visual entre as que possuem evidências de suporte, de contradição, de contextualização e de insuficiência.
- Nenhum score global, gauge ou percentual de veracidade deve ser exibido.
- O painel deve seguir normas WCAG de legibilidade, tipografia ampla e contraste cromático adequado.
- A consulta não deve exigir configurações complexas, preenchimento de cadastros ou autenticação externa.
Funcionalidade: Síntese explicativa baseada em evidências
Cenário: Separação visual entre alegações por estado de evidência
Dado que a investigação de um vídeo foi concluída
Quando o painel lateral é renderizado
Então cada alegação deve exibir sua síntese baseada nas evidências recuperadas
E as alegações devem ser separadas por estado (suporte, contradição, contextualização, insuficiência)
E nenhum score global, gauge ou percentual de veracidade deve ser exibido
E o painel deve seguir contraste e tipografia compatíveis com WCAG AA
Cenário: Consulta sem cadastro
Dado que Dona Lurdes deseja visualizar a síntese das evidências
Quando ela usa a extensão
Então nenhuma configuração, cadastro ou autenticação externa deve ser exigida
Histórico de Revisão — HU02¶
| Data | Motivo | Referência |
|---|---|---|
| 2026-10-02 | Reescrita: síntese baseada em classificação substituída por síntese explicativa derivada de evidências recuperadas; critério explícito de ausência de score global/gauge. | ADR-006 |
| (original) | "...entender facilmente o que é verdade, mentira ou sem comprovação..." | — |
HU04 — Mapeamento Estruturado de Alegações e Evidências¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como Amanda, pretendo visualizar as principais alegações do vídeo mapeadas individualmente para evidências que sustentam, contradizem ou contextualizam cada fala para facilitar meus fichamentos acadêmicos sem aceitar uma classificação simplista. |
| Prioridade | Must Have | IN |
| Persona Relacionada | Amanda |
| Rastreabilidade | GQ01, GQ02, GQ03, ADR-006, Cenário 03, UC-03, RF-03, RF-06, RNF-02 |
Critérios de Aceitação:
- As alegações extraídas da transcrição devem ser mapeadas separadamente para suas respectivas evidências.
- Cada evidência deve explicitar sua relação factual com a alegação (
supports,contradicts,contextualizes). - O sistema não deve impor vereditos dogmáticos nem scores numéricos que substituam o exame das fontes.
- A injeção dos componentes na aba do YouTube não deve elevar o Tempo Total de Bloqueio (TBT) em mais de 50 ms.
Funcionalidade: Mapeamento estruturado de alegações e evidências
Cenário: Listagem isolada de alegações com relação às evidências
Dado que a investigação de um vídeo foi concluída
Quando o painel exibe o resultado
Então cada alegação extraída deve ser listada isoladamente
E cada evidência associada deve explicitar sua relação (sustenta, contradiz ou contextualiza)
E nenhum score global deve ser associado à alegação
Cenário: Alegação com fontes divergentes
Dado que uma alegação possui evidências contraditórias entre fontes legítimas
Quando o painel apresenta a alegação
Então ambas as fontes (de apoio e de contradição) devem ser listadas lado a lado com suas relações explícitas
Cenário: Limite de sobrecarga de renderização
Dado que os componentes da extensão são injetados na aba ativa do YouTube
Quando a página é carregada
Então o Tempo Total de Bloqueio (TBT) não deve aumentar mais de 50 ms
Histórico de Revisão — HU04¶
| Data | Motivo | Referência |
|---|---|---|
| 2026-10-02 | Reescrita: de categorização automática unificada para mapeamento claim → evidence por alegação com relação explícita (sustenta/contradiz/contextualiza), sem imposição de veredito ou score. | ADR-006 |
| (original) | "Eu, como Amanda, pretendo visualizar as principais alegações do vídeo categorizadas entre evidências que apoiam, contradizem ou contextualizam a fala para facilitar os meus fichamentos acadêmicos." | — |
HU09 — Alerta de Incerteza e Limitações Analíticas¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como Mariana, pretendo ser alertada visualmente quando uma alegação não possuir evidência suficiente no corpus ou apresentar divergência entre fontes para não repassar informações sem comprovação factual nem assumir falsidade automática. |
| Prioridade | Must Have | IN |
| Persona Relacionada | Mariana |
| Rastreabilidade | GQ05, GQ06, ADR-006 Decisão 3, Cenário 06, UC-06, RF-07, RNF-06, RNF-07 |
Critérios de Aceitação:
- Exibição destacada do estado explícito "Sem evidência suficiente" (
insufficient_evidence) quando a busca de evidências não encontrar registros com relevância suficiente. - Regra inviolável: ausência de evidência jamais é convertida automaticamente em rótulo "falso".
- Alegações com referências divergentes legítimas devem expor a controvérsia lado a lado, sem declarar vencedor absoluto.
- O painel lateral deve apresentar a seção "O que ainda não sabemos" apontando limitações da checagem, dados antigos ou fontes primárias ausentes.
Funcionalidade: Alerta de incerteza e limitações analíticas
Cenário: Alegação sem evidência suficiente não é classificada como falsa
Dado que a busca vetorial não recupera evidências acima do limiar para uma alegação
Quando o painel exibe o resultado da alegação
Então o estado da alegação deve ser explicitamente "Sem evidência suficiente" (insufficient_evidence)
E o sistema não deve rotular a alegação como falsa nem aplicar penalidade de veracidade
Cenário: Divergência legítima entre fontes
Dado que existem fontes confiáveis com conclusões opostas sobre a mesma alegação
Quando o resultado é apresentado no painel
Então ambas as perspectivas devem ser listadas lado a lado
E o indicador de estado deve assinalar "Fontes conflitantes" sem arbitrar um veredito
Cenário: Exibição da seção de lacunas e limitações
Dado que a investigação do vídeo possui lacunas identificadas (ex.: fontes antigas ou ausência de fontes primárias)
Quando o painel exibe a síntese
Então a seção "O que ainda não sabemos" deve listar claramente as limitações identificadas
Histórico de Revisão — HU09¶
| Data | Motivo | Referência |
|---|---|---|
| 2026-10-02 | Reescrita: incerteza e limitações promovidas a pilar central; formalização do estado insufficient_evidence (distinto de falso) e obrigatoriedade da seção "O que ainda não sabemos". |
ADR-006 |
| (original) | "Eu, como Mariana, pretendo receber um alerta visual destacado quando houver incerteza ou conflito de fontes sobre o vídeo para conter impulsos de repasse em mensagens no WhatsApp." | — |
Épico 4 — Confiança e Fontes¶
HU07 — Auditoria Direta e Provenance de Fontes¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como Mayara, pretendo auditar a origem primária das evidências acessando suas fontes com metadados de provenance (origem do dataset, data, publisher e hash de integridade) e hiperligações diretas de forma autônoma. |
| Prioridade | Must Have | IN |
| Persona Relacionada | Mayara |
| Rastreabilidade | GQ04, GQ07, ADR-006 Decisão 2, Cenário 04, UC-04, RF-04, RNF-05, RNF-07 |
Critérios de Aceitação:
- Cada cartão de evidência deve listar explicitamente título da fonte, URL, data de publicação, entidade publicadora (publisher) e relação com a alegação.
- O bloco de provenance deve conter metadados do corpus de origem (ex.: FactChecks.br), data de indexação e hash/ID do registro.
- Ao clicar no link da fonte, a página externa deve ser aberta em nova aba (
target="_blank") preservando o painel e o player. - Caso a fonte esteja inacessível (ex.: HTTP 404), o navegador gerencia o erro na nova aba sem travar a extensão ou perder os metadados exibidos.
Funcionalidade: Auditoria direta e provenance de fontes
Cenário: Abertura de fonte em nova aba com preservação de estado
Dado que Mayara visualiza um cartão de evidência com hiperligação
Quando ela clica na ligação da fonte
Então a página original da fonte deve abrir em uma nova aba do navegador
E o painel lateral da extensão e a reprodução do vídeo devem permanecer inalterados
Cenário: Exibição completa de metadados e provenance
Dado que uma evidência é apresentada no painel
Quando Mayara expande os detalhes da evidência
Então os campos título, publisher, data de publicação, dataset de origem e hash devem estar visíveis
E nenhum score arbitrário de confiabilidade da fonte (reliabilityScore) deve ser exibido
Cenário: Tratamento resiliente de link inacessível
Dado que a fonte referenciada retorna falha de conexão ou erro HTTP (ex.: 404)
Quando Mayara tenta acessá-la
Então o erro de navegação deve ser isolado na nova aba
E a extensão deve manter os metadados de provenance visíveis no painel
Histórico de Revisão — HU07¶
| Data | Motivo | Referência |
|---|---|---|
| 2026-10-02 | Reescrita: expansão para inclusão obrigatória de provenance (dataset de origem, publisher, data de indexação e hash); remoção explícita de reliabilityScore algorítmico por fonte. |
ADR-006 |
| (original) | "Eu, como Mayara, pretendo acessar as fontes utilizadas na checagem por meio de hiperligações e metadados diretos para auditar a origem primária das evidências de forma autônoma." | — |
HU08 — Contextualização Temporal e Autoria do Vídeo¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como Mayara, pretendo visualizar a data original de publicação do vídeo e as informações do canal para avaliar se as afirmações analisadas estão anacrônicas ou fora de época. |
| Prioridade | Should Have | IN |
| Persona Relacionada | Mayara |
| Rastreabilidade | Cenário 09, UC-01, UC-03, RF-11, RNF-07 |
Critérios de Aceitação:
- O painel de checagem deve exibir a data de upload original e o nome do canal responsável pelo vídeo no YouTube.
- O cruzamento de dados deve considerar o marco temporal de publicação para evitar falsas contradições em conteúdos antigos.
- Os metadados de contexto devem ser exibidos de forma compacta no cabeçalho do painel de análise.
Funcionalidade: Contextualização temporal e autoria do vídeo
Cenário: Exibição de metadados de publicação
Dado que a checagem de um vídeo foi concluída
Quando o painel é renderizado
Então a data de upload original e o nome do canal devem ser exibidos no cabeçalho
Cenário: Cruzamento temporal das afirmações
Dado que um vídeo antigo volta a circular como se fosse atual
Quando a IA analisa as afirmações
Então o cruzamento deve considerar o ano de produção do material
E não deve classificar como falsa uma afirmação que era verídica à época
Épico 5 — Performance e Cache¶
HU06 — Consulta Imediata via Cache Local¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como Carlos Augusto, pretendo recuperar checagens recentes salvas no cache local para não desperdiçar tráfego de rede nem consumir processamento em vídeos já auditados. |
| Prioridade | Should Have | IN |
| Persona Relacionada | Carlos Augusto |
| Rastreabilidade | Cenário 07, UC-01, RF-09, RNF-01, RNF-05 |
Critérios de Aceitação:
- A extensão deve verificar o armazenamento local pelo identificador do vídeo antes de efetuar chamadas externas de inferência.
- Resultados em cache válido devem ser exibidos de forma instantânea (latência inferior a 1 segundo).
- O armazenamento em cache local deve ser restrito ao escopo da extensão, sem reter histórico geral de navegação do usuário.
Funcionalidade: Consulta imediata via cache local
Cenário: Cache válido disponível
Dado que um vídeo já foi analisado recentemente
Quando Carlos Augusto aciona a extensão nesse vídeo
Então o sistema deve localizar o registro em cache pelo identificador do vídeo
E exibir o resultado em menos de 1 segundo, sem nova chamada externa
Cenário: Cache expirado ou corrompido
Dado que o registro local de um vídeo está expirado ou corrompido
Quando a extensão tenta recuperá-lo
Então o sistema deve descartar o registro
E disparar uma nova análise completa
Épico 6 — Engajamento Reflexivo e Avaliação¶
Escopo da Release 1.0 (MVP)
A HU11 (Reflexão Crítica) foi promovida a Must Have do MVP por determinação da Essential Question (ADR-006). A HU12 permanece como Could Have (Pós-MVP / Onda 3).
HU11 — Perguntas Orientadoras para Reflexão Crítica¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como Helena, pretendo receber perguntas reflexivas neutras sobre as alegações do vídeo para orientar a minha própria avaliação crítica e investigar lacunas sem que o sistema imponha conclusões fechadas. |
| Prioridade | Must Have | IN (Promovida de Pós-MVP para MVP) |
| Persona Relacionada | Helena |
| Rastreabilidade | GQ08, GQ11, ADR-006 Decisão 7, Cenário 05, UC-05, RF-05, RNF-07 |
Critérios de Aceitação:
- O painel deve disponibilizar no mínimo 3 perguntas orientadoras neutras associadas às alegações do vídeo (ex.: "Qual é a fonte primária?", "Esta informação ainda é atual?", "Que evidência independente existe?", "O que foi omitido?").
- As perguntas devem manter postura de estrita neutralidade, abstendo-se de direcionar respostas ideológicas ou dogmáticas.
- A reflexão crítica deve ser apresentada como bloco central e indispensável da UX no MVP (seção "Perguntas para você").
- A usuária pode navegar livremente pelo restante do painel e do vídeo sem ser forçada a responder às perguntas.
Funcionalidade: Perguntas orientadoras para reflexão crítica
Cenário: Exibição de perguntas reflexivas neutras após evidências
Dado que as alegações e evidências de um vídeo foram carregadas no painel
Quando o bloco "Perguntas para você" é renderizado
Então pelo menos 3 perguntas reflexivas devem ser exibidas para estimular o pensamento crítico
E nenhuma pergunta deve afirmar falsidade ou verdade dogmática
Cenário: Independência investigativa da usuária
Dado que Helena lê as perguntas orientadoras
Quando ela decide avaliar o conteúdo por conta própria
Então as perguntas devem apontar dimensões de verificação (fonte primária, contexto temporal, omissões)
E nenhum veredito algorítmico substitui o julgamento da usuária
Cenário: Navegação sem interrupção forçada
Dado que Helena visualiza as perguntas reflexivas
Quando ela decide fechar o painel ou continuar assistindo ao vídeo
Então a navegação deve prosseguir normalmente, sem obrigatoriedade de resposta
Histórico de Revisão — HU11¶
| Data | Motivo | Referência |
|---|---|---|
| 2026-10-02 | Promoção de Could Have (Pós-MVP / Onda 3 / OUT) para Must Have (MVP / Onda 1 / IN). Eliminação da restrição de Pós-MVP; garantia de ≥ 3 perguntas reflexivas neutras por análise; alinhamento obrigatório com a Essential Question do desafio. | ADR-006 |
| (original) | Prioridade: Could Have | OUT (Pós-MVP). "Eu, como Helena, pretendo receber perguntas reflexivas sobre os pontos controversos do vídeo para orientar a minha própria checagem sem que a IA imponha conclusões fechadas." | — |
HU12 — Avaliação de Relevância e Precisão da Análise¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como Helena, pretendo classificar a utilidade das evidências e perguntas recebidas para colaborar com a melhoria contínua das respostas analíticas do sistema. |
| Prioridade | Could Have | OUT (Pós-MVP) |
| Persona Relacionada | Helena |
| Rastreabilidade | Cenário 11, RF-10, RNF-05 |
Critérios de Aceitação:
- Disponibilização de opções discretas de avaliação (ex.: positivo/negativo) ao final do painel de análise.
- O envio da avaliação deve ocorrer de forma assíncrona, sem recarregar a interface nem interromper o vídeo.
- A rotina de retorno não deve recolher dados pessoais identificáveis ou históricos de navegação não consentidos.
Funcionalidade: Avaliação de relevância e precisão da análise
Cenário: Envio de avaliação sem dados pessoais
Dado que Helena finalizou a leitura dos cartões de evidências
Quando ela aciona um botão de avaliação (positivo/negativo)
Então o registro deve ser enviado de forma assíncrona e anônima
E nenhum dado pessoal identificável deve ser coletado
Cenário: Falha no envio
Dado que ocorre perda de conexão durante o envio do feedback
Quando a ação de avaliação falha
Então a falha deve ocorrer silenciosamente, sem interromper a navegação
Épico 7 — Investigação Orientada por Alegações e Evidências¶
HU13 — Investigação Orientada por Alegações¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como usuária, pretendo visualizar as principais alegações verificáveis do vídeo separadamente para investigar cada uma delas sem aceitar uma classificação global ou veredito automático. |
| Prioridade | Must Have | IN |
| Persona Relacionada | Amanda |
| Rastreabilidade | GQ01, GQ02, GQ11, ADR-006 Decisão 1 e 2, RF-06, RNF-07 |
Critérios de Aceitação:
- As alegações verificáveis extraídas da transcrição devem ser exibidas de forma atômica e individualizada no painel lateral.
- Nenhum score global (0 a 100%), velocímetro gráfico ou medidor único de veracidade do vídeo deve ser exibido na interface.
- Cada alegação deve conter identificador exclusivo e seu contexto temporal correspondente.
Funcionalidade: Investigação orientada por alegações
Cenário: Listagem individualizada de alegações sem score global
Dado que a investigação de um vídeo foi processada com sucesso
Quando o painel lateral é aberto
Então cada alegação identificada deve ser listada separadamente em um cartão próprio
E nenhum score global, gauge ou porcentagem de veracidade do vídeo deve ser apresentado
Cenário: Foco investigativo por alegação
Dado que o usuário deseja examinar uma afirmação específica
Quando ele seleciona o cartão daquela alegação
Então apenas o conjunto de evidências e perguntas pertinentes a ela deve ser expandido
Cenário: Vídeo composto exclusivamente por opiniões subjetivas
Dado que a transcrição do vídeo não contém premissas factuais verificáveis
Quando o pipeline conclui a extração
Então o painel deve informar que não foram identificadas alegações checáveis, sem atribuir nota ou veredito
Histórico de Revisão — HU13¶
| Data | Motivo | Referência |
|---|---|---|
| 2026-10-02 | Criação da história para formalizar a alegação como unidade atômica da investigação e a eliminação definitiva de scores globais (Origem: ADR-006). | ADR-006 |
HU14 — Evidência Rastreável¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como usuária, pretendo ver quais fontes sustentam, contradizem ou contextualizam cada alegação para poder verificar a origem das informações de forma autônoma. |
| Prioridade | Must Have | IN |
| Persona Relacionada | Mayara |
| Rastreabilidade | GQ02, GQ04, GQ06, ADR-006 Decisão 2 e 5, RF-04, RF-13, RNF-05 |
Critérios de Aceitação:
- Cada evidência deve exibir obrigatoriamente: título, hiperligação direta (URL), data de publicação, entidade publicadora (publisher) e relação explícita com a alegação (
supports,contradicts,contextualizes). - As evidências devem ser organizadas agrupando visualmente o tipo de relação com a afirmação avaliada.
- A consulta à fonte externa deve abrir em nova aba (
target="_blank"), sem recarregar a extensão nem interromper o vídeo.
Funcionalidade: Evidência rastreável
Cenário: Exibição completa de atributos de evidência
Dado que uma alegação possui evidências recuperadas de corpora verificados
Quando o usuário visualiza o cartão de evidência
Então título, URL, data de publicação, publisher e a relação factual devem estar explicitamente visíveis
Cenário: Exibição de fontes contraditórias com destaque claro
Dado que uma fonte contradiz a afirmação realizada no vídeo
Quando o cartão dessa evidência é apresentado
Então o indicador de relação "Contradiz" deve ser exibido com destaque e acompanhado do trecho factual correspondente
Cenário: Exibição de contexto complementar
Dado que uma evidência fornece contexto temporal ou esclarecimento sem confirmar nem negar
Quando o cartão é apresentado
Então o indicador de relação "Contextualiza" deve ser exibido com metadados completos
Histórico de Revisão — HU14¶
| Data | Motivo | Referência |
|---|---|---|
| 2026-10-02 | Criação da história para assegurar a rastreabilidade estrita de cada evidência por alegação com relação explícita e metadados completos (Origem: ADR-006). | ADR-006 |
HU15 — Reflexão Crítica na UX¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como usuária, pretendo receber perguntas que me ajudem a avaliar a alegação por conta própria antes de formar uma conclusão definitiva sobre o conteúdo assistido. |
| Prioridade | Must Have | IN |
| Persona Relacionada | Helena |
| Rastreabilidade | GQ08, GQ11, ADR-006 Decisão 7, RF-05, RNF-07 |
Critérios de Aceitação:
- O sistema deve gerar e exibir no mínimo 3 perguntas reflexivas neutras associadas a cada alegação ou conjunto analítico.
- Nenhuma pergunta gerada deve emitir veredito, juízo de valor ideológico ou impor conclusões pré-moldadas.
- As perguntas devem incidir sobre pontos investigativos essenciais: credibilidade da fonte original, atualidade dos dados, premissas omitidas e existência de comprovação independente.
Funcionalidade: Reflexão crítica na UX
Cenário: Formulação de no mínimo 3 perguntas reflexivas
Dado que a investigação de uma alegação foi concluída
Quando o componente de perguntas reflexivas é exibido
Então pelo menos 3 perguntas neutras orientadas à investigação pessoal devem ser apresentadas
Cenário: Garantia de neutralidade nas perguntas
Dado que o assistente de IA formula as perguntas de reflexão
Quando o texto é gerado
Então nenhuma pergunta deve declarar se o vídeo está "certo" ou "errado", mantendo postura investigativa aberta
Cenário: Não obrigatoriedade de resposta
Dado que o usuário lê as perguntas reflexivas
Quando ele decide continuar assistindo ao vídeo ou fechar o painel
Então nenhuma ação de resposta compulsória deve ser exigida
Histórico de Revisão — HU15¶
| Data | Motivo | Referência |
|---|---|---|
| 2026-10-02 | Criação da história para garantir na interface o estímulo contínuo ao pensamento crítico através de perguntas estruturadas (Origem: ADR-006). | ADR-006 |
Épico 8 — Infraestrutura e Provedores de IA¶
HU16 — Provedor de IA Independente¶
| Propriedade | Detalhamento |
|---|---|
| Descrição | Eu, como sistema, pretendo utilizar diferentes provedores de LLM por meio de uma interface comum para não depender estruturalmente do Ollama local e operar com flexibilidade de infraestrutura. |
| Prioridade | Must Have | IN |
| Persona Relacionada | Equipe de Engenharia / Sistema |
| Rastreabilidade | GQ03, GQ07, ADR-006 Decisão 6, RF-14, RF-15, RNF-06 |
Critérios de Aceitação:
- O backend deve implementar a interface abstrata
LLMProviderpermitindo alternar entre Ollama local, provedor remoto via API e provedor mock via configuração de ambiente (LLM_PROVIDER), sem modificação no código de negócio. - O uso de mock é restrito a desenvolvimento e testes automatizados, sendo estritamente proibido em ambiente de produção (
ENV=production). - Em caso de falha de conexão, erro 5xx ou timeout no provedor de LLM, o sistema deve degradar graciosamente para o modo Evidence-Only (apresentação de evidências recuperadas sem síntese gerativa), exibindo aviso explícito de limitação.
Funcionalidade: Provedor de IA independente
Cenário: Troca de provedor por configuração
Dado que a variável de ambiente LLM_PROVIDER é alterada de "ollama" para "remote"
Quando o serviço de backend intermediário é iniciado
Então as inferências de extração e reflexão devem ser direcionadas ao provedor remoto sem qualquer alteração no código de negócio
Cenário: Bloqueio estrito de mock em produção
Dado que o sistema está em execução com ENV=production
Quando há qualquer tentativa de configurar LLM_PROVIDER=mock
Então o sistema deve abortar a inicialização imediatamente com código de erro e registrar evento no log de auditoria
Cenário: Degradação graciosa para modo Evidence-Only
Dado que o provedor de LLM ativo fica indisponível ou excede o timeout de 15 segundos
Quando a requisição de checagem do vídeo é processada
Então o sistema deve retornar as evidências obtidas pela busca vetorial no modo Evidence-Only
E o painel deve exibir uma mensagem indicando que a síntese de linguagem está temporariamente indisponível
Histórico de Revisão — HU16¶
| Data | Motivo | Referência |
|---|---|---|
| 2026-10-02 | Criação da história para formalizar o desacoplamento de provedores de LLM, a degradação resiliente para modo Evidence-Only e a proibição absoluta de mocks em ambiente produtivo (Origem: ADR-006). | ADR-006 |
Próximo: Casos de Uso — fluxos detalhados de cada funcionalidade.
Ver também: Priorização e MVP — sequência de entrega e decisões técnicas.