← Back to history

Pipeline run

2486260f-bd82-471e-8cc1-a5417c60664c

Pipeline LLM cost (USD)
API 1: $0.0025 API 2: $0.0644 API 3: $0.0000 Total: $0.0669

Client output enrichment

v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA description
SPARSE JD sources · ai_index: jd · nature_of_work: jd · tech_stack_maturity: jd
Nature of work · ML platform / MLOps engineering
Build Python/FastAPI services around ML workflows: run experiments in MLflow, manage model training/versioning, and integrate orchestration, storage, async messaging, and deployment tooling like Kubernetes and Docker.
"Experience with MLOps tools and ML experimentation platforms such as MLflow (Runs & Experiments)"
Tech stack maturity
Mainstream Modern
AI index (0 = no AI use, 5 = totally AI-dependent · v2.1)
2.00 / 5
Title match
Has AI skill
· AI skill (primary)
AI skill (secondary)
· On AI team
· Builds AI products
vocab breakdown (legacy)
Assistants (×1):
Frameworks (×2):
Models / concepts (×3): MLOps, ML
Evidence — skills matched in JD (17)
Python FastAPI MLOps MLflow TensorFlow PyTorch Ray Kubeflow Airflow Docker Kubernetes Microservices LakeFS MinIO NATS RBAC Authentication
Skill cluster (8 dimension groups, role-scoped)
Authentication and Authorization
RBAC
CI/CD for Machine Learning
MLOps
Container Orchestration Platforms
Kubernetes
Containerization and Image Builds
Docker
ML Frameworks and Libraries
PyTorch
Python Programming
Python
Web Application Frameworks
FastAPI
Cross-cutting / unaligned
MLflow TensorFlow Ray Kubeflow Airflow Microservices LakeFS MinIO NATS Authentication
Show KRA description ↓
Strong proficiency in Python and FastAPI. Experience with MLOps tools and ML experimentation platforms such as MLflow (Runs & Experiments) Expertise in model versioning and lifecycle management (model training) Knowledge of ML frameworks/libraries (e.g., TensorFlow, PyTorch) and orchestration tools such as MLflow, Ray.io, Kubeflow, and Airflow Familiarity with Docker, Kubernetes, and microservice-based architectures Experience with tools such as MLflow, LakeFS, MinIO, and NATS for asynchronous communication Knowledge of database design and best practices Understanding of RBAC and authentication mechanisms
Status: completed Created: 2026-05-13T05:04:27.767071Z Updated: 2026-05-13T05:06:52.446875Z API 3 duration: 28485 ms
Flow Current 3-step pipeline

1 POST /skills/extract-from-jd

2 POST /skills/extract-details

3 POST /skills/final-role-output

Role Chosen role & resolution

Machine Learning Engineer

slug: machine-learning-engineer · id: 10 · source: db

This role heavily involves Python and FastAPI, which are primary skills required for this position.

Resolution: in_db — role exists in library; skill↔dim and role↔dim links saved when applicable.

5
New skills
7
Skill↔dim saved
0
Role↔dim saved
0
Skipped

Job description

About the job
Strong proficiency in Python and FastAPI.
 Experience with MLOps tools and ML experimentation platforms such as MLflow (Runs & Experiments)
 Expertise in model versioning and lifecycle management (model training)
 Knowledge of ML frameworks/libraries (e.g., TensorFlow, PyTorch) and orchestration tools such as MLflow, Ray.io, Kubeflow, and Airflow
 Familiarity with Docker, Kubernetes, and microservice-based architectures
 Experience with tools such as MLflow, LakeFS, MinIO, and NATS for asynchronous communication
 Knowledge of database design and best practices
 Understanding of RBAC and authentication mechanisms

Skills from this JD

Each row merges API 1 extraction, API 2 library match / v3 orchestration (dimensions + locked dims), and API 3 persistence tags.

Python Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Python id=393 · python

Aliases — catalog

  • Cobalt Strike (CANONICAL) primary

Context tags (catalog)

Malleable C2 beacon credential dumping kerberos lateral movement payload phishing post-exploitation privilege escalation psexec red team sleep mask smb stager team server

Stored enrichment (catalog DB)

Category
Tool
Sub-category
Adversary Simulation Tool
Vendor
Fortra
License
proprietary
Year introduced
2012
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: Appears in a limited set of red-team/pentest JDs and security vendor training, but far below mainstream devops tools; market signal is specialized adversary-simulation usage rather than broad hiring demand.

Skill profile (library / DB)

Skill nature
LANGUAGE
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
5
Sub-category id
54
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Analytical Programming Languages Catalog dimension db id 82

    Library dimension (catalog)

    Roles linked in library: Data Analyst, Data Scientist

  • Automation Scripting and CLI Catalog dimension db id 48

    Library dimension (catalog)

    Roles linked in library: Azure Cloud Engineer, Cloud Engineer

  • Automation and Scripting for Operations Catalog dimension db id 361

    Library dimension (catalog)

    Roles linked in library: Virtualization Engineer

  • Network Automation and Scripting Catalog dimension db id 285

    Library dimension (catalog)

    Roles linked in library: Network Engineer

  • Programming Languages for AI Workflows Catalog dimension db id 261

    Library dimension (catalog)

    Roles linked in library: AI Engineer

  • Programming Languages for Backend Systems Catalog dimension db id 140

    Library dimension (catalog)

    Roles linked in library: Backend Engineer

  • Programming Languages for Data Work Catalog dimension db id 67

    Library dimension (catalog)

    Roles linked in library: Data Engineer

  • Programming Languages for ML Systems Catalog dimension db id 113

    Library dimension (catalog)

    Roles linked in library: Machine Learning Engineer

  • Programming Languages for Security Work Catalog dimension db id 328

    Library dimension (catalog)

    Roles linked in library: Cybersecurity Engineer

  • Programming Languages for Test Automation Catalog dimension db id 193

    Library dimension (catalog)

    Roles linked in library: Automation Tester

  • Security Automation and Scripting Catalog dimension db id 258

    Library dimension (catalog)

    Roles linked in library: Cybersecurity Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Analytical Programming Languages
analytical-programming-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Automation Scripting and CLI
automation-scripting-and-cli
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Automation and Scripting for Operations
automation-and-scripting-for-operations
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Network Automation and Scripting
network-automation-and-scripting
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Programming Languages for AI Workflows
programming-languages-for-ai-workflows
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Programming Languages for Backend Systems
programming-languages-for-backend-systems
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Programming Languages for Data Work
programming-languages-for-data-work
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Programming Languages for ML Systems
programming-languages-for-ml-systems
Existing dimension (library) · Role↔dimension saved
Programming Languages for Security Work
programming-languages-for-security-work
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Programming Languages for Test Automation
programming-languages-for-test-automation
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Security Automation and Scripting
security-automation-and-scripting
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
FastAPI Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: FastAPI id=682 · fastapi

Aliases — catalog

  • GraphQL clients (CANONICAL) primary

Context tags (catalog)

Apollo Client GraphQL Code Generator GraphQL hooks GraphQL query GraphQL schema React Relay TypeScript cache management cache normalization client-side caching code generation data fetching error handling fetch fragments gql mutation mutations normalized cache optimistic UI pagination queries react-query schema introspection subscription subscriptions type-safe type-safe queries urql

Stored enrichment (catalog DB)

Category
Library
Sub-category
Graphql Client Library
Vendor
Apollo GraphQL
License
mit
Year introduced
2015
Confidence
0.90
Version strategy
NOT_APPLICABLE

Maturity reasoning: GraphQL clients are widely listed in frontend/backend JDs alongside Apollo/Relay, and major vendors maintain active docs and tooling; market demand is broad rather than niche.

Skill profile (library / DB)

Skill nature
FRAMEWORK
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
4
Sub-category id
52
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Inference Service Frameworks Catalog dimension db id 114

    Library dimension (catalog)

    Roles linked in library: Machine Learning Engineer

  • Web Service Frameworks Catalog dimension db id 141

    Library dimension (catalog)

    Roles linked in library: Backend Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Inference Service Frameworks
inference-service-frameworks
Existing dimension (library) · Role↔dimension saved
Web Service Frameworks
web-service-frameworks
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MLOps Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

Maturity well_known confidence 0.93

MLOps appears in many recent job descriptions for ML/platform roles and is a standard practice in major cloud vendor docs (AWS SageMaker, Google Vertex AI, Azure ML), indicating broad adoption rather than niche use.

Vendor & license

(0.99)

Context keywords
model registry feature store CI/CD model serving canary deployment A/B testing drift detection ML pipeline Kubeflow MLflow Docker Kubernetes artifact versioning monitoring rollback
Ambiguity low

MLOps is a fairly specific, widely used term for machine-learning operations; in typical JDs it is unlikely to be mistaken for a different catalog skill.

Versioning

Not versioned

Type assignment

Methodology ·mlops confidence 0.97

MLOps is fundamentally a way of working that combines machine learning and operations practices, so by the Concept vs Methodology rule it is a Methodology.

Derived legacy fields
Category
Methodology
Sub-category
mlops
Skill nature
METHODOLOGY
Volatility
STABLE
Typical lifespan
EVERGREEN
Version strategy
NOT_APPLICABLE

Dimensions (API 2 worklist)

  • Model Serving Deployment and Runtime Packaging Catalog dimension db id 52

    Library dimension (catalog)

    Roles linked in library: MLOps Engineer, Machine Learning Engineer

  • Inference Data Pipelines Catalog dimension db id 59

    Library dimension (catalog)

    Roles linked in library: MLOps Engineer

Locked dimensions (v3 placement)

  • Model Serving Deployment and Runtime Packaging

    Reuses catalog slug

    Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers and managing runtime dependencies. MLOps belongs here because it often includes the release and operationalization side of the model lifecycle.

  • Inference Data Pipelines

    Reuses catalog slug

    Operational data movement for batch scoring, feature refresh, and inference-time data preparation. MLOps overlaps here when it includes the data plumbing needed to feed deployed models reliably.

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Model Serving Deployment and Runtime Packaging
model-serving-deployment-and-runtime-packaging
New skill saved · Existing dimension (library) · Role↔dimension saved
Inference Data Pipelines
inference-data-pipelines
New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MLflow Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: MLflow id=2640 · mlflow

Aliases — catalog

  • effects (CANONICAL) primary

Context tags (catalog)

asynchronous effects context API data flow event handling functional programming immutable state middleware observable pure functions react reactive programming redux side effects state management state transitions

Stored enrichment (catalog DB)

Category
Concept
Sub-category
State Side Effect Concept
Confidence
0.74
Version strategy
NOT_APPLICABLE

Maturity reasoning: Effects are increasingly listed in modern frontend/state-management JDs and docs (e.g., React/Redux side-effect handling, RxJS, Effector), but there is no single universal standard or dominant hiring staple yet.

Skill profile (library / DB)

Skill nature
TOOL
Volatility
EMERGING
Typical lifespan
EVERGREEN
Category id
11
Sub-category id
2151
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Model Serving Deployment and Runtime Packaging Catalog dimension db id 52

    Library dimension (catalog)

    Roles linked in library: MLOps Engineer, Machine Learning Engineer

  • Project Delivery and Coordination Catalog dimension db id 366

    Library dimension (catalog)

  • Version Control Systems Catalog dimension db id 365

    Library dimension (catalog)

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Model Serving Deployment and Runtime Packaging
model-serving-deployment-and-runtime-packaging
Existing dimension (library) · Role↔dimension saved
Project Delivery and Coordination
d_init_02
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Version Control Systems
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
TensorFlow Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: TensorFlow id=558 · tensorflow

Aliases — catalog

  • shader graphs (CANONICAL) primary

Context tags (catalog)

GLSL HLSL PBR UV mapping fragment shader material editor node graph node-based normal map procedural texturing render pipeline shader compiler tessellation vertex shader visual scripting

Stored enrichment (catalog DB)

Category
Framework
Sub-category
Visual Shader Authoring Framework
Vendor
Unity Technologies
License
proprietary
Year introduced
2018
Confidence
0.74
Version strategy
NOT_APPLICABLE

Maturity reasoning: Shader graphs appear in some Unity/Unreal and VFX job postings, but JD volume is far below core graphics skills like HLSL/GLSL; market use is concentrated in game/real-time rendering teams.

Skill profile (library / DB)

Skill nature
LIBRARY
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
6
Sub-category id
456
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Applied Machine Learning Toolkits Catalog dimension db id 94

    Library dimension (catalog)

    Roles linked in library: Data Scientist

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Applied Machine Learning Toolkits
applied-machine-learning-toolkits
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
PyTorch Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: PyTorch id=557 · pytorch

Aliases — catalog

  • GLSL (CANONICAL) primary

Context tags (catalog)

GPU HLSL OpenGL SPIR-V Vulkan WebGL compute shader fragment shader rendering pipeline shader shader pipeline texture sampling uniform varying vertex shader

Stored enrichment (catalog DB)

Category
Language
Sub-category
Shader Language
Vendor
Khronos Group
License
other_open
Year introduced
2004
Confidence
0.99
Version strategy
NOT_APPLICABLE

Maturity reasoning: GLSL appears in graphics/game-engine JDs but at much lower volume than mainstream languages; it’s specialized for shader programming and often replaced in newer pipelines by HLSL/Metal Shading Language or higher-level abstractions.

Skill profile (library / DB)

Skill nature
LIBRARY
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
6
Sub-category id
456
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Applied Machine Learning Toolkits Catalog dimension db id 94

    Library dimension (catalog)

    Roles linked in library: Data Scientist

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Applied Machine Learning Toolkits
applied-machine-learning-toolkits
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Ray Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

Maturity emerging confidence 0.84

Ray appears in growing numbers of ML/platform job descriptions and is backed by strong GitHub activity, but it is still far less universal than Kubernetes/Spark in hiring pipelines.

Vendor & license

Anyscale ·apache_2 ·since 2017 (0.97)

Context keywords
distributed training Ray Serve Ray Tune Ray Data Ray AIR actors task scheduling cluster autoscaling object store distributed execution parallel processing fault tolerance Kubernetes ML pipelines hyperparameter tuning
Ambiguity flagged

Could be confused with: apache_ray, ray_casting

"Ray" is overloaded in JDs: it can mean the distributed computing framework Apache Ray, but also ray casting/graphics or other ray-related terms. A reasonable extractor could confuse these in context-poor mentions.

Versioning

Not versioned

Type assignment

Framework ·distributed_computing_framework confidence 0.90

Ray is fundamentally a framework because users build distributed applications and workloads on top of it rather than merely operating it as standalone software.

Derived legacy fields
Category
Framework
Sub-category
distributed_computing_framework
Skill nature
FRAMEWORK
Volatility
EMERGING
Typical lifespan
EVERGREEN
Version strategy
NOT_APPLICABLE

Dimensions (API 2 worklist)

  • Model Serving Architecture Catalog dimension db id 115

    Library dimension (catalog)

    Roles linked in library: Machine Learning Engineer

Locked dimensions (v3 placement)

  • Distributed Model Serving Frameworks

    Reuses catalog slug

    Frameworks and runtimes used to execute Python workloads across clusters for training, batch jobs, and inference. Ray belongs here because it provides distributed execution primitives, task scheduling, and scalable compute for ML and data workloads.

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Model Serving Architecture
model-serving-architecture
New skill saved · Existing dimension (library) · Role↔dimension saved
Kubeflow Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Kubeflow id=2641 · kubeflow

Aliases — catalog

  • Reactive Forms (CANONICAL) primary

Context tags (catalog)

Angular Async Validators Change Detection ControlValueAccessor Dynamic Forms FormArray FormBuilder FormControl FormGroup Observables ReactiveX State Management Template-driven User Input Handling Validation

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Forms Concept
Confidence
0.90
Version strategy
NOT_APPLICABLE

Maturity reasoning: Common in Angular job descriptions and official Angular docs; widely used for complex form handling, with no vendor sunset or replacement signal.

Skill profile (library / DB)

Skill nature
FRAMEWORK
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
4
Sub-category id
2152
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Model Serving Deployment and Runtime Packaging Catalog dimension db id 52

    Library dimension (catalog)

    Roles linked in library: MLOps Engineer, Machine Learning Engineer

  • Version Control Systems Catalog dimension db id 365

    Library dimension (catalog)

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Model Serving Deployment and Runtime Packaging
model-serving-deployment-and-runtime-packaging
Existing dimension (library) · Role↔dimension saved
Version Control Systems
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Airflow Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Airflow id=325 · airflow

Aliases — catalog

  • OpenVAS (CANONICAL) primary

Context tags (catalog)

CVE CVSS GVM Greenbone NVT asset discovery authenticated scan compliance scan network scan port scanning remediation reporting service detection unauthenticated scan vulnerability assessment

Stored enrichment (catalog DB)

Category
Tool
Sub-category
Vulnerability Scanner
Vendor
Greenbone Networks
License
gpl_v2
Year introduced
2009
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: OpenVAS appears in security-focused JDs far less often than mainstream scanners like Nessus or Qualys, and its usage is concentrated in pentest/vuln-management roles rather than general DevOps stacks.

Skill profile (library / DB)

Skill nature
TOOL
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
11
Sub-category id
335
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Workflow Orchestration Systems Catalog dimension db id 64

    Library dimension (catalog)

    Roles linked in library: Data Engineer, MLOps Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Workflow Orchestration Systems
workflow-orchestration-systems
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Docker Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Docker id=153 · docker

Aliases — catalog

  • Metabase (CANONICAL) primary

Context tags (catalog)

BigQuery MySQL PostgreSQL Redshift SQL ad hoc analysis cards collections dashboards data visualization embedded analytics filters questions segments self-service BI

Stored enrichment (catalog DB)

Category
Tool
Sub-category
Bi Analytics Tool
Vendor
Metabase, Inc.
License
apache_2
Year introduced
2014
Confidence
0.90
Version strategy
NOT_APPLICABLE

Maturity reasoning: Metabase appears in many BI/analytics job postings and is growing in GitHub usage, but it is still far less universal than Tableau/Power BI in enterprise JDs.

Skill profile (library / DB)

Skill nature
TOOL
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
11
Sub-category id
170
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Containerization and Image Delivery Catalog dimension db id 24

    Library dimension (catalog)

    Roles linked in library: DevOps Engineer

  • Model Serving Deployment and Runtime Packaging Catalog dimension db id 52

    Library dimension (catalog)

    Roles linked in library: MLOps Engineer, Machine Learning Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Containerization and Image Delivery
containerization-and-image-delivery
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Model Serving Deployment and Runtime Packaging
model-serving-deployment-and-runtime-packaging
Existing dimension (library) · Role↔dimension saved
Kubernetes Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Kubernetes id=158 · kubernetes

Aliases — catalog

  • Column-level security (CANONICAL) primary

Context tags (catalog)

ABAC PII access policies attribute-based access control audit logging data governance data masking database permissions dynamic masking fine-grained access control least privilege policy enforcement row-level security sensitive data static masking

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Access Control Concept
Confidence
0.90
Version strategy
NOT_APPLICABLE

Maturity reasoning: Appears in cloud/data platform JDs and vendor docs for Snowflake, BigQuery, and PostgreSQL RLS/column masking, but is not yet a universal hiring staple like core IAM or RBAC.

Skill profile (library / DB)

Skill nature
PLATFORM
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
13
Sub-category id
1524
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Orchestration Platforms Catalog dimension db id 25

    Library dimension (catalog)

    Roles linked in library: Cloud Engineer, DevOps Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Orchestration Platforms
orchestration-platforms
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Microservices Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Microservices id=864 · microservices

Aliases — from this run (catalog unavailable)

  • Microservices (CANONICAL) primary

Skill profile (library / DB)

Skill nature
PATTERN
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
1
Sub-category id
663
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Service Architecture and Integration Catalog dimension db id 148

    Library dimension (catalog)

    Roles linked in library: Backend Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Service Architecture and Integration
service-architecture-and-integration
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
LakeFS Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

Maturity niche confidence 0.86

LakeFS appears in a limited number of data-platform JDs and GitHub activity is far below mainstream tools like S3/Delta Lake; it’s used in specialized data versioning stacks rather than broadly required.

Vendor & license

Treeverse ·apache_2 ·since 2020 (0.97)

Context keywords
object storage S3 bucket branching commit merge tagging data lake version control GitOps ETL data pipeline Apache Spark Delta Lake Iceberg
Ambiguity low

LakeFS is a distinctive product name for a data versioning platform; in typical JDs it is unlikely to be mistaken for another catalog skill.

Versioning

Not versioned

Type assignment

Platform ·data_versioning_platform confidence 0.90

By the Platform vs Tool rule, LakeFS is a hosted multi-tenant data management environment with APIs for versioning object storage, so it fits Platform rather than a user-run tool.

Derived legacy fields
Category
Platform
Sub-category
data_versioning_platform
Skill nature
PLATFORM
Volatility
STABLE
Typical lifespan
EVERGREEN
Version strategy
NOT_APPLICABLE

Dimensions (API 2 worklist)

  • Version Control Systems Catalog dimension db id 365

    Library dimension (catalog)

Locked dimensions (v3 placement)

  • Data Versioning and Lakehouse Governance

    Pipeline tentative id

    Covers versioned data repositories, branching, commits, and reproducible data workflows for analytics and ML. LakeFS belongs here because it provides Git-like version control semantics for object storage and data lakes.

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Version Control Systems
d_init_01
New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MinIO Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

Maturity emerging confidence 0.78

MinIO appears in cloud/storage job postings and is growing in GitHub adoption, but it is far less universal than AWS S3 or PostgreSQL in hiring pipelines.

Vendor & license

MinIO, Inc. ·apache_2 ·since 2014 (0.98)

Context keywords
S3-compatible object storage bucket bucket policy presigned URL replication erasure coding distributed storage tenant gateway mode IAM access key secret key versioning lifecycle policy
Ambiguity low

MinIO is a specific object storage product name and is usually unambiguous in JDs; it is unlikely to be mistaken for another catalog skill in typical hiring context.

Versioning

Not versioned

Type assignment

Datastore ·object_storage_datastore confidence 0.90

MinIO is fundamentally an S3-compatible object storage system that persists data, so by the Datastore vs Format rule it is a Datastore rather than a Tool or Platform.

Derived legacy fields
Category
Datastore
Sub-category
object_storage_datastore
Skill nature
TOOL
Volatility
EMERGING
Typical lifespan
EVERGREEN
Version strategy
NOT_APPLICABLE

Dimensions (API 2 worklist)

  • Cloud Service Integration Patterns Catalog dimension db id 188

    Library dimension (catalog)

    Roles linked in library: Cloud Architect

  • Version Control Systems Catalog dimension db id 365

    Library dimension (catalog)

Locked dimensions (v3 placement)

  • Cloud Service Integration Patterns

    Pipeline tentative id

    Patterns for connecting applications and workloads to cloud services across APIs, events, shared services, and service boundaries. Includes object storage and S3-compatible integrations such as MinIO, object storage endpoints, application uploads, signed URL workflows, service-to-service storage access, cloud storage abstraction, and cross-service data exchange, with attention to decoupling, security, and operability.

  • Object Storage Systems

    Pipeline tentative id

    Systems and platforms for storing and serving unstructured objects via S3-compatible or similar APIs. MinIO belongs here because it is an object storage server used for durable blob storage, access control, and high-throughput retrieval.

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Cloud Service Integration Patterns
cloud-service-integration-patterns
New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Version Control Systems
d_init_01
New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Cloud Service Integration Patterns
d_merge_01
New skill saved · Existing dimension (reconciliation merge) · Role↔dimension skipped (dimension not under chosen role)
NATS Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: NATS id=857 · nats

Aliases — catalog

  • Kustomize (CANONICAL) primary

Context tags (catalog)

CI/CD GitOps Kubernetes YAML bases configurations customization deployment helm kubectl kustomization overlays patches plugins resource management

Stored enrichment (catalog DB)

Category
Tool
Sub-category
Configuration Tool
Vendor
Google
License
apache_2
Year introduced
2017
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: Common in Kubernetes job descriptions and widely used for overlay-based manifest customization; no vendor sunset, and it remains a standard alternative to Helm for GitOps workflows.

Skill profile (library / DB)

Skill nature
TOOL
Volatility
EMERGING
Typical lifespan
EVERGREEN
Category id
11
Sub-category id
744
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Messaging and Event Streaming Catalog dimension db id 146

    Library dimension (catalog)

    Roles linked in library: Backend Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Messaging and Event Streaming
messaging-and-event-streaming
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
RBAC Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: RBAC id=202 · rbac

Aliases — catalog

  • SageMaker Feature Store (CANONICAL) primary

Context tags (catalog)

Athena Glue Kinesis Lambda S3 batch ingestion data catalog event time feature group feature ingestion feature retrieval low-latency serving offline store online store record identifier

Stored enrichment (catalog DB)

Category
Service
Sub-category
Feature Store Service
Vendor
Amazon Web Services
License
proprietary
Year introduced
2020
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: Appears in some ML platform JDs, but far less often than core AWS services; AWS docs position it as a specialized SageMaker component rather than a general-purpose standard.

Skill profile (library / DB)

Skill nature
CONCEPT
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
2
Sub-category id
1261
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Authentication and Authorization Catalog dimension db id 147

    Library dimension (catalog)

    Roles linked in library: Backend Engineer

  • Data Governance and Access Control Catalog dimension db id 77

    Library dimension (catalog)

    Roles linked in library: Data Engineer

  • Secrets and Access Automation Catalog dimension db id 33

    Library dimension (catalog)

    Roles linked in library: DevOps Engineer

  • Secrets and Key Management Catalog dimension db id 39

    Library dimension (catalog)

    Roles linked in library: Azure Cloud Engineer, Cloud Engineer, Cybersecurity Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Authentication and Authorization
authentication-and-authorization
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Data Governance and Access Control
data-governance-and-access-control
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Secrets and Access Automation
secrets-and-access-automation
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Secrets and Key Management
secrets-and-key-management
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Authentication Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

Maturity well_known confidence 0.96

Authentication appears in most software/security job descriptions and is a core requirement across web, mobile, and cloud systems; it’s a standard hiring-pipeline topic rather than a niche tool.

Vendor & license

(0.99)

Context keywords
OAuth 2.0 OpenID Connect SAML JWT SSO MFA 2FA session management identity provider access token refresh token authorization code passwordless LDAP federated login
Ambiguity low

Authentication is a standard, well-scoped security concept in JDs and is unlikely to be confused with a different catalog skill in typical usage.

Versioning

Not versioned

Type assignment

Concept ·authentication confidence 0.96

Authentication is a named knowledge unit about verifying identity, so by the Concept vs Methodology rule it is a Concept rather than a tool, protocol, or standard.

Derived legacy fields
Category
Concept
Sub-category
authentication
Skill nature
CONCEPT
Volatility
STABLE
Typical lifespan
EVERGREEN
Version strategy
NOT_APPLICABLE

Dimensions (API 2 worklist)

  • Authentication, Federation, and Session Security Proposed / LLM

    Proposed / LLM dimension (no DB id yet)

Locked dimensions (v3 placement)

  • Authentication, Federation, and Session Security

    Pipeline tentative id

    Covers verifying user or service identity and protecting the resulting session state across applications and services. Includes login flows, password-based sign-in, MFA, SSO, OAuth2, OpenID Connect, SAML, JWT validation, token issuance and validation, session cookies, refresh tokens, federation, and identity provider integration. Focuses on the security properties of identity protocols and session handling rather than authorization, access governance, or unrelated security controls.

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Authentication, Federation, and Session Security
d_merge_01
New skill saved · Existing dimension (reconciliation merge) · Role↔dimension skipped (dimension not under chosen role)

All API 3 persistence rows

Same grid as the skill-extractor “Persistence items” table: one row per (skill × dimension) work item.

Skill Tag Dimension Skill↔dim Role↔dim Outcome Notes
Python in_db
Analytical Programming Languages
analytical-programming-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Python in_db
Automation Scripting and CLI
automation-scripting-and-cli
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Python in_db
Automation and Scripting for Operations
automation-and-scripting-for-operations
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Python in_db
Network Automation and Scripting
network-automation-and-scripting
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Python in_db
Programming Languages for AI Workflows
programming-languages-for-ai-workflows
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Python in_db
Programming Languages for Backend Systems
programming-languages-for-backend-systems
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Python in_db
Programming Languages for Data Work
programming-languages-for-data-work
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Python in_db
Programming Languages for ML Systems
programming-languages-for-ml-systems
Existing dimension (library) · Role↔dimension saved
Python in_db
Programming Languages for Security Work
programming-languages-for-security-work
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Python in_db
Programming Languages for Test Automation
programming-languages-for-test-automation
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Python in_db
Security Automation and Scripting
security-automation-and-scripting
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
FastAPI in_db
Inference Service Frameworks
inference-service-frameworks
Existing dimension (library) · Role↔dimension saved
FastAPI in_db
Web Service Frameworks
web-service-frameworks
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MLflow in_db
Model Serving Deployment and Runtime Packaging
model-serving-deployment-and-runtime-packaging
Existing dimension (library) · Role↔dimension saved
MLflow in_db
Project Delivery and Coordination
d_init_02
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MLflow in_db
Version Control Systems
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
TensorFlow in_db
Applied Machine Learning Toolkits
applied-machine-learning-toolkits
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
PyTorch in_db
Applied Machine Learning Toolkits
applied-machine-learning-toolkits
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Kubeflow in_db
Model Serving Deployment and Runtime Packaging
model-serving-deployment-and-runtime-packaging
Existing dimension (library) · Role↔dimension saved
Kubeflow in_db
Version Control Systems
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Airflow in_db
Workflow Orchestration Systems
workflow-orchestration-systems
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Docker in_db
Containerization and Image Delivery
containerization-and-image-delivery
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Docker in_db
Model Serving Deployment and Runtime Packaging
model-serving-deployment-and-runtime-packaging
Existing dimension (library) · Role↔dimension saved
Kubernetes in_db
Orchestration Platforms
orchestration-platforms
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Microservices in_db
Service Architecture and Integration
service-architecture-and-integration
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
NATS in_db
Messaging and Event Streaming
messaging-and-event-streaming
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
RBAC in_db
Authentication and Authorization
authentication-and-authorization
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
RBAC in_db
Data Governance and Access Control
data-governance-and-access-control
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
RBAC in_db
Secrets and Access Automation
secrets-and-access-automation
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
RBAC in_db
Secrets and Key Management
secrets-and-key-management
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MLOps in_db
Model Serving Deployment and Runtime Packaging
model-serving-deployment-and-runtime-packaging
New skill saved · Existing dimension (library) · Role↔dimension saved
MLOps in_db
Inference Data Pipelines
inference-data-pipelines
New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Ray in_db
Model Serving Architecture
model-serving-architecture
New skill saved · Existing dimension (library) · Role↔dimension saved
LakeFS in_db
Version Control Systems
d_init_01
New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MinIO in_db
Cloud Service Integration Patterns
cloud-service-integration-patterns
New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MinIO in_db
Version Control Systems
d_init_01
New skill saved · Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Authentication in_db
Authentication, Federation, and Session Security
d_merge_01
New skill saved · Existing dimension (reconciliation merge) · Role↔dimension skipped (dimension not under chosen role)
MinIO in_db
Cloud Service Integration Patterns
d_merge_01
New skill saved · Existing dimension (reconciliation merge) · Role↔dimension skipped (dimension not under chosen role)

Library artifacts (this run)

Kind Detail DB id
canonical_skill_added MLOps 2643
canonical_skill_added Ray 2644
canonical_skill_added LakeFS 2645
canonical_skill_added MinIO 2646
canonical_skill_added Authentication 2647
dimension_skill_link MLOps ↔ Model Serving Deployment and Runtime Packaging 52
dimension_skill_link MLOps ↔ Inference Data Pipelines 59
dimension_skill_link Ray ↔ Model Serving Architecture 115
dimension_skill_link LakeFS ↔ Version Control Systems 365
dimension_skill_link MinIO ↔ Cloud Service Integration Patterns 188
dimension_skill_link MinIO ↔ Version Control Systems 365
dimension_skill_link Authentication ↔ Authentication, Federation, and Session Security 253
nano JD Parser — gpt-4.1-nano click to toggle
DomainOther
JD type pass
Show raw JSON
{
  "JD_type": "pass",
  "about_company": null,
  "certifications": [],
  "company_name": null,
  "ctc": null,
  "domain": {
    "primary": {
      "aliases": [],
      "domain": "Other"
    },
    "secondary": null
  },
  "education": [],
  "experience": {
    "max": null,
    "min": null,
    "raw": null
  },
  "job_locations": [],
  "role": null,
  "role_archetype": null,
  "roles_and_responsibilities": [
    {
      "bullet_count": 0,
      "heading": "Role Overview",
      "heading_was_present": false,
      "source_marker": {
        "first_5_words": "Strong proficiency in Python",
        "last_5_words": "FastAPI."
      },
      "text": "Strong proficiency in Python and FastAPI.",
      "word_count": 7
    },
    {
      "bullet_count": 7,
      "heading": "Responsibilities",
      "heading_was_present": true,
      "source_marker": {
        "first_5_words": "Experience with MLOps tools and",
        "last_5_words": "authentication mechanisms"
      },
      "text": "Experience with MLOps tools and ML experimentation platforms such as MLflow (Runs \u0026 Experiments)\nExpertise in model versioning and lifecycle management (model training)\nKnowledge of ML frameworks/libraries (e.g., TensorFlow, PyTorch) and orchestration tools such as MLflow, Ray.io, Kubeflow, and Airflow\nFamiliarity with Docker, Kubernetes, and microservice-based architectures\nExperience with tools such as MLflow, LakeFS, MinIO, and NATS for asynchronous communication\nKnowledge of database design and best practices\nUnderstanding of RBAC and authentication mechanisms",
      "word_count": 78
    }
  ],
  "urls": []
}
API 1 — extract-from-jd click to toggle
{
  "final_skills": [
    {
      "is_primary": true,
      "skill_name": "Python"
    },
    {
      "is_primary": true,
      "skill_name": "FastAPI"
    },
    {
      "is_primary": false,
      "skill_name": "MLOps"
    },
    {
      "is_primary": false,
      "skill_name": "MLflow"
    },
    {
      "is_primary": false,
      "skill_name": "TensorFlow"
    },
    {
      "is_primary": false,
      "skill_name": "PyTorch"
    },
    {
      "is_primary": false,
      "skill_name": "Ray"
    },
    {
      "is_primary": false,
      "skill_name": "Kubeflow"
    },
    {
      "is_primary": false,
      "skill_name": "Airflow"
    },
    {
      "is_primary": false,
      "skill_name": "Docker"
    },
    {
      "is_primary": false,
      "skill_name": "Kubernetes"
    },
    {
      "is_primary": false,
      "skill_name": "Microservices"
    },
    {
      "is_primary": false,
      "skill_name": "LakeFS"
    },
    {
      "is_primary": false,
      "skill_name": "MinIO"
    },
    {
      "is_primary": false,
      "skill_name": "NATS"
    },
    {
      "is_primary": false,
      "skill_name": "RBAC"
    },
    {
      "is_primary": false,
      "skill_name": "Authentication"
    }
  ],
  "jd_role": null,
  "nano_parsed": {
    "JD_type": "pass",
    "about_company": null,
    "certifications": [],
    "company_name": null,
    "ctc": null,
    "domain": {
      "primary": {
        "aliases": [],
        "domain": "Other"
      },
      "secondary": null
    },
    "education": [],
    "experience": {
      "max": null,
      "min": null,
      "raw": null
    },
    "job_locations": [],
    "role": null,
    "role_archetype": null,
    "roles_and_responsibilities": [
      {
        "bullet_count": 0,
        "heading": "Role Overview",
        "heading_was_present": false,
        "source_marker": {
          "first_5_words": "Strong proficiency in Python",
          "last_5_words": "FastAPI."
        },
        "text": "Strong proficiency in Python and FastAPI.",
        "word_count": 7
      },
      {
        "bullet_count": 7,
        "heading": "Responsibilities",
        "heading_was_present": true,
        "source_marker": {
          "first_5_words": "Experience with MLOps tools and",
          "last_5_words": "authentication mechanisms"
        },
        "text": "Experience with MLOps tools and ML experimentation platforms such as MLflow (Runs \u0026 Experiments)\nExpertise in model versioning and lifecycle management (model training)\nKnowledge of ML frameworks/libraries (e.g., TensorFlow, PyTorch) and orchestration tools such as MLflow, Ray.io, Kubeflow, and Airflow\nFamiliarity with Docker, Kubernetes, and microservice-based architectures\nExperience with tools such as MLflow, LakeFS, MinIO, and NATS for asynchronous communication\nKnowledge of database design and best practices\nUnderstanding of RBAC and authentication mechanisms",
        "word_count": 78
      }
    ],
    "urls": []
  },
  "run_id": null
}
API 2 — extract-details
{
  "alias_matches": [
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 608,
      "existing_alias_text": "Python",
      "input_term": "Python",
      "matched_canonical": {
        "category_id": 5,
        "display_name": "Python",
        "id": 393,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LANGUAGE",
        "slug": "python",
        "sub_category_id": 54,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 1022,
      "existing_alias_text": "FastAPI",
      "input_term": "FastAPI",
      "matched_canonical": {
        "category_id": 4,
        "display_name": "FastAPI",
        "id": 682,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "fastapi",
        "sub_category_id": 52,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 3593,
      "existing_alias_text": "MLflow",
      "input_term": "MLflow",
      "matched_canonical": {
        "category_id": 11,
        "display_name": "MLflow",
        "id": 2640,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "mlflow",
        "sub_category_id": 2151,
        "typical_lifespan": "EVERGREEN",
        "volatility": "EMERGING"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 862,
      "existing_alias_text": "TensorFlow",
      "input_term": "TensorFlow",
      "matched_canonical": {
        "category_id": 6,
        "display_name": "TensorFlow",
        "id": 558,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LIBRARY",
        "slug": "tensorflow",
        "sub_category_id": 456,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 861,
      "existing_alias_text": "PyTorch",
      "input_term": "PyTorch",
      "matched_canonical": {
        "category_id": 6,
        "display_name": "PyTorch",
        "id": 557,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LIBRARY",
        "slug": "pytorch",
        "sub_category_id": 456,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 3594,
      "existing_alias_text": "Kubeflow",
      "input_term": "Kubeflow",
      "matched_canonical": {
        "category_id": 4,
        "display_name": "Kubeflow",
        "id": 2641,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "kubeflow",
        "sub_category_id": 2152,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 540,
      "existing_alias_text": "Airflow",
      "input_term": "Airflow",
      "matched_canonical": {
        "category_id": 11,
        "display_name": "Airflow",
        "id": 325,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "airflow",
        "sub_category_id": 335,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 299,
      "existing_alias_text": "Docker",
      "input_term": "Docker",
      "matched_canonical": {
        "category_id": 11,
        "display_name": "Docker",
        "id": 153,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "docker",
        "sub_category_id": 170,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 304,
      "existing_alias_text": "Kubernetes",
      "input_term": "Kubernetes",
      "matched_canonical": {
        "category_id": 13,
        "display_name": "Kubernetes",
        "id": 158,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PLATFORM",
        "slug": "kubernetes",
        "sub_category_id": 1524,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 1307,
      "existing_alias_text": "Microservices",
      "input_term": "Microservices",
      "matched_canonical": {
        "category_id": 1,
        "display_name": "Microservices",
        "id": 864,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PATTERN",
        "slug": "microservices",
        "sub_category_id": 663,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 1300,
      "existing_alias_text": "NATS",
      "input_term": "NATS",
      "matched_canonical": {
        "category_id": 11,
        "display_name": "NATS",
        "id": 857,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "nats",
        "sub_category_id": 744,
        "typical_lifespan": "EVERGREEN",
        "volatility": "EMERGING"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 401,
      "existing_alias_text": "RBAC",
      "input_term": "RBAC",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "RBAC",
        "id": 202,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "rbac",
        "sub_category_id": 1261,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    }
  ],
  "candidate_roles": [
    {
      "display_name": "Data Analyst",
      "id": 20,
      "rationale": null,
      "role_archetype": null,
      "slug": "data-analyst",
      "source": "db"
    },
    {
      "display_name": "Data Scientist",
      "id": 7,
      "rationale": null,
      "role_archetype": null,
      "slug": "data-scientist",
      "source": "db"
    },
    {
      "display_name": "Azure Cloud Engineer",
      "id": 4,
      "rationale": null,
      "role_archetype": null,
      "slug": "azure-cloud-engineer",
      "source": "db"
    },
    {
      "display_name": "Cloud Engineer",
      "id": 18,
      "rationale": null,
      "role_archetype": null,
      "slug": "cloud-engineer",
      "source": "db"
    },
    {
      "display_name": "Virtualization Engineer",
      "id": 26,
      "rationale": null,
      "role_archetype": null,
      "slug": "virtualization-engineer",
      "source": "db"
    },
    {
      "display_name": "Network Engineer",
      "id": 21,
      "rationale": null,
      "role_archetype": null,
      "slug": "network-engineer",
      "source": "db"
    },
    {
      "display_name": "AI Engineer",
      "id": 12,
      "rationale": null,
      "role_archetype": null,
      "slug": "ai-engineer",
      "source": "db"
    },
    {
      "display_name": "Backend Engineer",
      "id": 14,
      "rationale": null,
      "role_archetype": null,
      "slug": "backend-engineer",
      "source": "db"
    },
    {
      "display_name": "Data Engineer",
      "id": 6,
      "rationale": null,
      "role_archetype": null,
      "slug": "data-engineer",
      "source": "db"
    },
    {
      "display_name": "Machine Learning Engineer",
      "id": 10,
      "rationale": null,
      "role_archetype": null,
      "slug": "machine-learning-engineer",
      "source": "db"
    },
    {
      "display_name": "Cybersecurity Engineer",
      "id": 9,
      "rationale": null,
      "role_archetype": null,
      "slug": "cybersecurity-engineer",
      "source": "db"
    },
    {
      "display_name": "Automation Tester",
      "id": 16,
      "rationale": null,
      "role_archetype": null,
      "slug": "automation-tester",
      "source": "db"
    },
    {
      "display_name": "MLOps Engineer",
      "id": 5,
      "rationale": null,
      "role_archetype": null,
      "slug": "mlops-engineer",
      "source": "db"
    },
    {
      "display_name": "DevOps Engineer",
      "id": 1,
      "rationale": null,
      "role_archetype": "A DevOps Engineer enables reliable, repeatable delivery of software by designing and operating the processes that connect development and production. They focus on improving deployment flow, operational stability, and collaboration between teams through automation, standardization, and monitoring of delivery and runtime practices.",
      "slug": "devops-engineer",
      "source": "db"
    },
    {
      "display_name": "Cloud Architect",
      "id": 11,
      "rationale": null,
      "role_archetype": null,
      "slug": "cloud-architect",
      "source": "db"
    }
  ],
  "chosen_role": {
    "display_name": "Machine Learning Engineer",
    "id": 10,
    "rationale": "This role heavily involves Python and FastAPI, which are primary skills required for this position.",
    "role_archetype": null,
    "slug": "machine-learning-engineer",
    "source": "db"
  },
  "dimensions": [
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Analytical Programming Languages",
        "id": 82,
        "rationale": "Languages used to clean, transform, analyze, and prototype models in notebooks and scripts. This is the core coding surface for expressing statistical logic and data manipulation in a reproducible way.",
        "slug": "analytical-programming-languages",
        "source": "db"
      },
      "input_skill": "Python",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Data Analyst",
          "id": 20,
          "rationale": null,
          "role_archetype": null,
          "slug": "data-analyst",
          "source": "db"
        },
        {
          "display_name": "Data Scientist",
          "id": 7,
          "rationale": null,
          "role_archetype": null,
          "slug": "data-scientist",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Automation Scripting and CLI",
        "id": 48,
        "rationale": "Uses scripts and command-line tooling to execute repeatable Azure operations and reduce manual work. This is a practical cluster because the role frequently automates provisioning, checks, and remediation tasks.",
        "slug": "automation-scripting-and-cli",
        "source": "db"
      },
      "input_skill": "Python",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Azure Cloud Engineer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "azure-cloud-engineer",
          "source": "db"
        },
        {
          "display_name": "Cloud Engineer",
          "id": 18,
          "rationale": null,
          "role_archetype": null,
          "slug": "cloud-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Automation and Scripting for Operations",
        "id": 361,
        "rationale": "Scripts and lightweight automation used to execute repetitive virtualization tasks and enforce operational consistency. This is the practical glue that reduces manual host and VM administration.",
        "slug": "automation-and-scripting-for-operations",
        "source": "db"
      },
      "input_skill": "Python",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Virtualization Engineer",
          "id": 26,
          "rationale": null,
          "role_archetype": null,
          "slug": "virtualization-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Network Automation and Scripting",
        "id": 285,
        "rationale": "Covers scripts and automation used to configure, validate, and audit network devices and services. This cluster is coherent because repeatable network operations increasingly depend on programmatic changes and checks.",
        "slug": "network-automation-and-scripting",
        "source": "db"
      },
      "input_skill": "Python",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Network Engineer",
          "id": 21,
          "rationale": null,
          "role_archetype": null,
          "slug": "network-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages for AI Workflows",
        "id": 261,
        "rationale": "Languages used to implement AI feature logic, orchestration, and response handling inside product code. This is the core coding surface for turning prompts and model calls into reliable application behavior.",
        "slug": "programming-languages-for-ai-workflows",
        "source": "db"
      },
      "input_skill": "Python",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "AI Engineer",
          "id": 12,
          "rationale": null,
          "role_archetype": null,
          "slug": "ai-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages for Backend Systems",
        "id": 140,
        "rationale": "Languages used to implement server-side business logic, request handlers, workers, and service integrations. This is the core coding surface for backend feature delivery and maintenance.",
        "slug": "programming-languages-for-backend-systems",
        "source": "db"
      },
      "input_skill": "Python",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Backend Engineer",
          "id": 14,
          "rationale": null,
          "role_archetype": null,
          "slug": "backend-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages for Data Work",
        "id": 67,
        "rationale": "Languages used to implement data pipelines, transformations, and operational utilities. This is the code layer for expressing extraction, parsing, validation, and orchestration logic in data engineering workflows.",
        "slug": "programming-languages-for-data-work",
        "source": "db"
      },
      "input_skill": "Python",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Data Engineer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "data-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages for ML Systems",
        "id": 113,
        "rationale": "Languages used to implement model integration code, inference services, and feature-processing logic. This is the core coding surface for turning trained models into product-facing software components.",
        "slug": "programming-languages-for-ml-systems",
        "source": "db"
      },
      "input_skill": "Python",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Machine Learning Engineer",
          "id": 10,
          "rationale": null,
          "role_archetype": null,
          "slug": "machine-learning-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages for Security Work",
        "id": 328,
        "rationale": "Languages used to automate security tasks, write detection logic, and build analysis or remediation tooling. This is the core coding surface for a cybersecurity engineer across scripts, queries, and small utilities.",
        "slug": "programming-languages-for-security-work",
        "source": "db"
      },
      "input_skill": "Python",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Cybersecurity Engineer",
          "id": 9,
          "rationale": null,
          "role_archetype": null,
          "slug": "cybersecurity-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages for Test Automation",
        "id": 193,
        "rationale": "Languages used to implement automated checks, helper utilities, and test harness code. This is the core coding surface for turning test ideas into maintainable automation.",
        "slug": "programming-languages-for-test-automation",
        "source": "db"
      },
      "input_skill": "Python",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Automation Tester",
          "id": 16,
          "rationale": null,
          "role_archetype": null,
          "slug": "automation-tester",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Security Automation and Scripting",
        "id": 258,
        "rationale": "Automating repeatable security checks, enrichment, and remediation workflows. This cluster is coherent because the role often needs lightweight automation to scale analysis and response.",
        "slug": "security-automation-and-scripting",
        "source": "db"
      },
      "input_skill": "Python",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Cybersecurity Engineer",
          "id": 9,
          "rationale": null,
          "role_archetype": null,
          "slug": "cybersecurity-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Inference Service Frameworks",
        "id": 114,
        "rationale": "Web and service frameworks used to expose model predictions through APIs and application endpoints. This cluster is coherent because MLEs often implement the runtime surface where requests enter and predictions leave the system.",
        "slug": "inference-service-frameworks",
        "source": "db"
      },
      "input_skill": "FastAPI",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Machine Learning Engineer",
          "id": 10,
          "rationale": null,
          "role_archetype": null,
          "slug": "machine-learning-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Web Service Frameworks",
        "id": 141,
        "rationale": "Server frameworks used to build HTTP APIs, route requests, validate inputs, and structure backend application code. This cluster is coherent because it defines how backend services expose behavior to clients and other services.",
        "slug": "web-service-frameworks",
        "source": "db"
      },
      "input_skill": "FastAPI",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Backend Engineer",
          "id": 14,
          "rationale": null,
          "role_archetype": null,
          "slug": "backend-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Model Serving Deployment and Runtime Packaging",
        "id": 52,
        "rationale": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers or managed inference runtimes, coordinating rollout, and handing off to inference systems. Covers serving frameworks and platforms such as TensorFlow Serving, TorchServe, Triton Inference Server, BentoML, KServe, and Seldon Core, plus container/runtime concerns like Docker images, GPU-enabled containers, base image selection, container entrypoints, runtime dependencies, and image scanning for model services.",
        "slug": "model-serving-deployment-and-runtime-packaging",
        "source": "db"
      },
      "input_skill": "MLflow",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "MLOps Engineer",
          "id": 5,
          "rationale": null,
          "role_archetype": null,
          "slug": "mlops-engineer",
          "source": "db"
        },
        {
          "display_name": "Machine Learning Engineer",
          "id": 10,
          "rationale": null,
          "role_archetype": null,
          "slug": "machine-learning-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Project Delivery and Coordination",
        "id": 366,
        "rationale": "Coordination practices for organizing work, tracking progress, and aligning stakeholders across a delivery effort. Agile fits here when used as a team execution framework for managing scope, cadence, and collaboration.",
        "slug": "d_init_02",
        "source": "db"
      },
      "input_skill": "MLflow",
      "llm_role": null,
      "roles_from_db": []
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Version Control Systems",
        "id": 365,
        "rationale": "Tools and workflows for tracking source changes, branching, merging, and collaborating on code history. Git belongs here because it is the canonical distributed version control system used to manage revisions and coordinate team development.",
        "slug": "d_init_01",
        "source": "db"
      },
      "input_skill": "MLflow",
      "llm_role": null,
      "roles_from_db": []
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Applied Machine Learning Toolkits",
        "id": 94,
        "rationale": "Libraries and frameworks used to prototype and compare models quickly. This dimension captures the concrete tooling layer beneath modeling methods and evaluation.",
        "slug": "applied-machine-learning-toolkits",
        "source": "db"
      },
      "input_skill": "TensorFlow",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Data Scientist",
          "id": 7,
          "rationale": null,
          "role_archetype": null,
          "slug": "data-scientist",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Applied Machine Learning Toolkits",
        "id": 94,
        "rationale": "Libraries and frameworks used to prototype and compare models quickly. This dimension captures the concrete tooling layer beneath modeling methods and evaluation.",
        "slug": "applied-machine-learning-toolkits",
        "source": "db"
      },
      "input_skill": "PyTorch",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Data Scientist",
          "id": 7,
          "rationale": null,
          "role_archetype": null,
          "slug": "data-scientist",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Model Serving Deployment and Runtime Packaging",
        "id": 52,
        "rationale": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers or managed inference runtimes, coordinating rollout, and handing off to inference systems. Covers serving frameworks and platforms such as TensorFlow Serving, TorchServe, Triton Inference Server, BentoML, KServe, and Seldon Core, plus container/runtime concerns like Docker images, GPU-enabled containers, base image selection, container entrypoints, runtime dependencies, and image scanning for model services.",
        "slug": "model-serving-deployment-and-runtime-packaging",
        "source": "db"
      },
      "input_skill": "Kubeflow",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "MLOps Engineer",
          "id": 5,
          "rationale": null,
          "role_archetype": null,
          "slug": "mlops-engineer",
          "source": "db"
        },
        {
          "display_name": "Machine Learning Engineer",
          "id": 10,
          "rationale": null,
          "role_archetype": null,
          "slug": "machine-learning-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Version Control Systems",
        "id": 365,
        "rationale": "Tools and workflows for tracking source changes, branching, merging, and collaborating on code history. Git belongs here because it is the canonical distributed version control system used to manage revisions and coordinate team development.",
        "slug": "d_init_01",
        "source": "db"
      },
      "input_skill": "Kubeflow",
      "llm_role": null,
      "roles_from_db": []
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Workflow Orchestration Systems",
        "id": 64,
        "rationale": "Operational orchestration of ML jobs, dependencies, and handoffs across training, validation, deployment, and retraining. This is a useful split from training pipelines because it emphasizes the scheduler and control plane.",
        "slug": "workflow-orchestration-systems",
        "source": "db"
      },
      "input_skill": "Airflow",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Data Engineer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "data-engineer",
          "source": "db"
        },
        {
          "display_name": "MLOps Engineer",
          "id": 5,
          "rationale": null,
          "role_archetype": null,
          "slug": "mlops-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Containerization and Image Delivery",
        "id": 24,
        "rationale": "Builds, packages, and ships application and support workloads as container images. This cluster covers the artifact format and the mechanics of producing deployable images.",
        "slug": "containerization-and-image-delivery",
        "source": "db"
      },
      "input_skill": "Docker",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "DevOps Engineer",
          "id": 1,
          "rationale": null,
          "role_archetype": "A DevOps Engineer enables reliable, repeatable delivery of software by designing and operating the processes that connect development and production. They focus on improving deployment flow, operational stability, and collaboration between teams through automation, standardization, and monitoring of delivery and runtime practices.",
          "slug": "devops-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Model Serving Deployment and Runtime Packaging",
        "id": 52,
        "rationale": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers or managed inference runtimes, coordinating rollout, and handing off to inference systems. Covers serving frameworks and platforms such as TensorFlow Serving, TorchServe, Triton Inference Server, BentoML, KServe, and Seldon Core, plus container/runtime concerns like Docker images, GPU-enabled containers, base image selection, container entrypoints, runtime dependencies, and image scanning for model services.",
        "slug": "model-serving-deployment-and-runtime-packaging",
        "source": "db"
      },
      "input_skill": "Docker",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "MLOps Engineer",
          "id": 5,
          "rationale": null,
          "role_archetype": null,
          "slug": "mlops-engineer",
          "source": "db"
        },
        {
          "display_name": "Machine Learning Engineer",
          "id": 10,
          "rationale": null,
          "role_archetype": null,
          "slug": "machine-learning-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Orchestration Platforms",
        "id": 25,
        "rationale": "Operates the platforms that schedule and run containerized workloads and related deployment primitives. This is separate from image delivery because it concerns runtime placement and service rollout behavior.",
        "slug": "orchestration-platforms",
        "source": "db"
      },
      "input_skill": "Kubernetes",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Cloud Engineer",
          "id": 18,
          "rationale": null,
          "role_archetype": null,
          "slug": "cloud-engineer",
          "source": "db"
        },
        {
          "display_name": "DevOps Engineer",
          "id": 1,
          "rationale": null,
          "role_archetype": "A DevOps Engineer enables reliable, repeatable delivery of software by designing and operating the processes that connect development and production. They focus on improving deployment flow, operational stability, and collaboration between teams through automation, standardization, and monitoring of delivery and runtime practices.",
          "slug": "devops-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Service Architecture and Integration",
        "id": 148,
        "rationale": "Patterns for structuring backend systems as services and coordinating calls across internal and external dependencies. This includes how services are decomposed, connected, and evolved safely.",
        "slug": "service-architecture-and-integration",
        "source": "db"
      },
      "input_skill": "Microservices",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Backend Engineer",
          "id": 14,
          "rationale": null,
          "role_archetype": null,
          "slug": "backend-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Messaging and Event Streaming",
        "id": 146,
        "rationale": "Asynchronous communication patterns and systems for decoupled service interaction and background processing. This is a coherent backend cluster because many server-side workflows depend on queues, topics, and event streams.",
        "slug": "messaging-and-event-streaming",
        "source": "db"
      },
      "input_skill": "NATS",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Backend Engineer",
          "id": 14,
          "rationale": null,
          "role_archetype": null,
          "slug": "backend-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Authentication and Authorization",
        "id": 147,
        "rationale": "Identity, session, and access-control mechanisms used to protect backend endpoints and service actions. This cluster is coherent because backend engineers often implement the server-side enforcement of who can do what.",
        "slug": "authentication-and-authorization",
        "source": "db"
      },
      "input_skill": "RBAC",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Backend Engineer",
          "id": 14,
          "rationale": null,
          "role_archetype": null,
          "slug": "backend-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Data Governance and Access Control",
        "id": 77,
        "rationale": "Controls for sharing data safely across teams and environments. This includes permissions, masking, row-level security, and stewardship practices that keep data usable without exposing sensitive content.",
        "slug": "data-governance-and-access-control",
        "source": "db"
      },
      "input_skill": "RBAC",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Data Engineer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "data-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Secrets and Access Automation",
        "id": 33,
        "rationale": "Automates secure handling of credentials, tokens, and access paths used by delivery systems and runtime environments. It is coherent because release tooling frequently needs controlled access to protected resources.",
        "slug": "secrets-and-access-automation",
        "source": "db"
      },
      "input_skill": "RBAC",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "DevOps Engineer",
          "id": 1,
          "rationale": null,
          "role_archetype": "A DevOps Engineer enables reliable, repeatable delivery of software by designing and operating the processes that connect development and production. They focus on improving deployment flow, operational stability, and collaboration between teams through automation, standardization, and monitoring of delivery and runtime practices.",
          "slug": "devops-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Secrets and Key Management",
        "id": 39,
        "rationale": "Manages Azure-native secret, key, and certificate storage used by cloud environments and supporting services. This cluster is distinct because secure credential handling is operationally critical and often integrated with platform access.",
        "slug": "secrets-and-key-management",
        "source": "db"
      },
      "input_skill": "RBAC",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Azure Cloud Engineer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "azure-cloud-engineer",
          "source": "db"
        },
        {
          "display_name": "Cloud Engineer",
          "id": 18,
          "rationale": null,
          "role_archetype": null,
          "slug": "cloud-engineer",
          "source": "db"
        },
        {
          "display_name": "Cybersecurity Engineer",
          "id": 9,
          "rationale": null,
          "role_archetype": null,
          "slug": "cybersecurity-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Model Serving Deployment and Runtime Packaging",
        "id": 52,
        "rationale": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers or managed inference runtimes, coordinating rollout, and handing off to inference systems. Covers serving frameworks and platforms such as TensorFlow Serving, TorchServe, Triton Inference Server, BentoML, KServe, and Seldon Core, plus container/runtime concerns like Docker images, GPU-enabled containers, base image selection, container entrypoints, runtime dependencies, and image scanning for model services.",
        "slug": "model-serving-deployment-and-runtime-packaging",
        "source": "db"
      },
      "input_skill": "MLOps",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "MLOps Engineer",
          "id": 5,
          "rationale": null,
          "role_archetype": null,
          "slug": "mlops-engineer",
          "source": "db"
        },
        {
          "display_name": "Machine Learning Engineer",
          "id": 10,
          "rationale": null,
          "role_archetype": null,
          "slug": "machine-learning-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Inference Data Pipelines",
        "id": 59,
        "rationale": "Operational data movement for batch scoring, feature refresh, and inference-time data preparation. This is separate from model training because it focuses on getting the right data to the serving path reliably.",
        "slug": "inference-data-pipelines",
        "source": "db"
      },
      "input_skill": "MLOps",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "MLOps Engineer",
          "id": 5,
          "rationale": null,
          "role_archetype": null,
          "slug": "mlops-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Model Serving Architecture",
        "id": 115,
        "rationale": "Patterns for hosting, routing, and scaling model inference in online or batch-serving applications. This covers how model calls are embedded into services, sidecars, gateways, or dedicated serving layers.",
        "slug": "model-serving-architecture",
        "source": "db"
      },
      "input_skill": "Ray",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Machine Learning Engineer",
          "id": 10,
          "rationale": null,
          "role_archetype": null,
          "slug": "machine-learning-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Version Control Systems",
        "id": 365,
        "rationale": "Tools and workflows for tracking source changes, branching, merging, and collaborating on code history. Git belongs here because it is the canonical distributed version control system used to manage revisions and coordinate team development.",
        "slug": "d_init_01",
        "source": "db"
      },
      "input_skill": "LakeFS",
      "llm_role": null,
      "roles_from_db": []
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Cloud Service Integration Patterns",
        "id": 188,
        "rationale": "Covers how cloud services and workloads connect through APIs, events, shared services, and integration boundaries. This cluster is coherent because architects must define interaction patterns that preserve decoupling, security, and operability.",
        "slug": "cloud-service-integration-patterns",
        "source": "db"
      },
      "input_skill": "MinIO",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Cloud Architect",
          "id": 11,
          "rationale": null,
          "role_archetype": null,
          "slug": "cloud-architect",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Version Control Systems",
        "id": 365,
        "rationale": "Tools and workflows for tracking source changes, branching, merging, and collaborating on code history. Git belongs here because it is the canonical distributed version control system used to manage revisions and coordinate team development.",
        "slug": "d_init_01",
        "source": "db"
      },
      "input_skill": "MinIO",
      "llm_role": null,
      "roles_from_db": []
    },
    {
      "dimension": {
        "difficulty_hint": null,
        "display_name": "Authentication, Federation, and Session Security",
        "id": null,
        "rationale": "Covers verifying user or service identity and protecting the resulting session state across applications and services. Includes login flows, password-based sign-in, MFA, SSO, OAuth2, OpenID Connect, SAML, JWT validation, token issuance and validation, session cookies, refresh tokens, federation, and identity provider integration. Focuses on the security properties of identity protocols and session handling rather than authorization, access governance, or unrelated security controls.",
        "slug": "d_merge_01",
        "source": "llm"
      },
      "input_skill": "Authentication",
      "llm_role": null,
      "roles_from_db": []
    }
  ],
  "input_final_skills": [
    "Python",
    "FastAPI",
    "MLOps",
    "MLflow",
    "TensorFlow",
    "PyTorch",
    "Ray",
    "Kubeflow",
    "Airflow",
    "Docker",
    "Kubernetes",
    "Microservices",
    "LakeFS",
    "MinIO",
    "NATS",
    "RBAC",
    "Authentication"
  ],
  "input_llm_skills": [
    "Python",
    "FastAPI",
    "MLOps",
    "MLflow",
    "TensorFlow",
    "PyTorch",
    "Ray",
    "Kubeflow",
    "Airflow",
    "Docker",
    "Kubernetes",
    "Microservices",
    "LakeFS",
    "MinIO",
    "NATS",
    "RBAC",
    "Authentication"
  ],
  "new_aliases_persisted": 0,
  "run_id": "2486260f-bd82-471e-8cc1-a5417c60664c",
  "skills_detail": [
    {
      "aliases_in_db": [
        {
          "alias_text": "Python",
          "alias_type": "CANONICAL",
          "id": 608,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Python 2",
          "alias_type": "VERSION",
          "id": 611,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Python 2.x",
          "alias_type": "VERSION",
          "id": 613,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Python 3",
          "alias_type": "VERSION",
          "id": 612,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Python 3.10",
          "alias_type": "VERSION",
          "id": 2330,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Python 3.11",
          "alias_type": "VERSION",
          "id": 2331,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Python 3.12",
          "alias_type": "VERSION",
          "id": 2332,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Python 3.x",
          "alias_type": "VERSION",
          "id": 614,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "py2",
          "alias_type": "VERSION",
          "id": 609,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "py3",
          "alias_type": "VERSION",
          "id": 610,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "python 2",
          "alias_type": "VERSION",
          "id": 2152,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "python 2.x",
          "alias_type": "VERSION",
          "id": 2154,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "python 3",
          "alias_type": "VERSION",
          "id": 990,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "python 3.10",
          "alias_type": "VERSION",
          "id": 992,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "python 3.11",
          "alias_type": "VERSION",
          "id": 993,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "python 3.12",
          "alias_type": "VERSION",
          "id": 994,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "python 3.x",
          "alias_type": "VERSION",
          "id": 991,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "python2",
          "alias_type": "VERSION",
          "id": 2150,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "python3",
          "alias_type": "VERSION",
          "id": 989,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 5,
        "display_name": "Python",
        "id": 393,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LANGUAGE",
        "slug": "python",
        "sub_category_id": 54,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Analytical Programming Languages",
            "id": 82,
            "rationale": "Languages used to clean, transform, analyze, and prototype models in notebooks and scripts. This is the core coding surface for expressing statistical logic and data manipulation in a reproducible way.",
            "slug": "analytical-programming-languages",
            "source": "db"
          },
          "input_skill": "Python",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Data Analyst",
              "id": 20,
              "rationale": null,
              "role_archetype": null,
              "slug": "data-analyst",
              "source": "db"
            },
            {
              "display_name": "Data Scientist",
              "id": 7,
              "rationale": null,
              "role_archetype": null,
              "slug": "data-scientist",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Automation Scripting and CLI",
            "id": 48,
            "rationale": "Uses scripts and command-line tooling to execute repeatable Azure operations and reduce manual work. This is a practical cluster because the role frequently automates provisioning, checks, and remediation tasks.",
            "slug": "automation-scripting-and-cli",
            "source": "db"
          },
          "input_skill": "Python",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Azure Cloud Engineer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "azure-cloud-engineer",
              "source": "db"
            },
            {
              "display_name": "Cloud Engineer",
              "id": 18,
              "rationale": null,
              "role_archetype": null,
              "slug": "cloud-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Automation and Scripting for Operations",
            "id": 361,
            "rationale": "Scripts and lightweight automation used to execute repetitive virtualization tasks and enforce operational consistency. This is the practical glue that reduces manual host and VM administration.",
            "slug": "automation-and-scripting-for-operations",
            "source": "db"
          },
          "input_skill": "Python",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Virtualization Engineer",
              "id": 26,
              "rationale": null,
              "role_archetype": null,
              "slug": "virtualization-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Network Automation and Scripting",
            "id": 285,
            "rationale": "Covers scripts and automation used to configure, validate, and audit network devices and services. This cluster is coherent because repeatable network operations increasingly depend on programmatic changes and checks.",
            "slug": "network-automation-and-scripting",
            "source": "db"
          },
          "input_skill": "Python",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Network Engineer",
              "id": 21,
              "rationale": null,
              "role_archetype": null,
              "slug": "network-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages for AI Workflows",
            "id": 261,
            "rationale": "Languages used to implement AI feature logic, orchestration, and response handling inside product code. This is the core coding surface for turning prompts and model calls into reliable application behavior.",
            "slug": "programming-languages-for-ai-workflows",
            "source": "db"
          },
          "input_skill": "Python",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "AI Engineer",
              "id": 12,
              "rationale": null,
              "role_archetype": null,
              "slug": "ai-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages for Backend Systems",
            "id": 140,
            "rationale": "Languages used to implement server-side business logic, request handlers, workers, and service integrations. This is the core coding surface for backend feature delivery and maintenance.",
            "slug": "programming-languages-for-backend-systems",
            "source": "db"
          },
          "input_skill": "Python",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Backend Engineer",
              "id": 14,
              "rationale": null,
              "role_archetype": null,
              "slug": "backend-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages for Data Work",
            "id": 67,
            "rationale": "Languages used to implement data pipelines, transformations, and operational utilities. This is the code layer for expressing extraction, parsing, validation, and orchestration logic in data engineering workflows.",
            "slug": "programming-languages-for-data-work",
            "source": "db"
          },
          "input_skill": "Python",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Data Engineer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "data-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages for ML Systems",
            "id": 113,
            "rationale": "Languages used to implement model integration code, inference services, and feature-processing logic. This is the core coding surface for turning trained models into product-facing software components.",
            "slug": "programming-languages-for-ml-systems",
            "source": "db"
          },
          "input_skill": "Python",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Machine Learning Engineer",
              "id": 10,
              "rationale": null,
              "role_archetype": null,
              "slug": "machine-learning-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages for Security Work",
            "id": 328,
            "rationale": "Languages used to automate security tasks, write detection logic, and build analysis or remediation tooling. This is the core coding surface for a cybersecurity engineer across scripts, queries, and small utilities.",
            "slug": "programming-languages-for-security-work",
            "source": "db"
          },
          "input_skill": "Python",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Cybersecurity Engineer",
              "id": 9,
              "rationale": null,
              "role_archetype": null,
              "slug": "cybersecurity-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages for Test Automation",
            "id": 193,
            "rationale": "Languages used to implement automated checks, helper utilities, and test harness code. This is the core coding surface for turning test ideas into maintainable automation.",
            "slug": "programming-languages-for-test-automation",
            "source": "db"
          },
          "input_skill": "Python",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Automation Tester",
              "id": 16,
              "rationale": null,
              "role_archetype": null,
              "slug": "automation-tester",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Security Automation and Scripting",
            "id": 258,
            "rationale": "Automating repeatable security checks, enrichment, and remediation workflows. This cluster is coherent because the role often needs lightweight automation to scale analysis and response.",
            "slug": "security-automation-and-scripting",
            "source": "db"
          },
          "input_skill": "Python",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Cybersecurity Engineer",
              "id": 9,
              "rationale": null,
              "role_archetype": null,
              "slug": "cybersecurity-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Python",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "FastAPI",
          "alias_type": "CANONICAL",
          "id": 1022,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 4,
        "display_name": "FastAPI",
        "id": 682,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "fastapi",
        "sub_category_id": 52,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Inference Service Frameworks",
            "id": 114,
            "rationale": "Web and service frameworks used to expose model predictions through APIs and application endpoints. This cluster is coherent because MLEs often implement the runtime surface where requests enter and predictions leave the system.",
            "slug": "inference-service-frameworks",
            "source": "db"
          },
          "input_skill": "FastAPI",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Machine Learning Engineer",
              "id": 10,
              "rationale": null,
              "role_archetype": null,
              "slug": "machine-learning-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Web Service Frameworks",
            "id": 141,
            "rationale": "Server frameworks used to build HTTP APIs, route requests, validate inputs, and structure backend application code. This cluster is coherent because it defines how backend services expose behavior to clients and other services.",
            "slug": "web-service-frameworks",
            "source": "db"
          },
          "input_skill": "FastAPI",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Backend Engineer",
              "id": 14,
              "rationale": null,
              "role_archetype": null,
              "slug": "backend-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "FastAPI",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Model Serving Deployment and Runtime Packaging",
            "id": 52,
            "rationale": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers or managed inference runtimes, coordinating rollout, and handing off to inference systems. Covers serving frameworks and platforms such as TensorFlow Serving, TorchServe, Triton Inference Server, BentoML, KServe, and Seldon Core, plus container/runtime concerns like Docker images, GPU-enabled containers, base image selection, container entrypoints, runtime dependencies, and image scanning for model services.",
            "slug": "model-serving-deployment-and-runtime-packaging",
            "source": "db"
          },
          "input_skill": "MLOps",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "MLOps Engineer",
              "id": 5,
              "rationale": null,
              "role_archetype": null,
              "slug": "mlops-engineer",
              "source": "db"
            },
            {
              "display_name": "Machine Learning Engineer",
              "id": 10,
              "rationale": null,
              "role_archetype": null,
              "slug": "machine-learning-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Inference Data Pipelines",
            "id": 59,
            "rationale": "Operational data movement for batch scoring, feature refresh, and inference-time data preparation. This is separate from model training because it focuses on getting the right data to the serving path reliably.",
            "slug": "inference-data-pipelines",
            "source": "db"
          },
          "input_skill": "MLOps",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "MLOps Engineer",
              "id": 5,
              "rationale": null,
              "role_archetype": null,
              "slug": "mlops-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "MLOps",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Methodology",
          "skill_nature": "METHODOLOGY",
          "sub_category": "mlops",
          "typical_lifespan": "EVERGREEN",
          "version_strategy": "NOT_APPLICABLE",
          "volatility": "STABLE"
        },
        "enrichment": {
          "ambiguity": {
            "ambiguity_flag": false,
            "confused_with": [],
            "reasoning": "MLOps is a fairly specific, widely used term for machine-learning operations; in typical JDs it is unlikely to be mistaken for a different catalog skill."
          },
          "context_keywords": {
            "context_keywords": [
              "model registry",
              "feature store",
              "CI/CD",
              "model serving",
              "canary deployment",
              "A/B testing",
              "drift detection",
              "ML pipeline",
              "Kubeflow",
              "MLflow",
              "Docker",
              "Kubernetes",
              "artifact versioning",
              "monitoring",
              "rollback"
            ]
          },
          "maturity": {
            "confidence": 0.93,
            "maturity": "well_known",
            "reasoning": "MLOps appears in many recent job descriptions for ML/platform roles and is a standard practice in major cloud vendor docs (AWS SageMaker, Google Vertex AI, Azure ML), indicating broad adoption rather than niche use."
          },
          "skill_id": "mlops",
          "vendor_license": {
            "confidence": 0.99,
            "license": null,
            "vendor": null,
            "year_introduced": null
          },
          "versioning": {
            "current_version": null,
            "version_aliases": {},
            "versioned": false
          }
        },
        "keep_log": [],
        "locked_dimensions": [
          {
            "description": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers and managing runtime dependencies. MLOps belongs here because it often includes the release and operationalization side of the model lifecycle.",
            "exemplar_skills": [
              "MLOps",
              "model deployment",
              "model packaging",
              "containerized inference",
              "batch inference deployment",
              "model release automation"
            ],
            "in_scope": "MLOps, model packaging, containerizing model servers, deployment pipelines for models, online inference rollout, batch inference jobs, runtime dependencies, model version promotion, rollback of model releases",
            "name": "Model Serving Deployment and Runtime Packaging",
            "out_of_scope": "Training algorithms, feature engineering, and model selection, which belong to modeling and data science dimensions; general cloud infrastructure provisioning, which belongs to platform operations dimensions",
            "overlap_flags": [
              {
                "reason": "MLOps often coordinates batch scoring and feature refresh pipelines, which can overlap with inference-time data movement.",
                "with_dim_id": "inference-data-pipelines",
                "with_dim_name": null,
                "with_role": "MLOps Engineer"
              },
              {
                "reason": "Production model releases depend on environment-specific configuration and secrets management.",
                "with_dim_id": "configuration-and-environment-management",
                "with_dim_name": null,
                "with_role": "Azure Cloud Engineer"
              }
            ],
            "tentative_id": "model-serving-deployment-and-runtime-packaging"
          },
          {
            "description": "Operational data movement for batch scoring, feature refresh, and inference-time data preparation. MLOps overlaps here when it includes the data plumbing needed to feed deployed models reliably.",
            "exemplar_skills": [
              "MLOps",
              "batch scoring",
              "feature refresh",
              "inference preprocessing",
              "serving data validation",
              "scheduled model scoring"
            ],
            "in_scope": "MLOps, batch scoring pipelines, feature refresh jobs, inference-time preprocessing, data validation for serving inputs, scheduled scoring workflows, model input/output data movement",
            "name": "Inference Data Pipelines",
            "out_of_scope": "Model packaging and serving runtime concerns, which belong to model deployment dimensions; offline training data preparation and experimentation, which belong to modeling and experimentation dimensions",
            "overlap_flags": [
              {
                "reason": "Both dimensions touch production inference, but this one focuses on data movement while the other focuses on deployment/runtime packaging.",
                "with_dim_id": "model-serving-deployment-and-runtime-packaging",
                "with_dim_name": null,
                "with_role": "MLOps Engineer, Machine Learning Engineer"
              }
            ],
            "tentative_id": "inference-data-pipelines"
          }
        ],
        "merge_log": [],
        "placed": {
          "name": "MLOps",
          "placement_confidence": 0.92,
          "primary_dimension": "model-serving-deployment-and-runtime-packaging",
          "reasoning": "Deterministic JD placement: locked_dimensions has 2 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
          "secondary_dimensions": [
            "inference-data-pipelines"
          ],
          "skill_id": "mlops"
        },
        "relationships": {
          "child_skills": [],
          "parent_skills": [],
          "related_to": [
            "devops",
            "mlflow",
            "ml",
            "ai-ml",
            "ci-cd",
            "linux",
            "git",
            "runbooks",
            "sysdig-runtime"
          ],
          "requires": [],
          "skill_id": "mlops",
          "suppress_on_match": []
        },
        "skill_id": "mlops",
        "split_log": [],
        "typed": {
          "alternatives_considered": [],
          "confidence": 0.97,
          "name": "MLOps",
          "reasoning": "MLOps is fundamentally a way of working that combines machine learning and operations practices, so by the Concept vs Methodology rule it is a Methodology.",
          "skill_id": "mlops",
          "subtype": "mlops",
          "type": "Methodology"
        },
        "warnings": [
          "stage3_reconcile_failed: ValidationError: 1 validation error for ReconciliationDecision\nmerge_into_description\n  String should have at most 600 characters [type=string_too_long, input_value=\u0027Operational deployment o...structure provisioning.\u0027, input_type=str]\n    For further information visit https://errors.pydantic.dev/2.13/v/string_too_long"
        ]
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "MLflow",
          "alias_type": "CANONICAL",
          "id": 3593,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 11,
        "display_name": "MLflow",
        "id": 2640,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "mlflow",
        "sub_category_id": 2151,
        "typical_lifespan": "EVERGREEN",
        "volatility": "EMERGING"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Model Serving Deployment and Runtime Packaging",
            "id": 52,
            "rationale": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers or managed inference runtimes, coordinating rollout, and handing off to inference systems. Covers serving frameworks and platforms such as TensorFlow Serving, TorchServe, Triton Inference Server, BentoML, KServe, and Seldon Core, plus container/runtime concerns like Docker images, GPU-enabled containers, base image selection, container entrypoints, runtime dependencies, and image scanning for model services.",
            "slug": "model-serving-deployment-and-runtime-packaging",
            "source": "db"
          },
          "input_skill": "MLflow",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "MLOps Engineer",
              "id": 5,
              "rationale": null,
              "role_archetype": null,
              "slug": "mlops-engineer",
              "source": "db"
            },
            {
              "display_name": "Machine Learning Engineer",
              "id": 10,
              "rationale": null,
              "role_archetype": null,
              "slug": "machine-learning-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Project Delivery and Coordination",
            "id": 366,
            "rationale": "Coordination practices for organizing work, tracking progress, and aligning stakeholders across a delivery effort. Agile fits here when used as a team execution framework for managing scope, cadence, and collaboration.",
            "slug": "d_init_02",
            "source": "db"
          },
          "input_skill": "MLflow",
          "llm_role": null,
          "roles_from_db": []
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Version Control Systems",
            "id": 365,
            "rationale": "Tools and workflows for tracking source changes, branching, merging, and collaborating on code history. Git belongs here because it is the canonical distributed version control system used to manage revisions and coordinate team development.",
            "slug": "d_init_01",
            "source": "db"
          },
          "input_skill": "MLflow",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "MLflow",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "TensorFlow",
          "alias_type": "CANONICAL",
          "id": 862,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "TF1",
          "alias_type": "VERSION",
          "id": 863,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "TF2",
          "alias_type": "VERSION",
          "id": 864,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "TensorFlow 1",
          "alias_type": "VERSION",
          "id": 865,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "TensorFlow 1.x",
          "alias_type": "VERSION",
          "id": 867,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "TensorFlow 2",
          "alias_type": "VERSION",
          "id": 866,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "TensorFlow 2.x",
          "alias_type": "VERSION",
          "id": 868,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 6,
        "display_name": "TensorFlow",
        "id": 558,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LIBRARY",
        "slug": "tensorflow",
        "sub_category_id": 456,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Applied Machine Learning Toolkits",
            "id": 94,
            "rationale": "Libraries and frameworks used to prototype and compare models quickly. This dimension captures the concrete tooling layer beneath modeling methods and evaluation.",
            "slug": "applied-machine-learning-toolkits",
            "source": "db"
          },
          "input_skill": "TensorFlow",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Data Scientist",
              "id": 7,
              "rationale": null,
              "role_archetype": null,
              "slug": "data-scientist",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "TensorFlow",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "PyTorch",
          "alias_type": "CANONICAL",
          "id": 861,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 6,
        "display_name": "PyTorch",
        "id": 557,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LIBRARY",
        "slug": "pytorch",
        "sub_category_id": 456,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Applied Machine Learning Toolkits",
            "id": 94,
            "rationale": "Libraries and frameworks used to prototype and compare models quickly. This dimension captures the concrete tooling layer beneath modeling methods and evaluation.",
            "slug": "applied-machine-learning-toolkits",
            "source": "db"
          },
          "input_skill": "PyTorch",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Data Scientist",
              "id": 7,
              "rationale": null,
              "role_archetype": null,
              "slug": "data-scientist",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "PyTorch",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Model Serving Architecture",
            "id": 115,
            "rationale": "Patterns for hosting, routing, and scaling model inference in online or batch-serving applications. This covers how model calls are embedded into services, sidecars, gateways, or dedicated serving layers.",
            "slug": "model-serving-architecture",
            "source": "db"
          },
          "input_skill": "Ray",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Machine Learning Engineer",
              "id": 10,
              "rationale": null,
              "role_archetype": null,
              "slug": "machine-learning-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Ray",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Framework",
          "skill_nature": "FRAMEWORK",
          "sub_category": "distributed_computing_framework",
          "typical_lifespan": "EVERGREEN",
          "version_strategy": "NOT_APPLICABLE",
          "volatility": "EMERGING"
        },
        "enrichment": {
          "ambiguity": {
            "ambiguity_flag": true,
            "confused_with": [
              "apache_ray",
              "ray_casting"
            ],
            "reasoning": "\"Ray\" is overloaded in JDs: it can mean the distributed computing framework Apache Ray, but also ray casting/graphics or other ray-related terms. A reasonable extractor could confuse these in context-poor mentions."
          },
          "context_keywords": {
            "context_keywords": [
              "distributed training",
              "Ray Serve",
              "Ray Tune",
              "Ray Data",
              "Ray AIR",
              "actors",
              "task scheduling",
              "cluster autoscaling",
              "object store",
              "distributed execution",
              "parallel processing",
              "fault tolerance",
              "Kubernetes",
              "ML pipelines",
              "hyperparameter tuning"
            ]
          },
          "maturity": {
            "confidence": 0.84,
            "maturity": "emerging",
            "reasoning": "Ray appears in growing numbers of ML/platform job descriptions and is backed by strong GitHub activity, but it is still far less universal than Kubernetes/Spark in hiring pipelines."
          },
          "skill_id": "ray",
          "vendor_license": {
            "confidence": 0.97,
            "license": "apache_2",
            "vendor": "Anyscale",
            "year_introduced": 2017
          },
          "versioning": {
            "current_version": null,
            "version_aliases": {},
            "versioned": false
          }
        },
        "keep_log": [],
        "locked_dimensions": [
          {
            "description": "Frameworks and runtimes used to execute Python workloads across clusters for training, batch jobs, and inference. Ray belongs here because it provides distributed execution primitives, task scheduling, and scalable compute for ML and data workloads.",
            "exemplar_skills": [
              "Ray",
              "Ray Core",
              "Ray Serve",
              "distributed tasks",
              "actors",
              "Ray clusters",
              "Ray jobs",
              "autoscaling"
            ],
            "in_scope": "Ray, Ray Core, distributed tasks, actors, Ray clusters, Ray jobs, Ray Serve, autoscaling for Ray workloads, distributed Python execution, cluster scheduling",
            "name": "Distributed Model Serving Frameworks",
            "out_of_scope": "Model packaging and containerization for deployment, feature store design, online inference endpoint design, training algorithm selection, data preprocessing pipelines",
            "overlap_flags": [
              {
                "reason": "Ray can be used for asynchronous distributed execution, but this dimension is about compute orchestration rather than message brokers or event pipelines.",
                "with_dim_id": "messaging-and-event-streaming",
                "with_dim_name": null,
                "with_role": "Backend Engineer"
              },
              {
                "reason": "Ray is sometimes used in batch inference and data prep, but that dimension focuses on operational data movement rather than the execution framework itself.",
                "with_dim_id": "inference-data-pipelines",
                "with_dim_name": null,
                "with_role": "MLOps Engineer"
              }
            ],
            "tentative_id": "model-serving-architecture"
          }
        ],
        "merge_log": [],
        "placed": {
          "name": "Ray",
          "placement_confidence": 0.92,
          "primary_dimension": "model-serving-architecture",
          "reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
          "secondary_dimensions": [],
          "skill_id": "ray"
        },
        "relationships": {
          "child_skills": [],
          "parent_skills": [],
          "related_to": [
            "ai",
            "ml",
            "go",
            "rust",
            "azure",
            "pinecone",
            "react-native",
            "redshift",
            "git",
            "tls"
          ],
          "requires": [],
          "skill_id": "ray",
          "suppress_on_match": []
        },
        "skill_id": "ray",
        "split_log": [],
        "typed": {
          "alternatives_considered": [],
          "confidence": 0.9,
          "name": "Ray",
          "reasoning": "Ray is fundamentally a framework because users build distributed applications and workloads on top of it rather than merely operating it as standalone software.",
          "skill_id": "ray",
          "subtype": "distributed_computing_framework",
          "type": "Framework"
        },
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Kubeflow",
          "alias_type": "CANONICAL",
          "id": 3594,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubeflow 1.x",
          "alias_type": "VERSION",
          "id": 3595,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubeflow 2.x",
          "alias_type": "VERSION",
          "id": 3596,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubeflow v1",
          "alias_type": "VERSION",
          "id": 3597,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubeflow v2",
          "alias_type": "VERSION",
          "id": 3598,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 4,
        "display_name": "Kubeflow",
        "id": 2641,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "kubeflow",
        "sub_category_id": 2152,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Model Serving Deployment and Runtime Packaging",
            "id": 52,
            "rationale": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers or managed inference runtimes, coordinating rollout, and handing off to inference systems. Covers serving frameworks and platforms such as TensorFlow Serving, TorchServe, Triton Inference Server, BentoML, KServe, and Seldon Core, plus container/runtime concerns like Docker images, GPU-enabled containers, base image selection, container entrypoints, runtime dependencies, and image scanning for model services.",
            "slug": "model-serving-deployment-and-runtime-packaging",
            "source": "db"
          },
          "input_skill": "Kubeflow",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "MLOps Engineer",
              "id": 5,
              "rationale": null,
              "role_archetype": null,
              "slug": "mlops-engineer",
              "source": "db"
            },
            {
              "display_name": "Machine Learning Engineer",
              "id": 10,
              "rationale": null,
              "role_archetype": null,
              "slug": "machine-learning-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Version Control Systems",
            "id": 365,
            "rationale": "Tools and workflows for tracking source changes, branching, merging, and collaborating on code history. Git belongs here because it is the canonical distributed version control system used to manage revisions and coordinate team development.",
            "slug": "d_init_01",
            "source": "db"
          },
          "input_skill": "Kubeflow",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "Kubeflow",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Airflow",
          "alias_type": "CANONICAL",
          "id": 540,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 11,
        "display_name": "Airflow",
        "id": 325,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "airflow",
        "sub_category_id": 335,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Workflow Orchestration Systems",
            "id": 64,
            "rationale": "Operational orchestration of ML jobs, dependencies, and handoffs across training, validation, deployment, and retraining. This is a useful split from training pipelines because it emphasizes the scheduler and control plane.",
            "slug": "workflow-orchestration-systems",
            "source": "db"
          },
          "input_skill": "Airflow",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Data Engineer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "data-engineer",
              "source": "db"
            },
            {
              "display_name": "MLOps Engineer",
              "id": 5,
              "rationale": null,
              "role_archetype": null,
              "slug": "mlops-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Airflow",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Docker",
          "alias_type": "CANONICAL",
          "id": 299,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 11,
        "display_name": "Docker",
        "id": 153,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "docker",
        "sub_category_id": 170,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Containerization and Image Delivery",
            "id": 24,
            "rationale": "Builds, packages, and ships application and support workloads as container images. This cluster covers the artifact format and the mechanics of producing deployable images.",
            "slug": "containerization-and-image-delivery",
            "source": "db"
          },
          "input_skill": "Docker",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "DevOps Engineer",
              "id": 1,
              "rationale": null,
              "role_archetype": "A DevOps Engineer enables reliable, repeatable delivery of software by designing and operating the processes that connect development and production. They focus on improving deployment flow, operational stability, and collaboration between teams through automation, standardization, and monitoring of delivery and runtime practices.",
              "slug": "devops-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Model Serving Deployment and Runtime Packaging",
            "id": 52,
            "rationale": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers or managed inference runtimes, coordinating rollout, and handing off to inference systems. Covers serving frameworks and platforms such as TensorFlow Serving, TorchServe, Triton Inference Server, BentoML, KServe, and Seldon Core, plus container/runtime concerns like Docker images, GPU-enabled containers, base image selection, container entrypoints, runtime dependencies, and image scanning for model services.",
            "slug": "model-serving-deployment-and-runtime-packaging",
            "source": "db"
          },
          "input_skill": "Docker",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "MLOps Engineer",
              "id": 5,
              "rationale": null,
              "role_archetype": null,
              "slug": "mlops-engineer",
              "source": "db"
            },
            {
              "display_name": "Machine Learning Engineer",
              "id": 10,
              "rationale": null,
              "role_archetype": null,
              "slug": "machine-learning-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Docker",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Kubernetes",
          "alias_type": "CANONICAL",
          "id": 304,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.0",
          "alias_type": "VERSION",
          "id": 307,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.0+",
          "alias_type": "VERSION",
          "id": 2366,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.1",
          "alias_type": "VERSION",
          "id": 308,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.10",
          "alias_type": "VERSION",
          "id": 318,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.11",
          "alias_type": "VERSION",
          "id": 319,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.12",
          "alias_type": "VERSION",
          "id": 320,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.13",
          "alias_type": "VERSION",
          "id": 321,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.14",
          "alias_type": "VERSION",
          "id": 322,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.15",
          "alias_type": "VERSION",
          "id": 323,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.16",
          "alias_type": "VERSION",
          "id": 324,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.17",
          "alias_type": "VERSION",
          "id": 325,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.18",
          "alias_type": "VERSION",
          "id": 326,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.19",
          "alias_type": "VERSION",
          "id": 327,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.2",
          "alias_type": "VERSION",
          "id": 309,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.20",
          "alias_type": "VERSION",
          "id": 328,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.21",
          "alias_type": "VERSION",
          "id": 329,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.22",
          "alias_type": "VERSION",
          "id": 330,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.23",
          "alias_type": "VERSION",
          "id": 331,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.24",
          "alias_type": "VERSION",
          "id": 332,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.25",
          "alias_type": "VERSION",
          "id": 333,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.26",
          "alias_type": "VERSION",
          "id": 334,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.27",
          "alias_type": "VERSION",
          "id": 335,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.28",
          "alias_type": "VERSION",
          "id": 336,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.29",
          "alias_type": "VERSION",
          "id": 337,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.3",
          "alias_type": "VERSION",
          "id": 310,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.30",
          "alias_type": "VERSION",
          "id": 338,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.4",
          "alias_type": "VERSION",
          "id": 311,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.5",
          "alias_type": "VERSION",
          "id": 312,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.6",
          "alias_type": "VERSION",
          "id": 313,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.7",
          "alias_type": "VERSION",
          "id": 314,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.8",
          "alias_type": "VERSION",
          "id": 315,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.9",
          "alias_type": "VERSION",
          "id": 316,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes 1.x",
          "alias_type": "VERSION",
          "id": 317,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Kubernetes v1",
          "alias_type": "VERSION",
          "id": 306,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "k8s",
          "alias_type": "VERSION",
          "id": 305,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 13,
        "display_name": "Kubernetes",
        "id": 158,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PLATFORM",
        "slug": "kubernetes",
        "sub_category_id": 1524,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Orchestration Platforms",
            "id": 25,
            "rationale": "Operates the platforms that schedule and run containerized workloads and related deployment primitives. This is separate from image delivery because it concerns runtime placement and service rollout behavior.",
            "slug": "orchestration-platforms",
            "source": "db"
          },
          "input_skill": "Kubernetes",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Cloud Engineer",
              "id": 18,
              "rationale": null,
              "role_archetype": null,
              "slug": "cloud-engineer",
              "source": "db"
            },
            {
              "display_name": "DevOps Engineer",
              "id": 1,
              "rationale": null,
              "role_archetype": "A DevOps Engineer enables reliable, repeatable delivery of software by designing and operating the processes that connect development and production. They focus on improving deployment flow, operational stability, and collaboration between teams through automation, standardization, and monitoring of delivery and runtime practices.",
              "slug": "devops-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Kubernetes",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Microservices",
          "alias_type": "CANONICAL",
          "id": 1307,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 1,
        "display_name": "Microservices",
        "id": 864,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PATTERN",
        "slug": "microservices",
        "sub_category_id": 663,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Service Architecture and Integration",
            "id": 148,
            "rationale": "Patterns for structuring backend systems as services and coordinating calls across internal and external dependencies. This includes how services are decomposed, connected, and evolved safely.",
            "slug": "service-architecture-and-integration",
            "source": "db"
          },
          "input_skill": "Microservices",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Backend Engineer",
              "id": 14,
              "rationale": null,
              "role_archetype": null,
              "slug": "backend-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Microservices",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Version Control Systems",
            "id": 365,
            "rationale": "Tools and workflows for tracking source changes, branching, merging, and collaborating on code history. Git belongs here because it is the canonical distributed version control system used to manage revisions and coordinate team development.",
            "slug": "d_init_01",
            "source": "db"
          },
          "input_skill": "LakeFS",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "LakeFS",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Platform",
          "skill_nature": "PLATFORM",
          "sub_category": "data_versioning_platform",
          "typical_lifespan": "EVERGREEN",
          "version_strategy": "NOT_APPLICABLE",
          "volatility": "STABLE"
        },
        "enrichment": {
          "ambiguity": {
            "ambiguity_flag": false,
            "confused_with": [],
            "reasoning": "LakeFS is a distinctive product name for a data versioning platform; in typical JDs it is unlikely to be mistaken for another catalog skill."
          },
          "context_keywords": {
            "context_keywords": [
              "object storage",
              "S3",
              "bucket",
              "branching",
              "commit",
              "merge",
              "tagging",
              "data lake",
              "version control",
              "GitOps",
              "ETL",
              "data pipeline",
              "Apache Spark",
              "Delta Lake",
              "Iceberg"
            ]
          },
          "maturity": {
            "confidence": 0.86,
            "maturity": "niche",
            "reasoning": "LakeFS appears in a limited number of data-platform JDs and GitHub activity is far below mainstream tools like S3/Delta Lake; it\u2019s used in specialized data versioning stacks rather than broadly required."
          },
          "skill_id": "lakefs",
          "vendor_license": {
            "confidence": 0.97,
            "license": "apache_2",
            "vendor": "Treeverse",
            "year_introduced": 2020
          },
          "versioning": {
            "current_version": null,
            "version_aliases": {},
            "versioned": false
          }
        },
        "keep_log": [],
        "locked_dimensions": [
          {
            "description": "Covers versioned data repositories, branching, commits, and reproducible data workflows for analytics and ML. LakeFS belongs here because it provides Git-like version control semantics for object storage and data lakes.",
            "exemplar_skills": [
              "LakeFS",
              "data versioning",
              "dataset branching",
              "data lake governance",
              "reproducible data pipelines",
              "dataset rollback"
            ],
            "in_scope": "LakeFS, data versioning, branching and merging datasets, commits and tags for data, reproducible pipelines, dataset rollback, object-store-backed data lake governance",
            "name": "Data Versioning and Lakehouse Governance",
            "out_of_scope": "Query optimization for analytical tables, ETL transformation logic, model training pipelines, storage hardware administration, generic backup tooling",
            "overlap_flags": [
              {
                "reason": "LakeFS often integrates with cloud object stores and data platforms, but the core skill is versioning semantics rather than service integration.",
                "with_dim_id": "cloud-service-integration-patterns",
                "with_dim_name": null,
                "with_role": "Cloud Architect"
              },
              {
                "reason": "LakeFS may sit alongside analytical storage, but it does not primarily address query performance or table layout tuning.",
                "with_dim_id": "data-access-and-query-optimization",
                "with_dim_name": null,
                "with_role": "Data Engineer"
              }
            ],
            "tentative_id": "d_init_01"
          }
        ],
        "merge_log": [],
        "placed": {
          "name": "LakeFS",
          "placement_confidence": 0.92,
          "primary_dimension": "d_init_01",
          "reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
          "secondary_dimensions": [],
          "skill_id": "lakefs"
        },
        "relationships": {
          "child_skills": [],
          "parent_skills": [],
          "related_to": [
            "mlflow",
            "kubeflow",
            "storage-layout",
            "storage-layout-compatibility",
            "nfs-datastores",
            "vmfs",
            "iscsi",
            "fibre-channel",
            "nosql",
            "aws"
          ],
          "requires": [],
          "skill_id": "lakefs",
          "suppress_on_match": []
        },
        "skill_id": "lakefs",
        "split_log": [],
        "typed": {
          "alternatives_considered": [],
          "confidence": 0.9,
          "name": "LakeFS",
          "reasoning": "By the Platform vs Tool rule, LakeFS is a hosted multi-tenant data management environment with APIs for versioning object storage, so it fits Platform rather than a user-run tool.",
          "skill_id": "lakefs",
          "subtype": "data_versioning_platform",
          "type": "Platform"
        },
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Cloud Service Integration Patterns",
            "id": 188,
            "rationale": "Covers how cloud services and workloads connect through APIs, events, shared services, and integration boundaries. This cluster is coherent because architects must define interaction patterns that preserve decoupling, security, and operability.",
            "slug": "cloud-service-integration-patterns",
            "source": "db"
          },
          "input_skill": "MinIO",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Cloud Architect",
              "id": 11,
              "rationale": null,
              "role_archetype": null,
              "slug": "cloud-architect",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Version Control Systems",
            "id": 365,
            "rationale": "Tools and workflows for tracking source changes, branching, merging, and collaborating on code history. Git belongs here because it is the canonical distributed version control system used to manage revisions and coordinate team development.",
            "slug": "d_init_01",
            "source": "db"
          },
          "input_skill": "MinIO",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "MinIO",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Datastore",
          "skill_nature": "TOOL",
          "sub_category": "object_storage_datastore",
          "typical_lifespan": "EVERGREEN",
          "version_strategy": "NOT_APPLICABLE",
          "volatility": "EMERGING"
        },
        "enrichment": {
          "ambiguity": {
            "ambiguity_flag": false,
            "confused_with": [],
            "reasoning": "MinIO is a specific object storage product name and is usually unambiguous in JDs; it is unlikely to be mistaken for another catalog skill in typical hiring context."
          },
          "context_keywords": {
            "context_keywords": [
              "S3-compatible",
              "object storage",
              "bucket",
              "bucket policy",
              "presigned URL",
              "replication",
              "erasure coding",
              "distributed storage",
              "tenant",
              "gateway mode",
              "IAM",
              "access key",
              "secret key",
              "versioning",
              "lifecycle policy"
            ]
          },
          "maturity": {
            "confidence": 0.78,
            "maturity": "emerging",
            "reasoning": "MinIO appears in cloud/storage job postings and is growing in GitHub adoption, but it is far less universal than AWS S3 or PostgreSQL in hiring pipelines."
          },
          "skill_id": "minio",
          "vendor_license": {
            "confidence": 0.98,
            "license": "apache_2",
            "vendor": "MinIO, Inc.",
            "year_introduced": 2014
          },
          "versioning": {
            "current_version": null,
            "version_aliases": {},
            "versioned": false
          }
        },
        "keep_log": [
          {
            "a_dim_id": "d_init_01",
            "a_name": "Object Storage Systems",
            "a_role": "__skill_focal__",
            "b_dim_id": "cloud-service-integration-patterns",
            "b_name": "Cloud Service Integration Patterns",
            "b_role": "__skill_focal__",
            "pair_kind": "intra_role",
            "reasoning": "Dim A is a specific storage-platform cluster: it centers on S3-compatible object storage, with exemplars like MinIO, multipart upload, object versioning, erasure coding, and bucket lifecycle management. Dim B is broader integration architecture: APIs, events, shared services, and boundaries that preserve decoupling and operability. Those skills are different; B is about how cloud services connect, while A is about how object data is stored and served. The overlap is only that object storage can be one integrated service.",
            "similarity": 0.6876623606895026
          }
        ],
        "locked_dimensions": [
          {
            "description": "Patterns for connecting applications and workloads to cloud services across APIs, events, shared services, and service boundaries. Includes object storage and S3-compatible integrations such as MinIO, object storage endpoints, application uploads, signed URL workflows, service-to-service storage access, cloud storage abstraction, and cross-service data exchange, with attention to decoupling, security, and operability.",
            "exemplar_skills": [
              "Cloud Service Integration Patterns"
            ],
            "in_scope": "Skills, tools, and practices that belong under Cloud Service Integration Patterns for the target role, including items implied by the dimension rationale.",
            "name": "Cloud Service Integration Patterns",
            "out_of_scope": "Adjacent clusters explicitly not owned by Cloud Service Integration Patterns, including unrelated platforms, roles, and skill families per library policy.",
            "overlap_flags": [],
            "tentative_id": "d_merge_01"
          },
          {
            "description": "Systems and platforms for storing and serving unstructured objects via S3-compatible or similar APIs. MinIO belongs here because it is an object storage server used for durable blob storage, access control, and high-throughput retrieval.",
            "exemplar_skills": [
              "MinIO",
              "S3-compatible object storage",
              "object storage architecture",
              "bucket lifecycle management",
              "multipart upload",
              "object versioning",
              "erasure coding"
            ],
            "in_scope": "MinIO, S3-compatible object storage, buckets and objects, object versioning, erasure coding, replication, access policies, presigned URLs, multipart upload, lifecycle rules, object locking",
            "name": "Object Storage Systems",
            "out_of_scope": "Block storage volumes, file shares, database storage engines, backup software that only writes to object storage, CDN delivery and edge caching",
            "overlap_flags": [
              {
                "reason": "Object storage is often integrated as a cloud service boundary, but this dimension owns the storage platform itself rather than integration patterns.",
                "with_dim_id": "cloud-service-integration-patterns",
                "with_dim_name": null,
                "with_role": "Cloud Architect"
              },
              {
                "reason": "MinIO depends on underlying disks and storage hardware, but it is a software storage system rather than physical storage infrastructure.",
                "with_dim_id": "storage-hardware-and-firmware",
                "with_dim_name": null,
                "with_role": "Storage Engineer"
              }
            ],
            "tentative_id": "d_init_01"
          }
        ],
        "merge_log": [
          {
            "a_dim_id": "cloud-service-integration-patterns",
            "a_name": "Cloud Service Integration Patterns",
            "a_role": "__skill_focal__",
            "b_dim_id": "cloud-service-integration-patterns",
            "b_name": "Cloud Service Integration Patterns",
            "b_role": "Cloud Architect",
            "into": "d_merge_01",
            "into_name": "Cloud Service Integration Patterns",
            "merged_from": [
              "cloud-service-integration-patterns",
              "cloud-service-integration-patterns"
            ],
            "pair_kind": "cross_role",
            "reasoning": "Both dims describe the same cluster: integrating applications/workloads with cloud services across APIs and boundaries. Dim A focuses on object-storage integration specifics like MinIO, S3 API integration, signed URL workflows, and service-to-service storage access. Dim B frames the same work more broadly for architects, covering APIs, events, shared services, and decoupling/operability. A\u2019s exemplars are concrete instances of B\u2019s pattern language, so this is one conceptual cluster.",
            "similarity": 0.7177353501860135
          }
        ],
        "placed": {
          "name": "MinIO",
          "placement_confidence": 0.92,
          "primary_dimension": "d_merge_01",
          "reasoning": "Deterministic JD placement: locked_dimensions has 2 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
          "secondary_dimensions": [
            "d_init_01"
          ],
          "skill_id": "minio"
        },
        "relationships": {
          "child_skills": [],
          "parent_skills": [],
          "related_to": [
            "nosql",
            "iscsi",
            "microsoft-azure",
            "infura",
            "cloudwatch",
            "amazon-athena",
            "aws-lambda",
            "elasticsearch",
            "ec2",
            "opensearch"
          ],
          "requires": [],
          "skill_id": "minio",
          "suppress_on_match": []
        },
        "skill_id": "minio",
        "split_log": [],
        "typed": {
          "alternatives_considered": [],
          "confidence": 0.9,
          "name": "MinIO",
          "reasoning": "MinIO is fundamentally an S3-compatible object storage system that persists data, so by the Datastore vs Format rule it is a Datastore rather than a Tool or Platform.",
          "skill_id": "minio",
          "subtype": "object_storage_datastore",
          "type": "Datastore"
        },
        "warnings": [
          "stage3_post_filter_dropped_catalog_only_locked_dims:41-\u003e2"
        ]
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "NATS",
          "alias_type": "CANONICAL",
          "id": 1300,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 11,
        "display_name": "NATS",
        "id": 857,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "nats",
        "sub_category_id": 744,
        "typical_lifespan": "EVERGREEN",
        "volatility": "EMERGING"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Messaging and Event Streaming",
            "id": 146,
            "rationale": "Asynchronous communication patterns and systems for decoupled service interaction and background processing. This is a coherent backend cluster because many server-side workflows depend on queues, topics, and event streams.",
            "slug": "messaging-and-event-streaming",
            "source": "db"
          },
          "input_skill": "NATS",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Backend Engineer",
              "id": 14,
              "rationale": null,
              "role_archetype": null,
              "slug": "backend-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "NATS",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "RBAC",
          "alias_type": "CANONICAL",
          "id": 401,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "RBAC",
        "id": 202,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "rbac",
        "sub_category_id": 1261,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Authentication and Authorization",
            "id": 147,
            "rationale": "Identity, session, and access-control mechanisms used to protect backend endpoints and service actions. This cluster is coherent because backend engineers often implement the server-side enforcement of who can do what.",
            "slug": "authentication-and-authorization",
            "source": "db"
          },
          "input_skill": "RBAC",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Backend Engineer",
              "id": 14,
              "rationale": null,
              "role_archetype": null,
              "slug": "backend-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Data Governance and Access Control",
            "id": 77,
            "rationale": "Controls for sharing data safely across teams and environments. This includes permissions, masking, row-level security, and stewardship practices that keep data usable without exposing sensitive content.",
            "slug": "data-governance-and-access-control",
            "source": "db"
          },
          "input_skill": "RBAC",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Data Engineer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "data-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Secrets and Access Automation",
            "id": 33,
            "rationale": "Automates secure handling of credentials, tokens, and access paths used by delivery systems and runtime environments. It is coherent because release tooling frequently needs controlled access to protected resources.",
            "slug": "secrets-and-access-automation",
            "source": "db"
          },
          "input_skill": "RBAC",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "DevOps Engineer",
              "id": 1,
              "rationale": null,
              "role_archetype": "A DevOps Engineer enables reliable, repeatable delivery of software by designing and operating the processes that connect development and production. They focus on improving deployment flow, operational stability, and collaboration between teams through automation, standardization, and monitoring of delivery and runtime practices.",
              "slug": "devops-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Secrets and Key Management",
            "id": 39,
            "rationale": "Manages Azure-native secret, key, and certificate storage used by cloud environments and supporting services. This cluster is distinct because secure credential handling is operationally critical and often integrated with platform access.",
            "slug": "secrets-and-key-management",
            "source": "db"
          },
          "input_skill": "RBAC",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Azure Cloud Engineer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "azure-cloud-engineer",
              "source": "db"
            },
            {
              "display_name": "Cloud Engineer",
              "id": 18,
              "rationale": null,
              "role_archetype": null,
              "slug": "cloud-engineer",
              "source": "db"
            },
            {
              "display_name": "Cybersecurity Engineer",
              "id": 9,
              "rationale": null,
              "role_archetype": null,
              "slug": "cybersecurity-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "RBAC",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": null,
            "display_name": "Authentication, Federation, and Session Security",
            "id": null,
            "rationale": "Covers verifying user or service identity and protecting the resulting session state across applications and services. Includes login flows, password-based sign-in, MFA, SSO, OAuth2, OpenID Connect, SAML, JWT validation, token issuance and validation, session cookies, refresh tokens, federation, and identity provider integration. Focuses on the security properties of identity protocols and session handling rather than authorization, access governance, or unrelated security controls.",
            "slug": "d_merge_01",
            "source": "llm"
          },
          "input_skill": "Authentication",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "Authentication",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Concept",
          "skill_nature": "CONCEPT",
          "sub_category": "authentication",
          "typical_lifespan": "EVERGREEN",
          "version_strategy": "NOT_APPLICABLE",
          "volatility": "STABLE"
        },
        "enrichment": {
          "ambiguity": {
            "ambiguity_flag": false,
            "confused_with": [],
            "reasoning": "Authentication is a standard, well-scoped security concept in JDs and is unlikely to be confused with a different catalog skill in typical usage."
          },
          "context_keywords": {
            "context_keywords": [
              "OAuth 2.0",
              "OpenID Connect",
              "SAML",
              "JWT",
              "SSO",
              "MFA",
              "2FA",
              "session management",
              "identity provider",
              "access token",
              "refresh token",
              "authorization code",
              "passwordless",
              "LDAP",
              "federated login"
            ]
          },
          "maturity": {
            "confidence": 0.96,
            "maturity": "well_known",
            "reasoning": "Authentication appears in most software/security job descriptions and is a core requirement across web, mobile, and cloud systems; it\u2019s a standard hiring-pipeline topic rather than a niche tool."
          },
          "skill_id": "authentication",
          "vendor_license": {
            "confidence": 0.99,
            "license": null,
            "vendor": null,
            "year_introduced": null
          },
          "versioning": {
            "current_version": null,
            "version_aliases": {},
            "versioned": false
          }
        },
        "keep_log": [],
        "locked_dimensions": [
          {
            "description": "Covers verifying user or service identity and protecting the resulting session state across applications and services. Includes login flows, password-based sign-in, MFA, SSO, OAuth2, OpenID Connect, SAML, JWT validation, token issuance and validation, session cookies, refresh tokens, federation, and identity provider integration. Focuses on the security properties of identity protocols and session handling rather than authorization, access governance, or unrelated security controls.",
            "exemplar_skills": [
              "Authentication, Federation, and Session Security"
            ],
            "in_scope": "Skills, tools, and practices that belong under Authentication, Federation, and Session Security for the target role, including items implied by the dimension rationale.",
            "name": "Authentication, Federation, and Session Security",
            "out_of_scope": "Adjacent clusters explicitly not owned by Authentication, Federation, and Session Security, including unrelated platforms, roles, and skill families per library policy.",
            "overlap_flags": [],
            "tentative_id": "d_merge_01"
          }
        ],
        "merge_log": [
          {
            "a_dim_id": "authentication-and-session-security",
            "a_name": "Authentication and Session Security",
            "a_role": "__skill_focal__",
            "b_dim_id": "authentication-and-session-security",
            "b_name": "Authentication and Session Security",
            "b_role": "Cybersecurity Engineer",
            "into": "d_merge_01",
            "into_name": "Authentication, Federation, and Session Security",
            "merged_from": [
              "authentication-and-session-security",
              "authentication-and-session-security"
            ],
            "pair_kind": "cross_role",
            "reasoning": "Both dimensions describe the same conceptual cluster: securing identity verification and the resulting session state. Dim A explicitly includes login flows, token issuance/validation, federation, identity provider integration, and exemplars like Authentication, Single sign-on, OAuth 2.0, OpenID Connect, SAML, JWT validation, Multi-factor authentication, and Session management. Dim B uses nearly identical language\u2014\"securing login, token, session, and federation flows across applications and services\"\u2014and its focus on identity protocol security and session handling matches Dim A\u2019s scope exactly. The only difference is wording and role label, not substance, so the overlap is not a broad-area false positive but a true duplicate cluster.",
            "similarity": 0.8124853867316667
          }
        ],
        "placed": {
          "name": "Authentication",
          "placement_confidence": 0.92,
          "primary_dimension": "d_merge_01",
          "reasoning": "Deterministic JD placement: locked_dimensions has 1 dimension(s) from skill-driven dimension generation after reconciliation; primary_dimension is the first locked dim.",
          "secondary_dimensions": [],
          "skill_id": "authentication"
        },
        "relationships": {
          "child_skills": [],
          "parent_skills": [],
          "related_to": [
            "sign-in-with-ethereum",
            "tls",
            "azure-ad",
            "digital-signatures",
            "ocsp-validation",
            "nonce-handling",
            "azure-ad-conditional-access",
            "firewalls",
            "git",
            "staking"
          ],
          "requires": [],
          "skill_id": "authentication",
          "suppress_on_match": []
        },
        "skill_id": "authentication",
        "split_log": [],
        "typed": {
          "alternatives_considered": [],
          "confidence": 0.96,
          "name": "Authentication",
          "reasoning": "Authentication is a named knowledge unit about verifying identity, so by the Concept vs Methodology rule it is a Concept rather than a tool, protocol, or standard.",
          "skill_id": "authentication",
          "subtype": "authentication",
          "type": "Concept"
        },
        "warnings": [
          "stage3_post_filter_dropped_catalog_only_locked_dims:40-\u003e1"
        ]
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    }
  ],
  "unmatched_skills": [
    "MLOps",
    "Ray",
    "LakeFS",
    "MinIO",
    "Authentication"
  ]
}
API 3 — final-role-output
{
  "chosen_role": {
    "display_name": "Machine Learning Engineer",
    "id": 10,
    "rationale": "This role heavily involves Python and FastAPI, which are primary skills required for this position.",
    "role_archetype": null,
    "slug": "machine-learning-engineer",
    "source": "db"
  },
  "chosen_role_resolution": "in_db",
  "final_input_skills": [
    {
      "skill": "Python",
      "tag": "in_db"
    },
    {
      "skill": "FastAPI",
      "tag": "in_db"
    },
    {
      "skill": "MLOps",
      "tag": "new"
    },
    {
      "skill": "MLflow",
      "tag": "in_db"
    },
    {
      "skill": "TensorFlow",
      "tag": "in_db"
    },
    {
      "skill": "PyTorch",
      "tag": "in_db"
    },
    {
      "skill": "Ray",
      "tag": "new"
    },
    {
      "skill": "Kubeflow",
      "tag": "in_db"
    },
    {
      "skill": "Airflow",
      "tag": "in_db"
    },
    {
      "skill": "Docker",
      "tag": "in_db"
    },
    {
      "skill": "Kubernetes",
      "tag": "in_db"
    },
    {
      "skill": "Microservices",
      "tag": "in_db"
    },
    {
      "skill": "LakeFS",
      "tag": "new"
    },
    {
      "skill": "MinIO",
      "tag": "new"
    },
    {
      "skill": "NATS",
      "tag": "in_db"
    },
    {
      "skill": "RBAC",
      "tag": "in_db"
    },
    {
      "skill": "Authentication",
      "tag": "new"
    }
  ],
  "persistence": {
    "items": [
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Analytical Programming Languages",
          "id": 82,
          "rationale": "Languages used to clean, transform, analyze, and prototype models in notebooks and scripts. This is the core coding surface for expressing statistical logic and data manipulation in a reproducible way.",
          "slug": "analytical-programming-languages",
          "source": "db"
        },
        "dimension_id": 82,
        "input_skill": "Python",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Data Analyst",
            "id": 20,
            "rationale": null,
            "role_archetype": null,
            "slug": "data-analyst",
            "source": "db"
          },
          {
            "display_name": "Data Scientist",
            "id": 7,
            "rationale": null,
            "role_archetype": null,
            "slug": "data-scientist",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 393,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Automation Scripting and CLI",
          "id": 48,
          "rationale": "Uses scripts and command-line tooling to execute repeatable Azure operations and reduce manual work. This is a practical cluster because the role frequently automates provisioning, checks, and remediation tasks.",
          "slug": "automation-scripting-and-cli",
          "source": "db"
        },
        "dimension_id": 48,
        "input_skill": "Python",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Azure Cloud Engineer",
            "id": 4,
            "rationale": null,
            "role_archetype": null,
            "slug": "azure-cloud-engineer",
            "source": "db"
          },
          {
            "display_name": "Cloud Engineer",
            "id": 18,
            "rationale": null,
            "role_archetype": null,
            "slug": "cloud-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 393,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Automation and Scripting for Operations",
          "id": 361,
          "rationale": "Scripts and lightweight automation used to execute repetitive virtualization tasks and enforce operational consistency. This is the practical glue that reduces manual host and VM administration.",
          "slug": "automation-and-scripting-for-operations",
          "source": "db"
        },
        "dimension_id": 361,
        "input_skill": "Python",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Virtualization Engineer",
            "id": 26,
            "rationale": null,
            "role_archetype": null,
            "slug": "virtualization-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 393,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Network Automation and Scripting",
          "id": 285,
          "rationale": "Covers scripts and automation used to configure, validate, and audit network devices and services. This cluster is coherent because repeatable network operations increasingly depend on programmatic changes and checks.",
          "slug": "network-automation-and-scripting",
          "source": "db"
        },
        "dimension_id": 285,
        "input_skill": "Python",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Network Engineer",
            "id": 21,
            "rationale": null,
            "role_archetype": null,
            "slug": "network-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 393,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Programming Languages for AI Workflows",
          "id": 261,
          "rationale": "Languages used to implement AI feature logic, orchestration, and response handling inside product code. This is the core coding surface for turning prompts and model calls into reliable application behavior.",
          "slug": "programming-languages-for-ai-workflows",
          "source": "db"
        },
        "dimension_id": 261,
        "input_skill": "Python",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "AI Engineer",
            "id": 12,
            "rationale": null,
            "role_archetype": null,
            "slug": "ai-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 393,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Programming Languages for Backend Systems",
          "id": 140,
          "rationale": "Languages used to implement server-side business logic, request handlers, workers, and service integrations. This is the core coding surface for backend feature delivery and maintenance.",
          "slug": "programming-languages-for-backend-systems",
          "source": "db"
        },
        "dimension_id": 140,
        "input_skill": "Python",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Backend Engineer",
            "id": 14,
            "rationale": null,
            "role_archetype": null,
            "slug": "backend-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 393,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Programming Languages for Data Work",
          "id": 67,
          "rationale": "Languages used to implement data pipelines, transformations, and operational utilities. This is the code layer for expressing extraction, parsing, validation, and orchestration logic in data engineering workflows.",
          "slug": "programming-languages-for-data-work",
          "source": "db"
        },
        "dimension_id": 67,
        "input_skill": "Python",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Data Engineer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "data-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 393,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Programming Languages for ML Systems",
          "id": 113,
          "rationale": "Languages used to implement model integration code, inference services, and feature-processing logic. This is the core coding surface for turning trained models into product-facing software components.",
          "slug": "programming-languages-for-ml-systems",
          "source": "db"
        },
        "dimension_id": 113,
        "input_skill": "Python",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
        "role_dimension_saved": true,
        "roles_from_db": [
          {
            "display_name": "Machine Learning Engineer",
            "id": 10,
            "rationale": null,
            "role_archetype": null,
            "slug": "machine-learning-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 393,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Programming Languages for Security Work",
          "id": 328,
          "rationale": "Languages used to automate security tasks, write detection logic, and build analysis or remediation tooling. This is the core coding surface for a cybersecurity engineer across scripts, queries, and small utilities.",
          "slug": "programming-languages-for-security-work",
          "source": "db"
        },
        "dimension_id": 328,
        "input_skill": "Python",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Cybersecurity Engineer",
            "id": 9,
            "rationale": null,
            "role_archetype": null,
            "slug": "cybersecurity-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 393,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Programming Languages for Test Automation",
          "id": 193,
          "rationale": "Languages used to implement automated checks, helper utilities, and test harness code. This is the core coding surface for turning test ideas into maintainable automation.",
          "slug": "programming-languages-for-test-automation",
          "source": "db"
        },
        "dimension_id": 193,
        "input_skill": "Python",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Automation Tester",
            "id": 16,
            "rationale": null,
            "role_archetype": null,
            "slug": "automation-tester",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 393,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Security Automation and Scripting",
          "id": 258,
          "rationale": "Automating repeatable security checks, enrichment, and remediation workflows. This cluster is coherent because the role often needs lightweight automation to scale analysis and response.",
          "slug": "security-automation-and-scripting",
          "source": "db"
        },
        "dimension_id": 258,
        "input_skill": "Python",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Cybersecurity Engineer",
            "id": 9,
            "rationale": null,
            "role_archetype": null,
            "slug": "cybersecurity-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 393,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Inference Service Frameworks",
          "id": 114,
          "rationale": "Web and service frameworks used to expose model predictions through APIs and application endpoints. This cluster is coherent because MLEs often implement the runtime surface where requests enter and predictions leave the system.",
          "slug": "inference-service-frameworks",
          "source": "db"
        },
        "dimension_id": 114,
        "input_skill": "FastAPI",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
        "role_dimension_saved": true,
        "roles_from_db": [
          {
            "display_name": "Machine Learning Engineer",
            "id": 10,
            "rationale": null,
            "role_archetype": null,
            "slug": "machine-learning-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 682,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Web Service Frameworks",
          "id": 141,
          "rationale": "Server frameworks used to build HTTP APIs, route requests, validate inputs, and structure backend application code. This cluster is coherent because it defines how backend services expose behavior to clients and other services.",
          "slug": "web-service-frameworks",
          "source": "db"
        },
        "dimension_id": 141,
        "input_skill": "FastAPI",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Backend Engineer",
            "id": 14,
            "rationale": null,
            "role_archetype": null,
            "slug": "backend-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 682,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Model Serving Deployment and Runtime Packaging",
          "id": 52,
          "rationale": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers or managed inference runtimes, coordinating rollout, and handing off to inference systems. Covers serving frameworks and platforms such as TensorFlow Serving, TorchServe, Triton Inference Server, BentoML, KServe, and Seldon Core, plus container/runtime concerns like Docker images, GPU-enabled containers, base image selection, container entrypoints, runtime dependencies, and image scanning for model services.",
          "slug": "model-serving-deployment-and-runtime-packaging",
          "source": "db"
        },
        "dimension_id": 52,
        "input_skill": "MLflow",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
        "role_dimension_saved": true,
        "roles_from_db": [
          {
            "display_name": "MLOps Engineer",
            "id": 5,
            "rationale": null,
            "role_archetype": null,
            "slug": "mlops-engineer",
            "source": "db"
          },
          {
            "display_name": "Machine Learning Engineer",
            "id": 10,
            "rationale": null,
            "role_archetype": null,
            "slug": "machine-learning-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2640,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Project Delivery and Coordination",
          "id": 366,
          "rationale": "Coordination practices for organizing work, tracking progress, and aligning stakeholders across a delivery effort. Agile fits here when used as a team execution framework for managing scope, cadence, and collaboration.",
          "slug": "d_init_02",
          "source": "db"
        },
        "dimension_id": 366,
        "input_skill": "MLflow",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [],
        "skill_dimension_saved": true,
        "skill_id": 2640,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Version Control Systems",
          "id": 365,
          "rationale": "Tools and workflows for tracking source changes, branching, merging, and collaborating on code history. Git belongs here because it is the canonical distributed version control system used to manage revisions and coordinate team development.",
          "slug": "d_init_01",
          "source": "db"
        },
        "dimension_id": 365,
        "input_skill": "MLflow",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [],
        "skill_dimension_saved": true,
        "skill_id": 2640,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Applied Machine Learning Toolkits",
          "id": 94,
          "rationale": "Libraries and frameworks used to prototype and compare models quickly. This dimension captures the concrete tooling layer beneath modeling methods and evaluation.",
          "slug": "applied-machine-learning-toolkits",
          "source": "db"
        },
        "dimension_id": 94,
        "input_skill": "TensorFlow",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Data Scientist",
            "id": 7,
            "rationale": null,
            "role_archetype": null,
            "slug": "data-scientist",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 558,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Applied Machine Learning Toolkits",
          "id": 94,
          "rationale": "Libraries and frameworks used to prototype and compare models quickly. This dimension captures the concrete tooling layer beneath modeling methods and evaluation.",
          "slug": "applied-machine-learning-toolkits",
          "source": "db"
        },
        "dimension_id": 94,
        "input_skill": "PyTorch",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Data Scientist",
            "id": 7,
            "rationale": null,
            "role_archetype": null,
            "slug": "data-scientist",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 557,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Model Serving Deployment and Runtime Packaging",
          "id": 52,
          "rationale": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers or managed inference runtimes, coordinating rollout, and handing off to inference systems. Covers serving frameworks and platforms such as TensorFlow Serving, TorchServe, Triton Inference Server, BentoML, KServe, and Seldon Core, plus container/runtime concerns like Docker images, GPU-enabled containers, base image selection, container entrypoints, runtime dependencies, and image scanning for model services.",
          "slug": "model-serving-deployment-and-runtime-packaging",
          "source": "db"
        },
        "dimension_id": 52,
        "input_skill": "Kubeflow",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
        "role_dimension_saved": true,
        "roles_from_db": [
          {
            "display_name": "MLOps Engineer",
            "id": 5,
            "rationale": null,
            "role_archetype": null,
            "slug": "mlops-engineer",
            "source": "db"
          },
          {
            "display_name": "Machine Learning Engineer",
            "id": 10,
            "rationale": null,
            "role_archetype": null,
            "slug": "machine-learning-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2641,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Version Control Systems",
          "id": 365,
          "rationale": "Tools and workflows for tracking source changes, branching, merging, and collaborating on code history. Git belongs here because it is the canonical distributed version control system used to manage revisions and coordinate team development.",
          "slug": "d_init_01",
          "source": "db"
        },
        "dimension_id": 365,
        "input_skill": "Kubeflow",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [],
        "skill_dimension_saved": true,
        "skill_id": 2641,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Workflow Orchestration Systems",
          "id": 64,
          "rationale": "Operational orchestration of ML jobs, dependencies, and handoffs across training, validation, deployment, and retraining. This is a useful split from training pipelines because it emphasizes the scheduler and control plane.",
          "slug": "workflow-orchestration-systems",
          "source": "db"
        },
        "dimension_id": 64,
        "input_skill": "Airflow",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Data Engineer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "data-engineer",
            "source": "db"
          },
          {
            "display_name": "MLOps Engineer",
            "id": 5,
            "rationale": null,
            "role_archetype": null,
            "slug": "mlops-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 325,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Containerization and Image Delivery",
          "id": 24,
          "rationale": "Builds, packages, and ships application and support workloads as container images. This cluster covers the artifact format and the mechanics of producing deployable images.",
          "slug": "containerization-and-image-delivery",
          "source": "db"
        },
        "dimension_id": 24,
        "input_skill": "Docker",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "DevOps Engineer",
            "id": 1,
            "rationale": null,
            "role_archetype": "A DevOps Engineer enables reliable, repeatable delivery of software by designing and operating the processes that connect development and production. They focus on improving deployment flow, operational stability, and collaboration between teams through automation, standardization, and monitoring of delivery and runtime practices.",
            "slug": "devops-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 153,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Model Serving Deployment and Runtime Packaging",
          "id": 52,
          "rationale": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers or managed inference runtimes, coordinating rollout, and handing off to inference systems. Covers serving frameworks and platforms such as TensorFlow Serving, TorchServe, Triton Inference Server, BentoML, KServe, and Seldon Core, plus container/runtime concerns like Docker images, GPU-enabled containers, base image selection, container entrypoints, runtime dependencies, and image scanning for model services.",
          "slug": "model-serving-deployment-and-runtime-packaging",
          "source": "db"
        },
        "dimension_id": 52,
        "input_skill": "Docker",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
        "role_dimension_saved": true,
        "roles_from_db": [
          {
            "display_name": "MLOps Engineer",
            "id": 5,
            "rationale": null,
            "role_archetype": null,
            "slug": "mlops-engineer",
            "source": "db"
          },
          {
            "display_name": "Machine Learning Engineer",
            "id": 10,
            "rationale": null,
            "role_archetype": null,
            "slug": "machine-learning-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 153,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Orchestration Platforms",
          "id": 25,
          "rationale": "Operates the platforms that schedule and run containerized workloads and related deployment primitives. This is separate from image delivery because it concerns runtime placement and service rollout behavior.",
          "slug": "orchestration-platforms",
          "source": "db"
        },
        "dimension_id": 25,
        "input_skill": "Kubernetes",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Cloud Engineer",
            "id": 18,
            "rationale": null,
            "role_archetype": null,
            "slug": "cloud-engineer",
            "source": "db"
          },
          {
            "display_name": "DevOps Engineer",
            "id": 1,
            "rationale": null,
            "role_archetype": "A DevOps Engineer enables reliable, repeatable delivery of software by designing and operating the processes that connect development and production. They focus on improving deployment flow, operational stability, and collaboration between teams through automation, standardization, and monitoring of delivery and runtime practices.",
            "slug": "devops-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 158,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Service Architecture and Integration",
          "id": 148,
          "rationale": "Patterns for structuring backend systems as services and coordinating calls across internal and external dependencies. This includes how services are decomposed, connected, and evolved safely.",
          "slug": "service-architecture-and-integration",
          "source": "db"
        },
        "dimension_id": 148,
        "input_skill": "Microservices",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Backend Engineer",
            "id": 14,
            "rationale": null,
            "role_archetype": null,
            "slug": "backend-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 864,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Messaging and Event Streaming",
          "id": 146,
          "rationale": "Asynchronous communication patterns and systems for decoupled service interaction and background processing. This is a coherent backend cluster because many server-side workflows depend on queues, topics, and event streams.",
          "slug": "messaging-and-event-streaming",
          "source": "db"
        },
        "dimension_id": 146,
        "input_skill": "NATS",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Backend Engineer",
            "id": 14,
            "rationale": null,
            "role_archetype": null,
            "slug": "backend-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 857,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Authentication and Authorization",
          "id": 147,
          "rationale": "Identity, session, and access-control mechanisms used to protect backend endpoints and service actions. This cluster is coherent because backend engineers often implement the server-side enforcement of who can do what.",
          "slug": "authentication-and-authorization",
          "source": "db"
        },
        "dimension_id": 147,
        "input_skill": "RBAC",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Backend Engineer",
            "id": 14,
            "rationale": null,
            "role_archetype": null,
            "slug": "backend-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 202,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Data Governance and Access Control",
          "id": 77,
          "rationale": "Controls for sharing data safely across teams and environments. This includes permissions, masking, row-level security, and stewardship practices that keep data usable without exposing sensitive content.",
          "slug": "data-governance-and-access-control",
          "source": "db"
        },
        "dimension_id": 77,
        "input_skill": "RBAC",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Data Engineer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "data-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 202,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Secrets and Access Automation",
          "id": 33,
          "rationale": "Automates secure handling of credentials, tokens, and access paths used by delivery systems and runtime environments. It is coherent because release tooling frequently needs controlled access to protected resources.",
          "slug": "secrets-and-access-automation",
          "source": "db"
        },
        "dimension_id": 33,
        "input_skill": "RBAC",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "DevOps Engineer",
            "id": 1,
            "rationale": null,
            "role_archetype": "A DevOps Engineer enables reliable, repeatable delivery of software by designing and operating the processes that connect development and production. They focus on improving deployment flow, operational stability, and collaboration between teams through automation, standardization, and monitoring of delivery and runtime practices.",
            "slug": "devops-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 202,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Secrets and Key Management",
          "id": 39,
          "rationale": "Manages Azure-native secret, key, and certificate storage used by cloud environments and supporting services. This cluster is distinct because secure credential handling is operationally critical and often integrated with platform access.",
          "slug": "secrets-and-key-management",
          "source": "db"
        },
        "dimension_id": 39,
        "input_skill": "RBAC",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Azure Cloud Engineer",
            "id": 4,
            "rationale": null,
            "role_archetype": null,
            "slug": "azure-cloud-engineer",
            "source": "db"
          },
          {
            "display_name": "Cloud Engineer",
            "id": 18,
            "rationale": null,
            "role_archetype": null,
            "slug": "cloud-engineer",
            "source": "db"
          },
          {
            "display_name": "Cybersecurity Engineer",
            "id": 9,
            "rationale": null,
            "role_archetype": null,
            "slug": "cybersecurity-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 202,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Model Serving Deployment and Runtime Packaging",
          "id": 52,
          "rationale": "Operational deployment of trained models into online, batch, or streaming serving environments, including packaging models and model servers into containers or managed inference runtimes, coordinating rollout, and handing off to inference systems. Covers serving frameworks and platforms such as TensorFlow Serving, TorchServe, Triton Inference Server, BentoML, KServe, and Seldon Core, plus container/runtime concerns like Docker images, GPU-enabled containers, base image selection, container entrypoints, runtime dependencies, and image scanning for model services.",
          "slug": "model-serving-deployment-and-runtime-packaging",
          "source": "db"
        },
        "dimension_id": 52,
        "input_skill": "MLOps",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension saved",
        "role_dimension_saved": true,
        "roles_from_db": [
          {
            "display_name": "MLOps Engineer",
            "id": 5,
            "rationale": null,
            "role_archetype": null,
            "slug": "mlops-engineer",
            "source": "db"
          },
          {
            "display_name": "Machine Learning Engineer",
            "id": 10,
            "rationale": null,
            "role_archetype": null,
            "slug": "machine-learning-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2643,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Inference Data Pipelines",
          "id": 59,
          "rationale": "Operational data movement for batch scoring, feature refresh, and inference-time data preparation. This is separate from model training because it focuses on getting the right data to the serving path reliably.",
          "slug": "inference-data-pipelines",
          "source": "db"
        },
        "dimension_id": 59,
        "input_skill": "MLOps",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "MLOps Engineer",
            "id": 5,
            "rationale": null,
            "role_archetype": null,
            "slug": "mlops-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2643,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Model Serving Architecture",
          "id": 115,
          "rationale": "Patterns for hosting, routing, and scaling model inference in online or batch-serving applications. This covers how model calls are embedded into services, sidecars, gateways, or dedicated serving layers.",
          "slug": "model-serving-architecture",
          "source": "db"
        },
        "dimension_id": 115,
        "input_skill": "Ray",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension saved",
        "role_dimension_saved": true,
        "roles_from_db": [
          {
            "display_name": "Machine Learning Engineer",
            "id": 10,
            "rationale": null,
            "role_archetype": null,
            "slug": "machine-learning-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2644,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Version Control Systems",
          "id": 365,
          "rationale": "Tools and workflows for tracking source changes, branching, merging, and collaborating on code history. Git belongs here because it is the canonical distributed version control system used to manage revisions and coordinate team development.",
          "slug": "d_init_01",
          "source": "db"
        },
        "dimension_id": 365,
        "input_skill": "LakeFS",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [],
        "skill_dimension_saved": true,
        "skill_id": 2645,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Cloud Service Integration Patterns",
          "id": 188,
          "rationale": "Covers how cloud services and workloads connect through APIs, events, shared services, and integration boundaries. This cluster is coherent because architects must define interaction patterns that preserve decoupling, security, and operability.",
          "slug": "cloud-service-integration-patterns",
          "source": "db"
        },
        "dimension_id": 188,
        "input_skill": "MinIO",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Cloud Architect",
            "id": 11,
            "rationale": null,
            "role_archetype": null,
            "slug": "cloud-architect",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2646,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Version Control Systems",
          "id": 365,
          "rationale": "Tools and workflows for tracking source changes, branching, merging, and collaborating on code history. Git belongs here because it is the canonical distributed version control system used to manage revisions and coordinate team development.",
          "slug": "d_init_01",
          "source": "db"
        },
        "dimension_id": 365,
        "input_skill": "MinIO",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "New skill saved \u00b7 Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [],
        "skill_dimension_saved": true,
        "skill_id": 2646,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": null,
          "display_name": "Authentication, Federation, and Session Security",
          "id": null,
          "rationale": "Covers verifying user or service identity and protecting the resulting session state across applications and services. Includes login flows, password-based sign-in, MFA, SSO, OAuth2, OpenID Connect, SAML, JWT validation, token issuance and validation, session cookies, refresh tokens, federation, and identity provider integration. Focuses on the security properties of identity protocols and session handling rather than authorization, access governance, or unrelated security controls.",
          "slug": "d_merge_01",
          "source": "llm"
        },
        "dimension_id": 253,
        "input_skill": "Authentication",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "New skill saved \u00b7 Existing dimension (reconciliation merge) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [],
        "skill_dimension_saved": true,
        "skill_id": 2647,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 10,
        "dimension": {
          "difficulty_hint": "emerging",
          "display_name": "Cloud Service Integration Patterns",
          "id": null,
          "rationale": "Patterns for connecting applications and workloads to cloud services across APIs, events, shared services, and service boundaries. Includes object storage and S3-compatible integrations such as MinIO, object storage endpoints, application uploads, signed URL workflows, service-to-service storage access, cloud storage abstraction, and cross-service data exchange, with attention to decoupling, security, and operability.",
          "slug": "d_merge_01",
          "source": "llm"
        },
        "dimension_id": 188,
        "input_skill": "MinIO",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "New skill saved \u00b7 Existing dimension (reconciliation merge) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [],
        "skill_dimension_saved": true,
        "skill_id": 2646,
        "skill_tag": "in_db",
        "skipped_reason": null
      }
    ],
    "new_skills_created": 5,
    "role_dimension_saved": 0,
    "skill_dimension_saved": 7,
    "skipped": 0
  },
  "planner_output": null,
  "run_id": "2486260f-bd82-471e-8cc1-a5417c60664c"
}

LLM Calls

Every model call made for this run, in pipeline order. Click a card to see the model's response.

Loading…