Repository navigation
Description
Contexto
Reavaliar todos os status do funil de candidaturas no Applywell antes de qualquer refatoração. Esta é uma issue de análise/RFC, não uma autorização para migrar dados ou alterar regras agora.
Um caso real em 09/11/2026 expôs ambiguidade: ~30 candidaturas foram enviadas automaticamente por e-mail (DevScout). Inicialmente ficaram em Pending HR Response, embora não tivesse ocorrido triagem, contato ou avanço. A interpretação correta no modelo atual é RH = candidatura enviada (Applied). Após correção, 29 registros ficaram em RH e um em Rejected por incompatibilidade geográfica.
Outro caso: a Vetta cancelou a vaga por razões internas, mas como não existe status Cancelled, ficou em Rejected com observação, distorcendo o significado de rejeição do candidato.
Status atuais (revisar todos)
RHPending HR ResponsePending Hiring Manager ResponseTechnical TestPending Technical Test ResponseOffer NegotiationGhostingRejectedApproved
Perguntas para a avaliação
RHdeveria ser renomeado paraApplied/Candidatura enviada? É preciso um estado anterior para prospecção / rascunho / não enviado?- O que caracteriza contato efetivo de recrutador, triagem de RH, espera de resposta do RH e avanço para hiring manager? Quais eventos documentam uma transição?
- Teste técnico recebido, em andamento, enviado e aguardando avaliação devem ser status separados ou eventos/atributos?
- Como modelar entrevistas agendadas/realizadas (inclusive múltiplas) sem confundir com status e sem inflar contagem?
Approvedsignifica proposta recebida, aprovada em etapa ou contratado? Como distinguirOffer Negotiation, oferta aceita/recusada e contratação?Rejected,Cancelled/ vaga encerrada, desistência do candidato, falta de aderência eGhostingsão resultados diferentes.Ghostingdeveria ser status terminal ou derivado de ausência de resposta por prazo?- Como manter
archivedindependente de estágio/resultado? Como tratar datas, lembretes e rastreabilidade? - Quais status são necessários para candidaturas automáticas e para múltiplas inscrições na mesma empresa?
Escopo da revisão
- Documentar semântica de cada status, grupos (pré-candidatura, seleção, espera, terminal), critérios objetivos de entrada e saída e transições válidas.
- Propor nomes PT-BR/UI + identificadores estáveis para API, banco, MCP e integrações externas; avaliar evitar status display name como identificador persistido.
- Definir tabela de transições com evidência necessária (e-mail enviado, resposta explícita, convite, teste, entrevista, rejeição, cancelamento), sem assumir avanço só por envio ou confirmação automática.
- Avaliar separar status/stage, resultado/encerramento, eventos no histórico e atributos (entrevista, lembrete, follow-up).
- Planejar migração retrocompatível dos registros existentes, incluindo históricos
RH,Pending HR Response,Ghosting,Rejectede mapeamentos incorretos de cancelamento, sem apagar histórico, alterar entrevista ou arquivamento silenciosamente. - Mapear impactos no backend Spring Boot, frontend React, ferramentas MCP, filtros, relatórios, estatísticas, notificações e automações (n8n/ChatGPT).
- Especificar testes para idempotência, deduplicação, regras de transição, importação de e-mails e workflows de rejeição/cancelamento.
Critérios de conclusão desta issue de análise
- Matriz atual vs. proposta para todos os nove status, com exemplos reais e casos-limite.
- Fluxograma/tabela de transições, incluindo os estados terminais.
- Distinção inequívoca entre
Applied, contato com RH e Hiring Manager. - Estratégia para cancelamento de vaga e falta de retorno, sem contar como rejeição pessoal.
- Impactos e migração detalhados em backend, frontend, MCP e automações, sem perda de dados.
- Decisão do mantenedor sobre implementação e eventual desdobramento em issues menores.
Nota: não implementar mudanças de status automaticamente ao fechar esta issue; primeiro validar a proposta de produto e a migração.
Activity