# Workspace

## Rota

- `/adm/workspace`

## O que e

Home operacional do colaborador no admin, com contexto pessoal, tarefas, tempo, sprint, checkpoints, performance e agora um bloco enxuto de incidentes nas areas em que ele atuou.

## Para que serve

- concentrar o ponto de entrada diario do colaborador;
- mostrar o que esta aberto, atrasado e em andamento no trabalho atual;
- resumir tempo, sprint e checkpoints;
- expor incidentes correlacionados com os repositorios e `target_path` tocados recentemente;
- ligar esse contexto a tarefas, tickets e atividade GitHub sem mandar o usuario para telas de lideranca.

## Blocos principais

- hero do workspace com identidade e atalhos;
- cards de KPIs pessoais;
- bloco `Performance do dia`;
- bloco `Incidentes nas minhas areas`;
- contexto pessoal, tempo, alertas, tarefas, sprint e checkpoints.

## Performance do dia

- o widget faz `rebuild` diario no carregamento do `workspace` para evitar score estagnado;
- continua lendo tarefas, comentarios, worklogs e checkpoints;
- agora soma tambem sinais reais de desenvolvimento do proprio dia:
  - commits GitHub do colaborador;
  - repositorios e `target_path` tocados;
  - issues e ocorrencias do Tracy no escopo dessas areas;
- quando a linha diaria ainda nao esta persistida, o card usa o resultado recem-calculado como fallback visual;
- a leitura visual do card mostra `commits`, `areas` e `Tracy` junto dos fatos operacionais para o colaborador entender de onde veio o score.

## Incidentes nas minhas areas

- usa a janela fixa de 30 dias;
- consulta `/adm/api/GitHubMonitor/userActivitySummary` no contexto do proprio usuario;
- mostra areas tocadas, issues abertas, ocorrencias e ultima ocorrencia;
- lista os `target_path` mais recentes com top erros do Tracy;
- puxa tarefas e tickets relacionados por `changelog_relations`;
- oferece atalhos para `Minha atividade GitHub` e `Meu perfil`;
- agora permite agir sem sair do `workspace`:
  - ver detalhes da issue do Tracy;
  - marcar como visto;
  - marcar `Estou corrigindo`;
  - abrir tarefa ja vinculada ao incidente;
  - abrir ticket ja vinculado ao incidente.

## Estado do colaborador no Tracy

- o status oficial da issue continua no Tracy (`open`, `resolved`, `ignored`);
- o `workspace` usa uma camada paralela de triagem por colaborador em `wpjy_tracy_issue_user_state`;
- esse estado nao resolve nem ignora automaticamente a issue;
- ele registra:
  - se o colaborador ja viu;
  - se assumiu a correcao;
  - qual tarefa ele abriu a partir da issue;
  - qual ticket ele abriu a partir da issue.

## Observacoes

- o bloco foi pensado para colaborador, nao para triagem completa do Tracy;
- a regra de correlacao continua centralizada no modulo GitHubMonitor;
- na leitura pessoal, os repositorios realmente tocados pelo proprio colaborador nao ficam escondidos por ACL de equipe nessa etapa da correlacao;
- se a conta GitHub ainda nao estiver conectada, a leitura pode ficar menos precisa ou vazia;
- a tabela `wpjy_tracy_issue_user_state` pode ser criada automaticamente pelo modulo, mas a migration `sql/2026-04-17-tracy-issue-user-state.sql` foi adicionada para aplicacao controlada em ambiente.
