Lendo uma diferença entre funções
Como computeRoleDiff() compara duas funções categoria a categoria, a convenção A/B, o que cada categoria de mudança significa, e a diferença entre a aba Diff no builder e a rota de diferença independente.
Uma diferença entre funções é a diferença estruturada entre duas funções: arestas de perfil adicionadas ou removidas, mudanças de classificação de perfil, deslocamentos de IRI/ICI e reordenamentos de estágios de fluxo. É o artefato de transformação no RPF — quando você vê o que é diferente entre a função de hoje e a de amanhã, você vê o que aprender, o que ensinar e o que contratar.
Três públicos leem a diferença de formas diferentes. Entidades profissionais a leem como evidência do que "pronto para o futuro" realmente significa na prática. Líderes organizacionais a leem como a lacuna que suas funções precisam fechar. Profissionais a leem como o currículo que precisam percorrer.
O que é uma diferença entre funções?
A diferença é uma função pura sobre duas funções publicadas, A e B. Retorna um pacote RoleDiff estruturado com cinco seções: arestas de perfil (adicionadas / removidas / com classificação alterada / deslocamento IRI / deslocamento ICI) e estágios de fluxo (adicionados / removidos / reordenados). Não retorna prosa; retorna dados estruturados categorizados que a UI renderiza.
Como a lacuna de perfil (M18.1), a diferença é calculada, não autorada. Não existe "editor de diferença". A diferença é uma leitura ao vivo sobre ambas as funções, recalculada toda vez que qualquer lado muda.
A convenção A/B
A é a função da qual você abriu a diferença; B é o alvo de comparação (tipicamente a sucessora de A, ou definida via ?vs=<slug>). Visualmente, A renderiza à esquerda em tons ardósia; B renderiza à direita em tons esmeralda. Tons verdes significam "adicionado em B / aumentado em direção a B"; tons âmbar significam "removido / reduzido".
A função sujeito — geralmente a legada ou híbrida. Renderiza no lado esquerdo da diferença. Tons ardósia combinam com a paleta do distintivo de arquétipo para legada.
O alvo de comparação — geralmente a sucessora pronta para o futuro. Renderiza no lado direito da diferença. Tons esmeralda combinam com a paleta do distintivo de arquétipo para pronta para o futuro.
Categorias de mudança
Anexos de perfil adicionados
Perfis anexados a B mas não a A. Cada linha mostra a classificação (core / primário / suporte). "Adicionado" significa que a função pronta para o futuro espera competência em um perfil que a função legada não exigia.
Anexos de perfil removidos
Perfis anexados a A mas não a B. "Removido" significa que uma competência que a função legada exigia já não é central para a função pronta para o futuro — frequentemente um fluxo de trabalho automatizado ou delegado.
Reclassificações de perfil
Perfis presentes em ambos os lados onde a classificação mudou (por exemplo core → primário). A categoria captura o deslocamento na centralidade de um perfil dentro da função, mesmo quando ambos os lados o carregam.
Deslocamento de IRI
Delta de IRI por aresta de perfil (B − A), somado em iriShiftTotal. Um deslocamento positivo significa que a função pronta para o futuro exige mais informação ao longo do perfil; um negativo, menos. IRI varia 0–3 por perfil por função.
Deslocamento de ICI
Delta de ICI por aresta de perfil (B − A), somado em iciShiftTotal. Um deslocamento positivo significa que a função pronta para o futuro exige mais profundidade de competência (uma barra cognitiva / de execução mais alta). ICI varia 0–3 por perfil por função.
Reordenamentos de estágio de fluxo
Estágios de fluxo presentes em ambos os lados onde a posição ordinal mudou, mais estágios adicionados ou removidos. Um reordenamento tipicamente sinaliza uma reestruturação de fluxo — por exemplo, "coordenação de projeto" indo mais cedo no ciclo de vida.
A jornada canônica
- 1Abra a página de detalhe de uma função — a página mostra o distintivo de arquétipo e o painel do agente. Se a função tem sucessor definido, a diferença está a um clique de aba (no builder) ou um salto de rota.
- 2Abra a diferença: na aba Diff no builder de funções (se você é administrador autorando a função) ou /[lang]/roles/[slug]/diff (a rota independente somente leitura). Ambas renderizam o mesmo componente RoleDiffView sobre o mesmo pacote RoleDiff.
- 3Leia a barra de resumo primeiro — adicionado / removido / reclassificado / deslocamento IRI / deslocamento ICI / reordenamentos de fluxo. Os seis números dizem o formato da diferença num relance.
- 4Aprofunde nas seções por categoria — perfis adicionados (verde), removidos (âmbar), reclassificações, tabela de deslocamento IRI/ICI, reordenamentos de fluxo. Os chips do agente abaixo da visão resolvem para explicações curadas fundamentadas nas mesmas categorias.
- 5Se o alvo de comparação precisa de ajuste — digamos que você queira comparar contra uma função irmã pronta para o futuro em outra jurisdição — passe ?vs=<slug> na rota independente. A aba Diff no builder usa o próprio ponteiro de sucessor da função.
Duas superfícies, um motor
Aba Diff no builder
A aba Diff dentro do builder de funções (LeftPane) mostra a mesma diferença que a rota independente, mas com afordâncias de autoria: clicar em uma linha pode levar você à seção relevante do builder, e a dica de primeira execução do agente é compartilhada com a rota independente por meio de uma única chave de dispensa para que o tour rode apenas uma vez em ambas as superfícies. A aba Diff substituiu a antiga aba Compare na M18.3.3c.
Rota independente /[lang]/roles/[slug]/diff
A rota independente é um componente de servidor somente leitura, estaticamente cacheável, e o link canônico a ser compartilhado quando alguém quer ver a diferença sem entrar no builder. Aceita ?vs=<outro-slug> para sobrescrever o alvo de comparação, e renderiza o painel do agente + dica de primeira execução em linha.
Limitações conhecidas
- A diferença é função-vs-função, não função-vs-muitas. Visões de comparação multi-função estão adiadas para uma fase posterior.
- A diferença reflete o que está publicado. Rascunhos em qualquer um dos lados não estão na comparação.
- A diferença no nível de item (nível de declaração de ação) ainda não é exibida — a diferença entre funções para na granularidade de aresta-de-perfil. A lacuna de perfil (M18.1) fornece a visão em nível de item entre os dois perfis anexados às funções.
- Correção automática ("copiar esta aresta de perfil para A") intencionalmente não é fornecida. Atualizações de função passam pelo fluxo de propostas role-converse para que peguem validação + revisão fundamentada pelo agente.