Como Transforme meu papel funciona por dentro
O pipeline que transforma uma descrição de vaga num plano de transformação pessoal — modos de ingestão, o adaptador de extração, o resolvedor de mapeamento e seus níveis de confiança, a primitiva de síntese de lacuna e o envelope do pacote do plano.
O pipeline em um relance
Transforme meu papel encadeia cinco primitivas RPF existentes. Ingestão (coleta de URL / colar texto / upload de arquivo, todos roteados pelo mesmo pipeline em memória). Extração (o agente de extração de declarações de ação, parametrizado para o formato de vaga). Mapeamento (resolver candidatos para Papéis / Itens / IUs RPF existentes por slug e correspondência de forma IRI, com equivalente futuro-pronto escolhido da cadeia role_archetype). Síntese de lacuna (a mesma computeProfileGap() da superfície de Lacuna de Perfil em nível organizacional, aplicada a um Perfil transitório de estado atual derivado dos candidatos correspondidos). Montagem do plano (envolve o envelope personaPlan da Fase 4 com metadados específicos de transform).
Coleta de URL (padrão)
Fetch no lado do servidor com tempo limite de 10 s, máximo de 3 redirecionamentos, máximo de 5 MB de resposta, lista permitida de tipos de conteúdo (text/html, application/pdf, application/xhtml+xml, text/plain), robots.txt respeitado (cache de 1 hora), lista conservadora de hosts não rastreados. A URL é consumida uma vez e nunca persistida — nem o host. O User-Agent identifica esta superfície explicitamente.
Colar texto (com tickbox)
Cole a descrição completa. O texto cruza para o agente de extração apenas depois que a marcação de direitos é confirmada (postura simétrica adotada na revisão de privacidade/legal de M18.2.1 — colar é funcionalmente idêntico a upload). O texto colado nunca é persistido.
Upload (com tickbox)
PDF, texto puro ou Markdown, até 5 MB. Bytes passam por um caminho de processamento efêmero em memória com TTL rígido de 60 minutos. Nenhuma linha de material-fonte SMC é criada — o catálogo SMC não consegue ver uploads de transform-pessoal por construção.
Adaptador de extração
Envolvemos o agente de extração de declarações de ação com um template de prompt no formato de vaga. O adaptador recebe apenas Markdown analisado — a URL bruta ou bytes de upload nunca alcançam o agente. O agente retorna um envelope de candidatos estruturado: { roleCandidates, items, informationUses, jurisdictionHint, confidence }. A confiança aqui é a confiança de extração auto-reportada do agente — distinta da confiança de mapeamento abaixo.
Resolvedor de mapeamento e níveis de confiança
O resolvedor de mapeamento pega o envelope de candidatos e resolve para entidades RPF existentes por slug + correspondência de forma IRI. Se o Papel correspondido for ele mesmo um Papel futuro-pronto (role_archetype = 'future_ready'), ele é o equivalente. Caso contrário, percorremos a cadeia succeeds_role_id para achar o equivalente futuro-pronto canônico na jurisdição da pessoa usuária. Cada candidato carrega uma confiança em [0,1] e um rótulo de nível.
Alta confiança. O plano é renderizado com o Papel canônico correspondido como o equivalente futuro-pronto. A seção de lacuna é computada e exibida.
Confiança média. O plano é renderizado com o Papel canônico sugerido, mas a interface marca a correspondência como sugerida. O conjunto de chips do painel de agente inclui uma pergunta "verifique antes de confiar".
Apenas melhor esforço. O plano ainda é renderizado, mas a seção sem-correspondência aparece com o vice-líder, uma razão e um CTA de patrocínio apontando para o resumo para entidades. A seção de lacuna é omitida a menos que um equivalente futuro-pronto ainda possa ser identificado.
Síntese de lacuna (reutiliza a matemática de Lacuna de Perfil)
Sintetizamos um Perfil transitório de "estado atual" a partir dos candidatos correspondidos (em memória, nunca persistido), depois o comparamos contra o Perfil futuro-pronto canônico resolvido usando a mesma função computeProfileGap() da superfície de Lacuna de Perfil em nível organizacional (M18.1.1). A saída é a mesma estrutura ProfileGap — ΔIRI, ΔICI, itens faltando/extras, mudanças de cobertura de IU, substituições de materiais — envolvida no envelope do plano de transform.
Montagem do pacote do plano
O montador do pacote do plano envolve o envelope personaPlan da Fase 4 com metadados específicos de transform (sourceMode, jurisdictionResolved, mappingConfidence, generatedAt, version). Emite o mesmo formato downstream — então o consumidor de template personaPlan existente do Assessor.io lê um plano de transform sem mudanças. HTML, PDF (folha de estilo de impressão via Cmd-P) e modelo Assessor.io são os três formatos de exportação.
Notificações de mudança
Ao salvar um plano de transformação, você pode ativar as notificações de mudança. Uma rotina diária verifica se a função canônica preparada para o futuro por trás de cada um dos seus planos salvos foi atualizada. Quando uma ou mais foram, você recebe um único e-mail de resumo — agrupado, de modo que vários planos alterados chegam como uma só mensagem, e não várias. Apenas mudanças com data posterior à sua inscrição contam, então ativar as notificações nunca dispara um e-mail de 'nada mudou'.
As notificações são opcionais e exclusivas para usuários registrados. Planos arquivados nunca geram um aviso. Cada resumo traz um link de cancelamento em um clique que interrompe todas as notificações de mudança de uma vez; você pode reativá-las por plano na sua lista de planos salvos. O resumo é enviado para o e-mail da sua conta e menciona apenas os títulos dos seus próprios planos salvos — veja a página de privacidade.
Casos de borda
- Se o agente de extração não produzir candidatos a Papel, a página exibe o estado vazio de "sem candidatos" com um CTA apontando para esta página de metodologia. A linha de auditoria registra outcome=extract_fail.
- Se não existir equivalente futuro-pronto na jurisdição da pessoa usuária (o canônico está em fila atrás de uma entidade patrocinadora), a página exibe o estado vazio "sem futuro-pronto" com um CTA de patrocínio apontando para o resumo para entidades.
- Se o único candidato tiver confiança de mapeamento < 0,4, o plano é renderizado com o candidato marcado como Baixa confiança e o painel de agente exibe um chip "verifique antes de confiar".
- Sessões têm TTL curto (≤ 60 minutos em linha com o TTL do blob de upload). Um estado de sessão-não-encontrada num deep link manda a pessoa de volta para o formulário; uma nova ingestão produz uma sessão fresca.
- Se a síntese de lacuna falha (raro — geralmente um Perfil canônico malformado), o plano renderiza com o resumo do mapeamento e um placeholder noGap. A linha de auditoria registra o resultado parcial.
Quando confiar vs verificar
Trate planos de nível Confirmado como um rascunho sólido — a correspondência canônica tem alta confiança e a matemática de lacuna é determinística. Trate planos de nível Sugerido como rascunho a verificar antes de compartilhar com uma pessoa aprendiz; abra o painel de agente e percorra "Como o papel foi mapeado?" e "Por que isso está faltando?". Trate planos de Baixa confiança como uma hipótese: o plano ainda renderiza, mas o estado vazio de patrocínio sugere que esta disciplina + jurisdição precisa de uma entidade patrocinadora canônica antes que a matemática se torne confiável.
Postura de privacidade
A postura de privacidade é documentada separadamente. Manchetes principais para a visão de metodologia: a descrição bruta da vaga, a URL e quaisquer bytes enviados nunca cruzam para o contexto do agente — apenas os candidatos estruturados analisados cruzam. A linha de auditoria não carrega campos no formato de conteúdo. Sessões anônimas existem apenas em memória.
Nível de estabilidade
O pacote do plano de transform envolve o formato personaPlan da Fase 4. O envoltório está no nível de estabilidade beta; mudanças quebradoras de formato vão incrementar o schemaVersion no envelope do pacote e ser destacadas no registro de mudanças.