← Back to history

Pipeline run

91e203da-43b6-494a-ae63-74f279c4cbb8

Pipeline LLM cost (USD)
API 1: $0.0029 API 2: $0.0001 API 3: $0.0000 Total: $0.0031

Client output enrichment

v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA description
role baseline loaded sources · ai_index: jd · nature_of_work: jd · tech_stack_maturity: jd
Nature of work · Frontend service integration
Build and maintain Angular/.NET Core web apps, ship new features with cross-functional teams, and keep them fast and reliable through code reviews, bug fixes, automated tests, and CI. Also support teammates with technical guidance and training.
"Develop and maintain web applications using Angular and .NET Core technologies."
Tech stack maturity
Mainstream Modern
Angular and .NET Core are widely adopted, current mainstream technologies that typically indicate a modern but not bleeding-edge cloud-native stack.
AI index (0 = no AI use, 5 = totally AI-dependent · v2.1)
0.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):
Evidence — skills matched in JD (5)
Angular .NET Core Code Review Automated Testing Continuous Integration
Skill cluster (2 dimension groups, role-scoped)
UI Frameworks and Rendering
Angular
Cross-cutting / unaligned
.NET Core Code Review Automated Testing Continuous Integration
Show KRA description ↓
• Develop and maintain web applications using Angular and .NET Core technologies. • Collaborate with cross-functional teams to define, design, and ship new features. • Ensure the performance, quality, and responsiveness of applications. • Participate in code reviews and provide constructive feedback to team members. • Identify bottlenecks and bugs and devise solutions to mitigate and address these issues. • Implement automated tests and continuous integration practices. • Stay updated with the latest industry trends and technologies to ensure optimum solutions. • Provide technical support and training to other team members as needed.

Signals

Skill dotnet-backend-developer
1.00
Alias full-stack-engineer
1.00
KRA flutter-developer
0.60
Status: completed Created: 2026-05-27T16:12:59.813657Z Updated: 2026-05-27T16:13:52.863898Z API 3 duration: 11469 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

Web Developer

CASE A

slug: web-developer · id: 25 · source: db

Multi-alias tie (3 roles at 1.0) resolved by TIER_B_TITLE: Web Developer

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

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

Job description

Skills:
C#, ASP.NET, MVC, JavaScript, SQL Server, HTML/CSS, Angular, .NET Core,

Job Position : Full Stack Developer (.NET + Angular)

Company Overview

Gcube Info is an enterprise web and mobile application development company based out of India. With a team of 20+ people, we are dedicated to providing software consulting and development services for the digital success of our clients. Our products and services assist clients in unlocking the opportunities of tomorrow. We strive to deliver custom, scalable, and reliable software solutions using the latest technologies and processes.

Job Overview

We are seeking a highly skilled mid-level .NET Developer with a minimum of 4+ years of work experience to join our team at Assiduous Infotech Pvt Ltd. This is a full-time position based in Ahmedabad. The ideal candidate will have experience in developing and maintaining applications using .NET technologies and will have a strong understanding of software development best practices.

Qualifications And Skills

• Minimum of 4 years of work experience in .NET development.
• Proficiency in Angular (Mandatory skill).
• Strong experience with .NET Core (Mandatory skill).
• In-depth knowledge of C# programming language.
• Hands-on experience with ASP.NET and MVC frameworks.
• Skilled in JavaScript for client-side scripting.
• Competent in working with SQL Server for database management.
• Proficiency in HTML and CSS for front-end development.


Roles And Responsibilities

• Develop and maintain web applications using Angular and .NET Core technologies.
• Collaborate with cross-functional teams to define, design, and ship new features.
• Ensure the performance, quality, and responsiveness of applications.
• Participate in code reviews and provide constructive feedback to team members.
• Identify bottlenecks and bugs and devise solutions to mitigate and address these issues.
• Implement automated tests and continuous integration practices.
• Stay updated with the latest industry trends and technologies to ensure optimum solutions.
• Provide technical support and training to other team members as needed.

Skills from this JD

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

Angular Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Angular id=612 · angular

Aliases — catalog

  • Angular (CANONICAL) primary
  • Angular 1 (VERSION)
  • Angular 1.x (VERSION)
  • Angular 10 (VERSION)
  • Angular 11 (VERSION)
  • Angular 12 (VERSION)
  • Angular 13 (VERSION)
  • Angular 14 (VERSION)
  • Angular 15 (VERSION)
  • Angular 16 (VERSION)
  • Angular 17 (VERSION)
  • Angular 2 (VERSION)
  • Angular 2+ (VERSION)
  • Angular 4 (VERSION)
  • Angular 5 (VERSION)
  • Angular 6 (VERSION)
  • Angular 7 (VERSION)
  • Angular 8 (VERSION)
  • Angular 9 (VERSION)
  • AngularJS (VERSION)
  • angular 1 (VERSION)
  • angular 1.x (VERSION)
  • angular 10 (VERSION)
  • angular 11 (VERSION)
  • angular 12 (VERSION)
  • angular 13 (VERSION)
  • angular 14 (VERSION)
  • angular 15 (VERSION)
  • angular 16 (VERSION)
  • angular 17 (VERSION)
  • angular 18 (VERSION)
  • angular 19 (VERSION)
  • angular 2 (VERSION)
  • angular 2+ (VERSION)
  • angular 2.x (VERSION)
  • angular 3 (VERSION)
  • angular 4 (VERSION)
  • angular 5 (VERSION)
  • angular 6 (VERSION)
  • angular 7 (VERSION)
  • angular 8 (VERSION)
  • angular 9 (VERSION)
  • angular17 (VERSION)
  • angular2 (VERSION)
  • angularjs (VERSION)
  • angularjs 1.x (VERSION)
  • ng (VERSION)
  • ng1 (VERSION)
  • ng2 (VERSION)

Context tags (catalog)

AOT Angular CLI Angular Material Component Dependency Injection Directive NgRx Observable Observables PWA RESTful services Reactive Forms Routing RxJS Service Single Page Application TypeScript Unit Testing component-based components dependency injection directives lazy loading modules observables pipes responsive design routing services single-page application single-page applications templates two-way data binding unit testing

Stored enrichment (catalog DB)

Category
Framework
Sub-category
Frontend Framework
Vendor
Google
License
mit
Year introduced
2010
Confidence
0.98
Version strategy
SEPARATE_ENTITY
Version tag
2+

Maturity reasoning: Angular remains widely listed in frontend job descriptions and enterprise stacks; Google continues maintaining Angular, and it is a common hiring-pipeline skill alongside React/Vue rather than a sunset technology.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Angular Component Model and Templates Catalog dimension db id 303

    Library dimension (catalog)

    Roles linked in library: Angular Frontend Developer

  • Application Frameworks & Libraries Catalog dimension db id 451

    Library dimension (catalog)

    Roles linked in library: Sitecore Dev

  • Frameworks & Libraries Catalog dimension db id 360

    Library dimension (catalog)

    Roles linked in library: Drupal Dev, Engineering Manager

  • UI Frameworks and Rendering Catalog dimension db id 115

    Library dimension (catalog)

    Roles linked in library: Frontend Developer, Fullstack Developer, Fullstack Developer, Hybrid Mobile Developer, Ionic Developer, Web Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Angular Component Model and Templates
angular-component-model-and-templates
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Application Frameworks & Libraries
application-frameworks-libraries
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Frameworks & Libraries
frameworks-libraries
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
UI Frameworks and Rendering
ui-frameworks-and-rendering
Existing dimension (library) · Role↔dimension saved
.NET Core Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: .NET id=3237 · net

Aliases — catalog

  • .NET (CANONICAL) primary
  • .NET 5 (VERSION)
  • .NET 6 (VERSION)
  • .NET 7 (VERSION)
  • .NET 8 (VERSION)
  • .NET Core (VERSION)

Context tags (catalog)

ADO.NET ASP.NET Azure Blazor C# CLR Entity Framework LINQ MVC Microservices NuGet Visual Studio WPF Web API XAML

Stored enrichment (catalog DB)

Category
Runtime
Sub-category
Runtime Platform
Vendor
Microsoft
License
mit
Year introduced
2002
Confidence
0.90
Version strategy
SEPARATE_ENTITY
Version tag
.NET (modern, i.e., .NET 6+)

Maturity reasoning: .NET appears in large volumes of job postings across enterprise, cloud, and backend roles, and Microsoft continues active releases and LTS support, indicating broad hiring-pipeline adoption.

Skill profile (library / DB)

Skill nature
RUNTIME
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
67
Sub-category id
2564
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • C# and .NET Languages Catalog dimension db id 362

    Library dimension (catalog)

    Roles linked in library: .NET Backend Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
C# and .NET Languages
c-and-net-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Code Review Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Code Review id=516 · code-review

Aliases — catalog

  • Code Review (CANONICAL)

Context tags (catalog)

Bitbucket GitHub GitLab PR review approval workflow branch protection code quality diff inline comments linting merge request pair programming pull request review checklist static analysis

Stored enrichment (catalog DB)

Category
SoftSkill
Sub-category
Code Review
Confidence
0.96
Version strategy
NOT_APPLICABLE

Maturity reasoning: Code review is a standard hiring-pipeline requirement in engineering JDs and is built into major platforms like GitHub/GitLab pull-request workflows, indicating broad adoption.

Skill profile (library / DB)

Skill nature
PRACTICE
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
58
Sub-category id
364
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • React Frontend Development Catalog dimension db id 96

    Library dimension (catalog)

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Automated Testing Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Testing Tools
Sub-category
general
Skill nature
PRACTICE
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Continuous Integration Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
DevOps Tools
Sub-category
general
Skill nature
PRACTICE
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED

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
Angular in_db
Angular Component Model and Templates
angular-component-model-and-templates
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Angular in_db
Application Frameworks & Libraries
application-frameworks-libraries
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Angular in_db
Frameworks & Libraries
frameworks-libraries
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Angular in_db
UI Frameworks and Rendering
ui-frameworks-and-rendering
Existing dimension (library) · Role↔dimension saved
.NET Core in_db
C# and .NET Languages
c-and-net-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Code Review in_db
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)

Library artifacts (this run)

Kind Detail DB id
canonical_skill_proposed Automated Testing | type=Testing Tools subtype=general nature=PRACTICE lifespan=MULTI_YEAR
canonical_skill_proposed Continuous Integration | type=DevOps Tools subtype=general nature=PRACTICE lifespan=MULTI_YEAR
nano JD Parser — gpt-4.1-nano click to toggle
RoleFull Stack Developer (.NET + Angular)
CompanyGcube Info
ExperienceMinimum of 4 years of work experience in .NET development.
DomainIT Services & Consulting
Location Ahmedabad, India (onsite)
JD type pass
Show raw JSON
{
  "JD_type": "pass",
  "about_company": {
    "source_marker": {
      "first_5_words": "Gcube Info is an enterprise",
      "last_5_words": "latest technologies and processes."
    },
    "text": "Gcube Info is an enterprise web and mobile application development company based out of India. With a team of 20+ people, we are dedicated to providing software consulting and development services for the digital success of our clients. Our products and services assist clients in unlocking the opportunities of tomorrow. We strive to deliver custom, scalable, and reliable software solutions using the latest technologies and processes.",
    "word_count": 64
  },
  "certifications": [],
  "company_name": "Gcube Info",
  "ctc": null,
  "domain": {
    "primary": {
      "aliases": [
        "Software Development",
        "Tech Consulting"
      ],
      "domain": "IT Services \u0026 Consulting"
    },
    "secondary": null
  },
  "education": [],
  "experience": {
    "max": null,
    "min": 4,
    "raw": "Minimum of 4 years of work experience in .NET development."
  },
  "job_locations": [
    {
      "aliases": [
        "Amdavad"
      ],
      "city": "Ahmedabad",
      "country": "India",
      "state": null,
      "work_mode": "onsite"
    }
  ],
  "role": "Full Stack Developer (.NET + Angular)",
  "role_aliases": [
    "Full Stack Developer",
    "Software Developer",
    "Web Developer"
  ],
  "role_archetype": "Engineering",
  "roles_and_responsibilities": [
    {
      "bullet_count": 8,
      "heading": "Roles And Responsibilities",
      "heading_was_present": true,
      "source_marker": {
        "first_5_words": "\u2022 Develop and maintain web",
        "last_5_words": "support and training to other"
      },
      "text": "\u2022 Develop and maintain web applications using Angular and .NET Core technologies.\n\u2022 Collaborate with cross-functional teams to define, design, and ship new features.\n\u2022 Ensure the performance, quality, and responsiveness of applications.\n\u2022 Participate in code reviews and provide constructive feedback to team members.\n\u2022 Identify bottlenecks and bugs and devise solutions to mitigate and address these issues.\n\u2022 Implement automated tests and continuous integration practices.\n\u2022 Stay updated with the latest industry trends and technologies to ensure optimum solutions.\n\u2022 Provide technical support and training to other team members as needed.",
      "word_count": 88
    }
  ],
  "urls": []
}
API 1 — extract-from-jd click to toggle
{
  "final_skills": [
    {
      "is_primary": true,
      "skill_name": "Angular"
    },
    {
      "is_primary": true,
      "skill_name": ".NET Core"
    },
    {
      "is_primary": false,
      "skill_name": "Code Review"
    },
    {
      "is_primary": false,
      "skill_name": "Automated Testing"
    },
    {
      "is_primary": false,
      "skill_name": "Continuous Integration"
    }
  ],
  "jd_role": {
    "display_name": "Full Stack Developer (.NET + Angular)",
    "rationale": null,
    "role_aliases": [
      "Full Stack Developer",
      "Software Developer",
      "Web Developer"
    ],
    "role_archetype": "Engineering",
    "slug": ""
  },
  "nano_parsed": {
    "JD_type": "pass",
    "about_company": {
      "source_marker": {
        "first_5_words": "Gcube Info is an enterprise",
        "last_5_words": "latest technologies and processes."
      },
      "text": "Gcube Info is an enterprise web and mobile application development company based out of India. With a team of 20+ people, we are dedicated to providing software consulting and development services for the digital success of our clients. Our products and services assist clients in unlocking the opportunities of tomorrow. We strive to deliver custom, scalable, and reliable software solutions using the latest technologies and processes.",
      "word_count": 64
    },
    "certifications": [],
    "company_name": "Gcube Info",
    "ctc": null,
    "domain": {
      "primary": {
        "aliases": [
          "Software Development",
          "Tech Consulting"
        ],
        "domain": "IT Services \u0026 Consulting"
      },
      "secondary": null
    },
    "education": [],
    "experience": {
      "max": null,
      "min": 4,
      "raw": "Minimum of 4 years of work experience in .NET development."
    },
    "job_locations": [
      {
        "aliases": [
          "Amdavad"
        ],
        "city": "Ahmedabad",
        "country": "India",
        "state": null,
        "work_mode": "onsite"
      }
    ],
    "role": "Full Stack Developer (.NET + Angular)",
    "role_aliases": [
      "Full Stack Developer",
      "Software Developer",
      "Web Developer"
    ],
    "role_archetype": "Engineering",
    "roles_and_responsibilities": [
      {
        "bullet_count": 8,
        "heading": "Roles And Responsibilities",
        "heading_was_present": true,
        "source_marker": {
          "first_5_words": "\u2022 Develop and maintain web",
          "last_5_words": "support and training to other"
        },
        "text": "\u2022 Develop and maintain web applications using Angular and .NET Core technologies.\n\u2022 Collaborate with cross-functional teams to define, design, and ship new features.\n\u2022 Ensure the performance, quality, and responsiveness of applications.\n\u2022 Participate in code reviews and provide constructive feedback to team members.\n\u2022 Identify bottlenecks and bugs and devise solutions to mitigate and address these issues.\n\u2022 Implement automated tests and continuous integration practices.\n\u2022 Stay updated with the latest industry trends and technologies to ensure optimum solutions.\n\u2022 Provide technical support and training to other team members as needed.",
        "word_count": 88
      }
    ],
    "urls": []
  },
  "rejected": false,
  "rejection_reason": null,
  "run_id": "91e203da-43b6-494a-ae63-74f279c4cbb8",
  "stage3_signals": {
    "alias_found": true,
    "alias_match_roles": [
      {
        "display_name": "Fullstack Developer",
        "kra_matches": null,
        "matched_count": null,
        "matched_skills": null,
        "role_id": 15,
        "score": 1.0,
        "slug": "full-stack-engineer",
        "total_count": null
      },
      {
        "display_name": "Web Developer",
        "kra_matches": null,
        "matched_count": null,
        "matched_skills": null,
        "role_id": 25,
        "score": 1.0,
        "slug": "web-developer",
        "total_count": null
      },
      {
        "display_name": "Frontend Developer",
        "kra_matches": null,
        "matched_count": null,
        "matched_skills": null,
        "role_id": 7,
        "score": 1.0,
        "slug": "frontend-engineer",
        "total_count": null
      }
    ],
    "kra_match_roles": [
      {
        "display_name": "Flutter Developer",
        "kra_matches": [
          {
            "kra_text": "collaborate with design, product, and backend teams",
            "sentence": "Collaborate with cross-functional teams to define, design, and ship new features.",
            "similarity": 0.7278
          },
          {
            "kra_text": "optimize responsiveness and performance",
            "sentence": "Ensure the performance, quality, and responsiveness of applications.",
            "similarity": 0.622
          },
          {
            "kra_text": "optimize responsiveness and performance",
            "sentence": "Identify bottlenecks and bugs and devise solutions to mitigate and address these issues.",
            "similarity": 0.4594
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 74,
        "score": 0.6031,
        "slug": "flutter-developer",
        "total_count": null
      },
      {
        "display_name": "Fullstack Developer",
        "kra_matches": [
          {
            "kra_text": "Works closely with product managers and UX designers to translate requirements and wireframes into working software features through iterative development.",
            "sentence": "Collaborate with cross-functional teams to define, design, and ship new features.",
            "similarity": 0.633
          },
          {
            "kra_text": "Delivers features through CI/CD pipelines using automated tests, staged rollouts, feature flags, and incremental deployments.",
            "sentence": "Implement automated tests and continuous integration practices.",
            "similarity": 0.5707
          },
          {
            "kra_text": "Optimizes application performance from database query efficiency through API response latency to frontend rendering speed and bundle size.",
            "sentence": "Ensure the performance, quality, and responsiveness of applications.",
            "similarity": 0.5149
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 15,
        "score": 0.5729,
        "slug": "full-stack-engineer",
        "total_count": null
      },
      {
        "display_name": "DevOps Engineer",
        "kra_matches": [
          {
            "kra_text": "Builds and maintains CI/CD pipelines using Jenkins, GitHub Actions, GitLab CI, or CircleCI to automate build, test, security scanning, and deployment workflows.",
            "sentence": "Implement automated tests and continuous integration practices.",
            "similarity": 0.598
          },
          {
            "kra_text": "Collaborates with development teams to improve build processes, reduce deployment friction, containerize applications, and adopt DevOps best practices.",
            "sentence": "Collaborate with cross-functional teams to define, design, and ship new features.",
            "similarity": 0.585
          },
          {
            "kra_text": "Monitors CI/CD pipeline reliability, identifies bottlenecks in delivery workflows, and improves deployment frequency, lead time, and failure recovery rate.",
            "sentence": "Ensure the performance, quality, and responsiveness of applications.",
            "similarity": 0.4787
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 10,
        "score": 0.5539,
        "slug": "devops-engineer",
        "total_count": null
      },
      {
        "display_name": "Frontend Developer",
        "kra_matches": [
          {
            "kra_text": "Collaborates with UX designers to refine interaction details, animations, responsive breakpoints, and micro-interaction behavior.",
            "sentence": "Collaborate with cross-functional teams to define, design, and ship new features.",
            "similarity": 0.5718
          },
          {
            "kra_text": "Builds responsive user interfaces and interactive web components using React, Vue, or Angular with TypeScript, HTML5, and modern CSS for browser-based applications.",
            "sentence": "Develop and maintain web applications using Angular and .NET Core technologies.",
            "similarity": 0.5428
          },
          {
            "kra_text": "Supports production releases by diagnosing cross-browser compatibility issues, investigating UI regressions, and resolving frontend performance degradation.",
            "sentence": "Ensure the performance, quality, and responsiveness of applications.",
            "similarity": 0.4972
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 7,
        "score": 0.5373,
        "slug": "frontend-engineer",
        "total_count": null
      },
      {
        "display_name": "Angular Frontend Developer",
        "kra_matches": [
          {
            "kra_text": "collaboration with design and QA",
            "sentence": "Collaborate with cross-functional teams to define, design, and ship new features.",
            "similarity": 0.5703
          },
          {
            "kra_text": "code review and refactoring",
            "sentence": "Participate in code reviews and provide constructive feedback to team members.",
            "similarity": 0.528
          },
          {
            "kra_text": "Angular component development",
            "sentence": "Develop and maintain web applications using Angular and .NET Core technologies.",
            "similarity": 0.5064
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 90,
        "score": 0.5349,
        "slug": "angular-frontend-developer",
        "total_count": null
      }
    ],
    "skill_match_roles": [
      {
        "display_name": ".NET Backend Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          ".NET",
          ".NET Core"
        ],
        "role_id": 83,
        "score": 1.0,
        "slug": "dotnet-backend-developer",
        "total_count": 2
      },
      {
        "display_name": "Sitecore Dev",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          ".NET Core",
          "Angular"
        ],
        "role_id": 233,
        "score": 1.0,
        "slug": "sitecore-dev",
        "total_count": 2
      },
      {
        "display_name": "Fullstack Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "Angular"
        ],
        "role_id": 15,
        "score": 0.5,
        "slug": "full-stack-engineer",
        "total_count": 2
      },
      {
        "display_name": "Web Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "Angular"
        ],
        "role_id": 25,
        "score": 0.5,
        "slug": "web-developer",
        "total_count": 2
      },
      {
        "display_name": "Hybrid Mobile Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "Angular"
        ],
        "role_id": 11,
        "score": 0.5,
        "slug": "hybrid-mobile-developer",
        "total_count": 2
      }
    ]
  },
  "stage4_decision": {
    "alias_collision_detected": true,
    "case": "A",
    "chosen_role": {
      "display_name": "Web Developer",
      "kra_matches": null,
      "matched_count": null,
      "matched_skills": null,
      "role_id": 25,
      "score": 1.0,
      "slug": "web-developer",
      "total_count": null
    },
    "confidence": 0.95,
    "is_new_role": false,
    "llm2_fired": false,
    "llm2_reasoning": null,
    "matched_dimensions": [],
    "matched_kras": [],
    "matched_skills": [],
    "new_role_display_name": null,
    "new_role_slug": null,
    "queued": false,
    "reasoning": "Multi-alias tie (3 roles at 1.0) resolved by TIER_B_TITLE: Web Developer",
    "sub_role": null
  },
  "stage5_updates": 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": 1067,
      "existing_alias_text": "Angular",
      "input_term": "Angular",
      "matched_canonical": {
        "category_id": 5,
        "display_name": "Angular",
        "id": 612,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "angular",
        "sub_category_id": 1072,
        "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": 4771,
      "existing_alias_text": ".NET Core",
      "input_term": ".NET Core",
      "matched_canonical": {
        "category_id": 67,
        "display_name": ".NET",
        "id": 3237,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "RUNTIME",
        "slug": "net",
        "sub_category_id": 2564,
        "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": 864,
      "existing_alias_text": "Code Review",
      "input_term": "Code Review",
      "matched_canonical": {
        "category_id": 58,
        "display_name": "Code Review",
        "id": 516,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PRACTICE",
        "slug": "code-review",
        "sub_category_id": 364,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    }
  ],
  "candidate_roles": [
    {
      "display_name": "Angular Frontend Developer",
      "id": 90,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "angular-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "Sitecore Dev",
      "id": 233,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "sitecore-dev",
      "source": "db"
    },
    {
      "display_name": "Drupal Dev",
      "id": 228,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "drupal-dev",
      "source": "db"
    },
    {
      "display_name": "Engineering Manager",
      "id": 121,
      "rationale": null,
      "role_archetype": null,
      "slug": "engineering-manager",
      "source": "db"
    },
    {
      "display_name": "Frontend Developer",
      "id": 7,
      "rationale": null,
      "role_archetype": null,
      "slug": "frontend-engineer",
      "source": "db"
    },
    {
      "display_name": "Fullstack Developer",
      "id": 15,
      "rationale": null,
      "role_archetype": null,
      "slug": "full-stack-engineer",
      "source": "db"
    },
    {
      "display_name": "Fullstack Developer",
      "id": 435,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "fullstack-developer",
      "source": "db"
    },
    {
      "display_name": "Hybrid Mobile Developer",
      "id": 11,
      "rationale": null,
      "role_archetype": null,
      "slug": "hybrid-mobile-developer",
      "source": "db"
    },
    {
      "display_name": "Ionic Developer",
      "id": 434,
      "rationale": null,
      "role_archetype": null,
      "slug": "ionic-developer",
      "source": "db"
    },
    {
      "display_name": "Web Developer",
      "id": 25,
      "rationale": null,
      "role_archetype": null,
      "slug": "web-developer",
      "source": "db"
    },
    {
      "display_name": ".NET Backend Developer",
      "id": 83,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "dotnet-backend-developer",
      "source": "db"
    }
  ],
  "chosen_role": {
    "display_name": "Web Developer",
    "id": 25,
    "rationale": "Multi-alias tie (3 roles at 1.0) resolved by TIER_B_TITLE: Web Developer",
    "role_archetype": null,
    "slug": "web-developer",
    "source": "db"
  },
  "dimensions": [
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Angular Component Model and Templates",
        "id": 303,
        "rationale": "Core Angular framework surface for building reusable UI, composing views, and wiring component behavior. This is the main application substrate for browser features in this role.",
        "slug": "angular-component-model-and-templates",
        "source": "db"
      },
      "input_skill": "Angular",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Angular Frontend Developer",
          "id": 90,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "angular-frontend-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Application Frameworks \u0026 Libraries",
        "id": 451,
        "rationale": "Covers the primary software frameworks and libraries often used alongside Sitecore for building and enhancing site experiences.",
        "slug": "application-frameworks-libraries",
        "source": "db"
      },
      "input_skill": "Angular",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Sitecore Dev",
          "id": 233,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "sitecore-dev",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Frameworks \u0026 Libraries",
        "id": 360,
        "rationale": "Manage adoption, integration, and best practices around key software frameworks and libraries.",
        "slug": "frameworks-libraries",
        "source": "db"
      },
      "input_skill": "Angular",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Drupal Dev",
          "id": 228,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "drupal-dev",
          "source": "db"
        },
        {
          "display_name": "Engineering Manager",
          "id": 121,
          "rationale": null,
          "role_archetype": null,
          "slug": "engineering-manager",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "UI Frameworks and Rendering",
        "id": 115,
        "rationale": "Component frameworks and rendering models used to build browser screens, reusable UI, and interactive client flows. This is a core cluster because frontend engineers spend much of their time composing and updating view hierarchies.",
        "slug": "ui-frameworks-and-rendering",
        "source": "db"
      },
      "input_skill": "Angular",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Frontend Developer",
          "id": 7,
          "rationale": null,
          "role_archetype": null,
          "slug": "frontend-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 15,
          "rationale": null,
          "role_archetype": null,
          "slug": "full-stack-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 435,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "fullstack-developer",
          "source": "db"
        },
        {
          "display_name": "Hybrid Mobile Developer",
          "id": 11,
          "rationale": null,
          "role_archetype": null,
          "slug": "hybrid-mobile-developer",
          "source": "db"
        },
        {
          "display_name": "Ionic Developer",
          "id": 434,
          "rationale": null,
          "role_archetype": null,
          "slug": "ionic-developer",
          "source": "db"
        },
        {
          "display_name": "Web Developer",
          "id": 25,
          "rationale": null,
          "role_archetype": null,
          "slug": "web-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "C# and .NET Languages",
        "id": 362,
        "rationale": "Primary implementation languages and runtime features used to build backend service logic in the .NET ecosystem. This is the core coding surface for request handling, domain logic, and service internals.",
        "slug": "c-and-net-languages",
        "source": "db"
      },
      "input_skill": ".NET Core",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": ".NET Backend Developer",
          "id": 83,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "dotnet-backend-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "React Frontend Development",
        "id": 96,
        "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
        "slug": "d_init_01",
        "source": "db"
      },
      "input_skill": "Code Review",
      "llm_role": null,
      "roles_from_db": []
    }
  ],
  "input_final_skills": [
    "Angular",
    ".NET Core",
    "Code Review",
    "Automated Testing",
    "Continuous Integration"
  ],
  "input_llm_skills": [
    "Angular",
    ".NET Core",
    "Code Review",
    "Automated Testing",
    "Continuous Integration"
  ],
  "new_aliases_persisted": 0,
  "run_id": "91e203da-43b6-494a-ae63-74f279c4cbb8",
  "skills_detail": [
    {
      "aliases_in_db": [
        {
          "alias_text": "Angular",
          "alias_type": "CANONICAL",
          "id": 1067,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 1",
          "alias_type": "VERSION",
          "id": 1068,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 1.x",
          "alias_type": "VERSION",
          "id": 1086,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 10",
          "alias_type": "VERSION",
          "id": 1077,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 11",
          "alias_type": "VERSION",
          "id": 1078,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 12",
          "alias_type": "VERSION",
          "id": 1079,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 13",
          "alias_type": "VERSION",
          "id": 1080,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 14",
          "alias_type": "VERSION",
          "id": 1081,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 15",
          "alias_type": "VERSION",
          "id": 1082,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 16",
          "alias_type": "VERSION",
          "id": 1083,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 17",
          "alias_type": "VERSION",
          "id": 1084,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 2",
          "alias_type": "VERSION",
          "id": 1069,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 2+",
          "alias_type": "VERSION",
          "id": 1085,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 4",
          "alias_type": "VERSION",
          "id": 1070,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 5",
          "alias_type": "VERSION",
          "id": 1071,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 6",
          "alias_type": "VERSION",
          "id": 1072,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 7",
          "alias_type": "VERSION",
          "id": 1073,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 8",
          "alias_type": "VERSION",
          "id": 1074,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Angular 9",
          "alias_type": "VERSION",
          "id": 1075,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "AngularJS",
          "alias_type": "VERSION",
          "id": 1076,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 1",
          "alias_type": "VERSION",
          "id": 3205,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 1.x",
          "alias_type": "VERSION",
          "id": 3208,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 10",
          "alias_type": "VERSION",
          "id": 2098,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 11",
          "alias_type": "VERSION",
          "id": 2099,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 12",
          "alias_type": "VERSION",
          "id": 2100,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 13",
          "alias_type": "VERSION",
          "id": 2101,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 14",
          "alias_type": "VERSION",
          "id": 2102,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 15",
          "alias_type": "VERSION",
          "id": 2103,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 16",
          "alias_type": "VERSION",
          "id": 2104,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 17",
          "alias_type": "VERSION",
          "id": 2105,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 18",
          "alias_type": "VERSION",
          "id": 4019,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 19",
          "alias_type": "VERSION",
          "id": 4020,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 2",
          "alias_type": "VERSION",
          "id": 2089,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 2+",
          "alias_type": "VERSION",
          "id": 2106,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 2.x",
          "alias_type": "VERSION",
          "id": 3209,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 3",
          "alias_type": "VERSION",
          "id": 2090,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 4",
          "alias_type": "VERSION",
          "id": 2091,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 5",
          "alias_type": "VERSION",
          "id": 2092,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 6",
          "alias_type": "VERSION",
          "id": 2093,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 7",
          "alias_type": "VERSION",
          "id": 2094,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 8",
          "alias_type": "VERSION",
          "id": 2095,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular 9",
          "alias_type": "VERSION",
          "id": 2096,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular17",
          "alias_type": "VERSION",
          "id": 2097,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angular2",
          "alias_type": "VERSION",
          "id": 3204,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angularjs",
          "alias_type": "VERSION",
          "id": 3207,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "angularjs 1.x",
          "alias_type": "VERSION",
          "id": 6556,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "ng",
          "alias_type": "VERSION",
          "id": 2088,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "ng1",
          "alias_type": "VERSION",
          "id": 3202,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "ng2",
          "alias_type": "VERSION",
          "id": 3203,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 5,
        "display_name": "Angular",
        "id": 612,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "angular",
        "sub_category_id": 1072,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Angular Component Model and Templates",
            "id": 303,
            "rationale": "Core Angular framework surface for building reusable UI, composing views, and wiring component behavior. This is the main application substrate for browser features in this role.",
            "slug": "angular-component-model-and-templates",
            "source": "db"
          },
          "input_skill": "Angular",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Angular Frontend Developer",
              "id": 90,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "angular-frontend-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Application Frameworks \u0026 Libraries",
            "id": 451,
            "rationale": "Covers the primary software frameworks and libraries often used alongside Sitecore for building and enhancing site experiences.",
            "slug": "application-frameworks-libraries",
            "source": "db"
          },
          "input_skill": "Angular",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Sitecore Dev",
              "id": 233,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "sitecore-dev",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Frameworks \u0026 Libraries",
            "id": 360,
            "rationale": "Manage adoption, integration, and best practices around key software frameworks and libraries.",
            "slug": "frameworks-libraries",
            "source": "db"
          },
          "input_skill": "Angular",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Drupal Dev",
              "id": 228,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "drupal-dev",
              "source": "db"
            },
            {
              "display_name": "Engineering Manager",
              "id": 121,
              "rationale": null,
              "role_archetype": null,
              "slug": "engineering-manager",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "UI Frameworks and Rendering",
            "id": 115,
            "rationale": "Component frameworks and rendering models used to build browser screens, reusable UI, and interactive client flows. This is a core cluster because frontend engineers spend much of their time composing and updating view hierarchies.",
            "slug": "ui-frameworks-and-rendering",
            "source": "db"
          },
          "input_skill": "Angular",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Frontend Developer",
              "id": 7,
              "rationale": null,
              "role_archetype": null,
              "slug": "frontend-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 15,
              "rationale": null,
              "role_archetype": null,
              "slug": "full-stack-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 435,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "fullstack-developer",
              "source": "db"
            },
            {
              "display_name": "Hybrid Mobile Developer",
              "id": 11,
              "rationale": null,
              "role_archetype": null,
              "slug": "hybrid-mobile-developer",
              "source": "db"
            },
            {
              "display_name": "Ionic Developer",
              "id": 434,
              "rationale": null,
              "role_archetype": null,
              "slug": "ionic-developer",
              "source": "db"
            },
            {
              "display_name": "Web Developer",
              "id": 25,
              "rationale": null,
              "role_archetype": null,
              "slug": "web-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Angular",
      "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": ".NET",
          "alias_type": "CANONICAL",
          "id": 4766,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": ".NET 5",
          "alias_type": "VERSION",
          "id": 4767,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": ".NET 6",
          "alias_type": "VERSION",
          "id": 4768,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": ".NET 7",
          "alias_type": "VERSION",
          "id": 4769,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": ".NET 8",
          "alias_type": "VERSION",
          "id": 4770,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": ".NET Core",
          "alias_type": "VERSION",
          "id": 4771,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 67,
        "display_name": ".NET",
        "id": 3237,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "RUNTIME",
        "slug": "net",
        "sub_category_id": 2564,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "C# and .NET Languages",
            "id": 362,
            "rationale": "Primary implementation languages and runtime features used to build backend service logic in the .NET ecosystem. This is the core coding surface for request handling, domain logic, and service internals.",
            "slug": "c-and-net-languages",
            "source": "db"
          },
          "input_skill": ".NET Core",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": ".NET Backend Developer",
              "id": 83,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "dotnet-backend-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": ".NET Core",
      "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": "Code Review",
          "alias_type": "CANONICAL",
          "id": 864,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 58,
        "display_name": "Code Review",
        "id": 516,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PRACTICE",
        "slug": "code-review",
        "sub_category_id": 364,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "React Frontend Development",
            "id": 96,
            "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
            "slug": "d_init_01",
            "source": "db"
          },
          "input_skill": "Code Review",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "Code Review",
      "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": [],
      "input_skill": "Automated Testing",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Testing Tools",
          "skill_nature": "PRACTICE",
          "sub_category": "general",
          "typical_lifespan": "MULTI_YEAR",
          "version_strategy": "UNVERSIONED",
          "volatility": "MEDIUM"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "automated-testing",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Continuous Integration",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "DevOps Tools",
          "skill_nature": "PRACTICE",
          "sub_category": "general",
          "typical_lifespan": "MULTI_YEAR",
          "version_strategy": "UNVERSIONED",
          "volatility": "MEDIUM"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "continuous-integration",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    }
  ],
  "unmatched_skills": [
    "Automated Testing",
    "Continuous Integration"
  ]
}
API 3 — final-role-output
{
  "chosen_role": {
    "display_name": "Web Developer",
    "id": 25,
    "rationale": "Multi-alias tie (3 roles at 1.0) resolved by TIER_B_TITLE: Web Developer",
    "role_archetype": null,
    "slug": "web-developer",
    "source": "db"
  },
  "chosen_role_resolution": "in_db",
  "final_input_skills": [
    {
      "skill": "Angular",
      "tag": "in_db"
    },
    {
      "skill": ".NET Core",
      "tag": "in_db"
    },
    {
      "skill": "Code Review",
      "tag": "in_db"
    },
    {
      "skill": "Automated Testing",
      "tag": "new"
    },
    {
      "skill": "Continuous Integration",
      "tag": "new"
    }
  ],
  "llm_cost_api1_usd": null,
  "llm_cost_api2_usd": null,
  "llm_cost_api3_usd": null,
  "llm_cost_total_usd": null,
  "persistence": {
    "items": [
      {
        "chosen_role_id": 25,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Angular Component Model and Templates",
          "id": 303,
          "rationale": "Core Angular framework surface for building reusable UI, composing views, and wiring component behavior. This is the main application substrate for browser features in this role.",
          "slug": "angular-component-model-and-templates",
          "source": "db"
        },
        "dimension_id": 303,
        "input_skill": "Angular",
        "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": "Angular Frontend Developer",
            "id": 90,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "angular-frontend-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 612,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 25,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Application Frameworks \u0026 Libraries",
          "id": 451,
          "rationale": "Covers the primary software frameworks and libraries often used alongside Sitecore for building and enhancing site experiences.",
          "slug": "application-frameworks-libraries",
          "source": "db"
        },
        "dimension_id": 451,
        "input_skill": "Angular",
        "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": "Sitecore Dev",
            "id": 233,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "sitecore-dev",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 612,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 25,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Frameworks \u0026 Libraries",
          "id": 360,
          "rationale": "Manage adoption, integration, and best practices around key software frameworks and libraries.",
          "slug": "frameworks-libraries",
          "source": "db"
        },
        "dimension_id": 360,
        "input_skill": "Angular",
        "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": "Drupal Dev",
            "id": 228,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "drupal-dev",
            "source": "db"
          },
          {
            "display_name": "Engineering Manager",
            "id": 121,
            "rationale": null,
            "role_archetype": null,
            "slug": "engineering-manager",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 612,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 25,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "UI Frameworks and Rendering",
          "id": 115,
          "rationale": "Component frameworks and rendering models used to build browser screens, reusable UI, and interactive client flows. This is a core cluster because frontend engineers spend much of their time composing and updating view hierarchies.",
          "slug": "ui-frameworks-and-rendering",
          "source": "db"
        },
        "dimension_id": 115,
        "input_skill": "Angular",
        "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": "Frontend Developer",
            "id": 7,
            "rationale": null,
            "role_archetype": null,
            "slug": "frontend-engineer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 15,
            "rationale": null,
            "role_archetype": null,
            "slug": "full-stack-engineer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 435,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "fullstack-developer",
            "source": "db"
          },
          {
            "display_name": "Hybrid Mobile Developer",
            "id": 11,
            "rationale": null,
            "role_archetype": null,
            "slug": "hybrid-mobile-developer",
            "source": "db"
          },
          {
            "display_name": "Ionic Developer",
            "id": 434,
            "rationale": null,
            "role_archetype": null,
            "slug": "ionic-developer",
            "source": "db"
          },
          {
            "display_name": "Web Developer",
            "id": 25,
            "rationale": null,
            "role_archetype": null,
            "slug": "web-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 612,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 25,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "C# and .NET Languages",
          "id": 362,
          "rationale": "Primary implementation languages and runtime features used to build backend service logic in the .NET ecosystem. This is the core coding surface for request handling, domain logic, and service internals.",
          "slug": "c-and-net-languages",
          "source": "db"
        },
        "dimension_id": 362,
        "input_skill": ".NET Core",
        "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": ".NET Backend Developer",
            "id": 83,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "dotnet-backend-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 3237,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 25,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "React Frontend Development",
          "id": 96,
          "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
          "slug": "d_init_01",
          "source": "db"
        },
        "dimension_id": 96,
        "input_skill": "Code Review",
        "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": 516,
        "skill_tag": "in_db",
        "skipped_reason": null
      }
    ],
    "new_skills_created": 0,
    "role_dimension_saved": 0,
    "skill_dimension_saved": 0,
    "skipped": 0
  },
  "planner_output": null,
  "run_id": "91e203da-43b6-494a-ae63-74f279c4cbb8"
}