{
  "schema_version": "profissional-ai-open-data-dictionary-v2",
  "language": "pt-BR",
  "canonical_url": "https://profissional.ai/dados/dicionario.json",
  "catalog_url": "https://profissional.ai/dados/catalogo.json",
  "source_catalog_url": "https://profissional.ai/fontes",
  "license_note": "Dicionário público dos campos expostos nos dados abertos do Profissional AI. Use junto com /fontes e cite as fontes primárias indicadas.",
  "dataset_count": 6,
  "field_count": 60,
  "datasets": [
    {
      "id": "occupation-index",
      "schema_version": "profissional-ai-occupation-index-v1",
      "grain": "uma linha por ocupação CBO publicável",
      "primary_key": [
        "slug"
      ],
      "endpoints": [
        "https://profissional.ai/dados/profissoes.json",
        "https://profissional.ai/dados/profissoes.csv"
      ],
      "fields": [
        {
          "name": "code",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "CBO/MTE",
          "description": "Código CBO normalizado com 6 dígitos."
        },
        {
          "name": "title",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "CBO/MTE",
          "description": "Título oficial ou normalizado da ocupação."
        },
        {
          "name": "slug",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Identificador estável usado na URL canônica."
        },
        {
          "name": "canonical_url",
          "type": "url",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Página canônica da ocupação no domínio profissional.ai."
        },
        {
          "name": "json_url",
          "type": "url",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Snapshot JSON aberto da ocupação."
        },
        {
          "name": "csv_url",
          "type": "url",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Snapshot CSV aberto da ocupação."
        },
        {
          "name": "sector.slug",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Slug do agrupamento setorial usado na navegação pública."
        },
        {
          "name": "sector.label",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Nome público do setor."
        }
      ]
    },
    {
      "id": "occupation-snapshot",
      "schema_version": "profissional-ai-occupation-v2",
      "grain": "um documento por ocupação CBO",
      "primary_key": [
        "occupation.slug"
      ],
      "endpoints": [
        "https://profissional.ai/dados/profissoes/{slug}.json",
        "https://profissional.ai/dados/profissoes/{slug}.csv"
      ],
      "fields": [
        {
          "name": "occupation.code",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "CBO/MTE",
          "description": "Código CBO da ocupação."
        },
        {
          "name": "occupation.family_code",
          "type": "string",
          "nullable": true,
          "unit": null,
          "source": "CBO/MTE",
          "description": "Código da família ocupacional CBO."
        },
        {
          "name": "occupation.official_synonyms",
          "type": "string[]",
          "nullable": true,
          "unit": null,
          "source": "CBO/MTE",
          "description": "Sinônimos e títulos oficiais associados à ocupação."
        },
        {
          "name": "occupation.official_activities",
          "type": "string[]",
          "nullable": true,
          "unit": null,
          "source": "CBO/MTE",
          "description": "Atividades oficiais descritas na base CBO."
        },
        {
          "name": "occupation.public_quality_label",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Tier editorial público usado para leitura de confiança."
        },
        {
          "name": "metrics.rais_salary.median_monthly_brl",
          "type": "number",
          "nullable": true,
          "unit": "BRL/mês",
          "source": "RAIS/MTE",
          "description": "Mediana nacional de salário mensal no vínculo formal."
        },
        {
          "name": "metrics.caged_demand.balance",
          "type": "number",
          "nullable": true,
          "unit": "vínculos",
          "source": "Novo CAGED/MTE",
          "description": "Saldo formal recente: admissões menos desligamentos."
        },
        {
          "name": "metrics.brazilian_automation_risk",
          "type": "number",
          "nullable": true,
          "unit": "0-100",
          "source": "Evidência brasileira governada",
          "description": "Risco brasileiro somente quando evidenced; null significa ausência de evidência publicável e não risco baixo. Valores editoriais legados não contam como disponíveis."
        },
        {
          "name": "metrics.brazilian_automation_risk_status",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Estado explícito evidenced ou unavailable do risco brasileiro."
        },
        {
          "name": "metrics.brazilian_automation_risk_method",
          "type": "string",
          "nullable": true,
          "unit": null,
          "source": "Manifest de evidência",
          "description": "Método auditável do score; null quando o status é unavailable."
        },
        {
          "name": "metrics.brazilian_automation_risk_evidence_ref",
          "type": "string",
          "nullable": true,
          "unit": null,
          "source": "Manifest de evidência",
          "description": "Referência risk-evidence:sha256 somente para valor evidenced; null quando unavailable."
        },
        {
          "name": "metrics.international_risk.wrtmj_risk_pct",
          "type": "number",
          "nullable": true,
          "unit": "0-100",
          "source": "WillRobotsTakeMyJob.com",
          "description": "Referência internacional de risco de automação cruzada por SOC."
        },
        {
          "name": "metrics.international_risk.aioe_percentile",
          "type": "number",
          "nullable": true,
          "unit": "percentil 0-100",
          "source": "AIOE",
          "description": "Percentil acadêmico de exposição ocupacional à IA."
        },
        {
          "name": "onet_skills.skills",
          "type": "object[]",
          "nullable": true,
          "unit": null,
          "source": "O*NET",
          "description": "Skills internacionais pareadas por SOC quando a confiança é suficiente."
        }
      ]
    },
    {
      "id": "ranking-index",
      "schema_version": "profissional-ai-ranking-index-v1",
      "grain": "uma linha por ranking público",
      "primary_key": [
        "slug"
      ],
      "endpoints": [
        "https://profissional.ai/dados/rankings.json",
        "https://profissional.ai/dados/rankings.csv"
      ],
      "fields": [
        {
          "name": "slug",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Identificador canônico do ranking."
        },
        {
          "name": "category",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Família do ranking: ia, mercado ou score."
        },
        {
          "name": "row_count",
          "type": "number",
          "nullable": false,
          "unit": "linhas",
          "source": "Profissional AI",
          "description": "Quantidade de ocupações presentes no snapshot do ranking."
        },
        {
          "name": "default_sort_label",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Critério público de ordenação aplicado ao ranking."
        },
        {
          "name": "json_url",
          "type": "url",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Snapshot JSON aberto do ranking."
        },
        {
          "name": "csv_url",
          "type": "url",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Snapshot CSV aberto do ranking."
        }
      ]
    },
    {
      "id": "ranking-snapshot",
      "schema_version": "profissional-ai-ranking-v2",
      "grain": "uma linha por posição de ocupação em um ranking",
      "primary_key": [
        "ranking.slug",
        "rows.position"
      ],
      "endpoints": [
        "https://profissional.ai/dados/rankings/{slug}.json",
        "https://profissional.ai/dados/rankings/{slug}.csv"
      ],
      "fields": [
        {
          "name": "rows.position",
          "type": "number",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Posição da ocupação após filtro e ordenação do ranking."
        },
        {
          "name": "rows.code",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "CBO/MTE",
          "description": "Código CBO da ocupação ranqueada."
        },
        {
          "name": "rows.job_score",
          "type": "number",
          "nullable": true,
          "unit": "0-10",
          "source": "Profissional AI",
          "description": "Score composto: salário, segurança contra automação, crescimento e volume formal."
        },
        {
          "name": "rows.brazilian_automation_risk",
          "type": "number",
          "nullable": true,
          "unit": "0-100",
          "source": "Evidência brasileira governada",
          "description": "Risco brasileiro quando evidenced. Null significa ausência de evidência publicável, nunca baixo risco; valores editoriais legados não contam como disponíveis e referências internacionais permanecem em campos próprios."
        },
        {
          "name": "rows.brazilian_automation_risk_status",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Estado evidenced ou unavailable aplicado pela policy fail-closed."
        },
        {
          "name": "rows.brazilian_automation_risk_method",
          "type": "string",
          "nullable": true,
          "unit": null,
          "source": "Manifest de evidência",
          "description": "Método auditável; null quando unavailable."
        },
        {
          "name": "rows.brazilian_automation_risk_evidence_ref",
          "type": "string",
          "nullable": true,
          "unit": null,
          "source": "Manifest de evidência",
          "description": "Referência hash-addressed; null quando unavailable."
        },
        {
          "name": "rows.salary_median_brl",
          "type": "number",
          "nullable": true,
          "unit": "BRL/mês",
          "source": "RAIS/MTE",
          "description": "Mediana de salário formal usada em rankings de mercado."
        },
        {
          "name": "rows.formal_jobs",
          "type": "number",
          "nullable": true,
          "unit": "vínculos",
          "source": "RAIS/MTE",
          "description": "Estoque de vínculos formais usado como proxy de escala de mercado."
        },
        {
          "name": "rows.caged_balance",
          "type": "number",
          "nullable": true,
          "unit": "vínculos",
          "source": "Novo CAGED/MTE",
          "description": "Saldo de admissões e desligamentos no recorte público nacional."
        },
        {
          "name": "rows.wrtmj_risk_pct",
          "type": "number",
          "nullable": true,
          "unit": "0-100",
          "source": "WillRobotsTakeMyJob.com",
          "description": "Risco internacional secundário usado apenas com atribuição e contexto."
        },
        {
          "name": "rows.aioe_percentile",
          "type": "number",
          "nullable": true,
          "unit": "percentil 0-100",
          "source": "AIOE",
          "description": "Exposição acadêmica a IA ligada ao CBO por SOC."
        },
        {
          "name": "rows.onet_automation_pct",
          "type": "number",
          "nullable": true,
          "unit": "0-100",
          "source": "O*NET",
          "description": "Degree of Automation do O*NET convertido para percentual."
        }
      ]
    },
    {
      "id": "report-index",
      "schema_version": "profissional-ai-report-index-v1",
      "grain": "uma linha por relatório agregado público",
      "primary_key": [
        "slug"
      ],
      "endpoints": [
        "https://profissional.ai/dados/relatorios.json",
        "https://profissional.ai/dados/relatorios.csv"
      ],
      "fields": [
        {
          "name": "slug",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Identificador canônico do relatório."
        },
        {
          "name": "title",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Título curto exibido no índice público."
        },
        {
          "name": "kind",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Tipo visual do relatório: composição, dispersão, barras, funil ou radar."
        },
        {
          "name": "canonical_url",
          "type": "url",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Página HTML canônica do relatório."
        },
        {
          "name": "json_url",
          "type": "url",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Snapshot JSON aberto do relatório."
        },
        {
          "name": "csv_url",
          "type": "url",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Snapshot CSV aberto do relatório."
        },
        {
          "name": "row_count",
          "type": "number",
          "nullable": false,
          "unit": "linhas",
          "source": "Profissional AI",
          "description": "Quantidade de linhas agregadas no snapshot do relatório."
        }
      ]
    },
    {
      "id": "report-snapshot",
      "schema_version": "profissional-ai-report-v1",
      "grain": "uma linha por ponto, faixa, etapa ou eixo do relatório",
      "primary_key": [
        "report.slug",
        "rows.position"
      ],
      "endpoints": [
        "https://profissional.ai/dados/relatorios/{slug}.json",
        "https://profissional.ai/dados/relatorios/{slug}.csv"
      ],
      "fields": [
        {
          "name": "report.slug",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Identificador do relatório agregado."
        },
        {
          "name": "report.kind",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Tipo visual do relatório usado para interpretar o grão das linhas."
        },
        {
          "name": "rows.position",
          "type": "number",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Ordem estável da linha dentro do snapshot."
        },
        {
          "name": "rows.id",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Identificador da faixa, grupo, ocupação, etapa ou eixo."
        },
        {
          "name": "rows.label",
          "type": "string",
          "nullable": false,
          "unit": null,
          "source": "Profissional AI",
          "description": "Rótulo público da linha agregada."
        },
        {
          "name": "rows.group_label",
          "type": "string",
          "nullable": true,
          "unit": null,
          "source": "Profissional AI",
          "description": "Grupo de leitura quando o relatório é segmentado por setor, salário ou radar."
        },
        {
          "name": "rows.value",
          "type": "number",
          "nullable": true,
          "unit": null,
          "source": "Profissional AI",
          "description": "Valor principal da linha quando o relatório é barra, funil, dispersão ou radar."
        },
        {
          "name": "rows.risk_band",
          "type": "string",
          "nullable": true,
          "unit": null,
          "source": "Profissional AI",
          "description": "Faixa de risco de automação usada nos relatórios de composição."
        },
        {
          "name": "rows.ocupacoes",
          "type": "number",
          "nullable": true,
          "unit": "ocupações",
          "source": "CBO/MTE",
          "description": "Quantidade de ocupações CBO representadas na linha agregada."
        },
        {
          "name": "rows.vinculos",
          "type": "number",
          "nullable": true,
          "unit": "vínculos",
          "source": "RAIS/MTE",
          "description": "Volume de vínculos formais somado na linha agregada."
        },
        {
          "name": "rows.pct_vinculos",
          "type": "number",
          "nullable": true,
          "unit": "%",
          "source": "Profissional AI",
          "description": "Participação percentual da linha no total de vínculos do relatório."
        },
        {
          "name": "rows.canonical_url",
          "type": "url",
          "nullable": true,
          "unit": null,
          "source": "Profissional AI",
          "description": "URL canônica relacionada à linha, quando houver ocupação, setor ou relatório ligado."
        }
      ]
    }
  ],
  "metric_notes": [
    {
      "metric": "salary_median_brl",
      "note": "Salário formal RAIS não inclui informalidade, autônomos fora do vínculo formal nem rendimentos variáveis."
    },
    {
      "metric": "risk_pct",
      "note": "Risco de automação é referência analítica, não previsão determinística de desemprego."
    },
    {
      "metric": "caged_balance",
      "note": "Novo CAGED mede fluxo formal declarado em janela recente e não substitui estoque RAIS."
    },
    {
      "metric": "soc_match_confidence",
      "note": "Campos internacionais dependem de ponte SOC-CBO e devem ser tratados como referência secundária."
    }
  ],
  "shared_sources": [
    {
      "id": "cbo-mte",
      "label": "CBO/MTE",
      "url": "https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/trabalhador/CBO"
    },
    {
      "id": "rais",
      "label": "RAIS/MTE",
      "url": "https://www.gov.br/trabalho-e-emprego/pt-br/acesso-a-informacao/acoes-e-programas/programas-projetos-acoes-obras-e-atividades/estatisticas-trabalho/microdados-rais-e-caged"
    },
    {
      "id": "novo-caged",
      "label": "Novo CAGED/MTE",
      "url": "https://www.gov.br/trabalho-e-emprego/pt-br/acesso-a-informacao/acoes-e-programas/programas-projetos-acoes-obras-e-atividades/estatisticas-trabalho/microdados-rais-e-caged"
    },
    {
      "id": "wrtmj",
      "label": "WillRobotsTakeMyJob.com data",
      "url": "https://willrobotstakemyjob.com/data"
    },
    {
      "id": "aioe",
      "label": "AI Occupational Exposure",
      "url": "https://github.com/AIOE-Data/AIOE"
    },
    {
      "id": "onet",
      "label": "O*NET Database",
      "url": "https://www.onetcenter.org/database.html"
    }
  ]
}
