Skip to content

refactor(annotate): alterar unidade de anotação de comentário para usuário (#87)#93

Merged
lucasbrentano merged 2 commits intodevfrom
refactor/issue-87-anotacao-por-usuario
Apr 8, 2026
Merged

refactor(annotate): alterar unidade de anotação de comentário para usuário (#87)#93
lucasbrentano merged 2 commits intodevfrom
refactor/issue-87-anotacao-por-usuario

Conversation

@lucasbrentano
Copy link
Copy Markdown
Collaborator

Resumo

  • Alterada a unidade de anotação de comentário para usuário do YouTube (DatasetEntry)
  • Annotation e AnnotationConflict agora referenciam dataset_entry_id (FK → dataset_entries) em vez de comment_id
  • Comentários passam a ser exibidos apenas como evidências para fundamentar a classificação do autor
  • Conflitos ocorrem quando dois pesquisadores divergem sobre o mesmo autor, não sobre comentários individuais
  • Migração Alembic 0015 (destrutiva — limpa anotações existentes antes de alterar FKs)
  • Frontend: botões de classificação Humano/Bot no nível do autor, com ícones e cores semânticas (verde/vermelho)
  • 340 testes passando, lint e build limpos

Closes #87

Como testar

  • docker compose up -d + aplicar migration: alembic upgrade head
  • Rodar seed (POST /seed como admin) para gerar dados de teste
  • Acessar Anotação como pesquisador: selecionar dataset → clicar em usuário → ver comentários como evidência → classificar o autor (não cada comentário)
  • Verificar que bot exige justificativa e humano não
  • Anotar com segundo pesquisador com label diferente → verificar que conflito é criado por usuário
  • Acessar Revisão como admin: ver conflitos por usuário → desempatar com botões Humano/Bot
  • Verificar Dashboard: KPIs mostram contagens por usuário (não por comentário)
  • Testar export/import de anotações (formato usa entry_id)
  • pytest — 340 testes passando

Screenshots

Mudanças visuais nos botões de classificação (Humano verde / Bot vermelho com ícones) e na tabela de usuários (status binário anotado/pendente em vez de progresso por comentário).

🤖 Generated with Claude Code

lucasbrentano and others added 2 commits April 8, 2026 19:29
…uário (#87)

A classificação agora é por autor (DatasetEntry), não por comentário.
Comentários servem apenas como evidências para fundamentar a decisão.

- Model: Annotation e AnnotationConflict usam dataset_entry_id (FK → dataset_entries)
- Schemas: campos renomeados (entry_id, total_users, annotated_users_by_me)
- Services: annotate, review, dashboard e data reescritos para granularidade por entry
- Routers: endpoints mantidos, contratos atualizados
- Migration: Alembic 0015 altera FKs (destrutiva — limpa anotações existentes)
- Testes: 340 testes passando

Co-Authored-By: Claude <noreply@anthropic.com>
- API types: entry_id, BotUserItem, CommentItem (sem anotação individual)
- Hooks: submitAnnotation recebe entryId, state atualiza por entry
- AnnotatePage: progresso por usuários, tabela com classificação/status
- UserCommentsList: botões Humano/Bot no nível do autor com ícones
- ReviewPage: conflitos e bots agrupados por usuário, botões padronizados
- Removido CommentAnnotationRow (anotação por comentário não existe mais)

Co-Authored-By: Claude <noreply@anthropic.com>
@lucasbrentano lucasbrentano enabled auto-merge April 8, 2026 22:32
@lucasbrentano lucasbrentano merged commit 07550ed into dev Apr 8, 2026
3 checks passed
@lucasbrentano lucasbrentano deleted the refactor/issue-87-anotacao-por-usuario branch April 8, 2026 22:34
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