← Back to history

Pipeline run

6594c555-9599-42ff-b607-46fe9dcd68e2

Pipeline LLM cost (USD)
API 1: $0.0048 API 2: $0.0000 API 3: $0.0000 Total: $0.0048

Client output enrichment

v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA description
SPARSE JD role baseline loaded sources · ai_index: role_baseline · nature_of_work: jd · tech_stack_maturity: role_baseline
Nature of work · Responsive UI component development
Build and refine responsive Angular/React UI for a university recruitment product, turning prototypes into production-ready screens while incorporating backend feedback, security practices, and collaboration with the US delivery team.
"conducting research, identifying effective ways of building responsive web applications"
Tech stack maturity
Modern Cloud Native
This role is centered on modern browser-based application development with contemporary frameworks and tooling, but it is not inherently AI-focused.
AI index (0 = no AI use, 5 = totally AI-dependent · v2.1)
1.20 / 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 (2)
Angular React
Skill cluster (1 dimension groups, role-scoped)
UI Frameworks and Rendering
Angular React
Show KRA description ↓
The Angular developer position is part of the core Virtue team. This position is responsible for conducting research, identifying effective ways of building responsive web applications. The role is the part of the technology team developing a cutting-edge product pioneering to revolutionize university recruitment decisions. Utilizing feedback from back-end developers and leveraging the emerging technology to secure, scale, and refine the product UI. The role requires working closely with - the US delivery team and converting the prototypes to mature products. - 2+ years of relevant development experience. - Experience with Angular (5,7,8) or React - Experience with security principles and frameworks - Strong communication skills along with the ability to work in a highly collaborative environment.

Signals

Skill full-stack-engineer
1.00
Alias frontend-engineer
1.00
KRA full-stack-engineer
0.55

Post-classification

Centroidupdated · n=296
Alias collision log#684
New-role queue
New skills captured0
New KRA captured
Status: completed Created: 2026-05-27T15:21:52.449488Z Updated: 2026-06-12T16:33:49.079124Z API 3 duration: 27406 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

Frontend Developer

Angular Frontend Developer

sub-role · 0.85 CASE D

slug: frontend-engineer · id: 7 · source: db · sub-role slug: angular-frontend-developer

LLM2 picked angular-frontend-developer (confidence 0.85)

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

Are you a front-end developer with Angular skills ? Are you acquainted with the terms such as spring boot, hibernate, and restful web services? Do you have experience working on these technologies in an agile environment ? Virtue Analytics is currently looking for a dynamic candidate with an entrepreneurial mindset to take up the above responsibility.


- The Angular developer position is part of the core Virtue team. This position is responsible for conducting research, identifying effective ways of building responsive web applications. The role is the part of the technology team developing a cutting-edge product pioneering to revolutionize university recruitment decisions. Utilizing feedback from back-end developers and leveraging the emerging technology to secure, scale, and refine the product UI. The role requires working closely with - the US delivery team and converting the prototypes to mature products.


Required Experience and Skills :


- 2+ years of relevant development experience.


- Experience with Angular (5,7,8) or React


- Experience with security principles and frameworks


- Strong communication skills along with the ability to work in a highly collaborative environment.


- Virtue Analytics is a SaaS platform; easy to use and available via the cloud. We help universities in exceeding their net tuition revenue goals by mediating their student acquisition, enrolment, and retention cost. At the same time, we assist the university in monitoring the student's learning process leading to their on-time graduation. Our team consists of technology enthusiast data scientists, data engineers, and researchers with elite educational and professional backgrounds.


- The team has comprehensive experience in leveraging the data and building intelligent digital solutions to long-enduring challenges of informed decision-making

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
React Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: React id=610 · react

Aliases — catalog

  • React (CANONICAL) primary
  • React 0.13 (VERSION)
  • React 0.14 (VERSION)
  • React 15 (VERSION)
  • React 15.x (VERSION)
  • React 16 (VERSION)
  • React 16.x (VERSION)
  • React 17 (VERSION)
  • React 17.x (VERSION)
  • React 18 (VERSION)
  • React 18.x (VERSION)
  • React 19 (VERSION)
  • React v15 (VERSION)
  • React v16 (VERSION)
  • React v17 (VERSION)
  • React v18 (VERSION)
  • React v19 (VERSION)
  • ReactJS 18 (VERSION)
  • react 15 (VERSION)
  • react 16 (VERSION)
  • react 17 (VERSION)
  • react 18 (VERSION)
  • react 19 (VERSION)
  • react15 (VERSION)
  • react16 (VERSION)
  • react17 (VERSION)
  • react18 (VERSION)
  • react19 (VERSION)
  • reactjs 18 (VERSION)

Context tags (catalog)

Babel Class Components Component Lifecycle Context API Functional Components Higher-Order Components Hooks JSX Next.js PropTypes Props React Native React Router Redux SSR State Management Styled Components Testing Library TypeScript Virtual DOM Webpack component lifecycle context API frontend hooks props state management useEffect useState virtual DOM

Stored enrichment (catalog DB)

Category
Framework
Sub-category
Frontend Framework
Vendor
Meta
License
mit
Year introduced
2013
Confidence
0.98
Version strategy
SEPARATE_ENTITY
Version tag
18

Maturity reasoning: React appears in high-volume frontend job postings across startups and enterprises and remains a default hiring-pipeline skill, with strong GitHub/npm usage and ecosystem activity.

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)

  • 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

  • Frontend Frameworks and Libraries Catalog dimension db id 434

    Library dimension (catalog)

    Roles linked in library: Shopify Dev

  • JavaScript for WordPress Catalog dimension db id 329

    Library dimension (catalog)

    Roles linked in library: WordPress Dev

  • React Component Architecture Catalog dimension db id 302

    Library dimension (catalog)

    Roles linked in library: React Frontend Developer

  • 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
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)
Frontend Frameworks and Libraries
frontend-frameworks-and-libraries
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
JavaScript for WordPress
javascript-for-wordpress
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
React Component Architecture
react-component-architecture
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

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
React in_db
Application Frameworks & Libraries
application-frameworks-libraries
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
React in_db
Frameworks & Libraries
frameworks-libraries
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
React in_db
Frontend Frameworks and Libraries
frontend-frameworks-and-libraries
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
React in_db
JavaScript for WordPress
javascript-for-wordpress
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
React in_db
React Component Architecture
react-component-architecture
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
React in_db
UI Frameworks and Rendering
ui-frameworks-and-rendering
Existing dimension (library) · Role↔dimension saved

Library artifacts (this run)

No artifact rows for this run.
nano JD Parser — gpt-4.1-nano click to toggle
RoleAngular Developer
CompanyVirtue Analytics
Experience2+ years of relevant development experience.
DomainSoftware & SaaS Products
JD type pass
Show raw JSON
{
  "JD_type": "pass",
  "about_company": {
    "source_marker": {
      "first_5_words": "Virtue Analytics is a SaaS",
      "last_5_words": "informed decision-making."
    },
    "text": "Virtue Analytics is a SaaS platform; easy to use and available via the cloud. We help universities in exceeding their net tuition revenue goals by mediating their student acquisition, enrolment, and retention cost. At the same time, we assist the university in monitoring the student\u0027s learning process leading to their on-time graduation. Our team consists of technology enthusiast data scientists, data engineers, and researchers with elite educational and professional backgrounds. The team has comprehensive experience in leveraging the data and building intelligent digital solutions to long-enduring challenges of informed decision-making.",
    "word_count": 84
  },
  "certifications": [],
  "company_name": "Virtue Analytics",
  "ctc": null,
  "domain": {
    "primary": {
      "aliases": [
        "SaaS",
        "Cloud Services"
      ],
      "domain": "Software \u0026 SaaS Products"
    },
    "secondary": null
  },
  "education": [],
  "experience": {
    "max": null,
    "min": 2,
    "raw": "2+ years of relevant development experience."
  },
  "job_locations": [],
  "role": "Angular Developer",
  "role_aliases": [
    "Frontend Developer",
    "Web Developer",
    "Angular Engineer"
  ],
  "role_archetype": "Engineering",
  "roles_and_responsibilities": [
    {
      "bullet_count": 0,
      "heading": "Role Overview",
      "heading_was_present": false,
      "source_marker": {
        "first_5_words": "The Angular developer position is",
        "last_5_words": "to mature products."
      },
      "text": "The Angular developer position is part of the core Virtue team. This position is responsible for conducting research, identifying effective ways of building responsive web applications. The role is the part of the technology team developing a cutting-edge product pioneering to revolutionize university recruitment decisions. Utilizing feedback from back-end developers and leveraging the emerging technology to secure, scale, and refine the product UI. The role requires working closely with - the US delivery team and converting the prototypes to mature products.",
      "word_count": 83
    },
    {
      "bullet_count": 4,
      "heading": "Required Experience and Skills",
      "heading_was_present": true,
      "source_marker": {
        "first_5_words": "- 2+ years of relevant",
        "last_5_words": "highly collaborative environment."
      },
      "text": "- 2+ years of relevant development experience.\n\n- Experience with Angular (5,7,8) or React\n\n- Experience with security principles and frameworks\n\n- Strong communication skills along with the ability to work in a highly collaborative environment.",
      "word_count": 41
    }
  ],
  "urls": []
}
API 1 — extract-from-jd click to toggle
{
  "final_skills": [
    {
      "is_primary": true,
      "skill_name": "Angular"
    },
    {
      "is_primary": true,
      "skill_name": "React"
    }
  ],
  "jd_role": {
    "display_name": "Angular Developer",
    "rationale": null,
    "role_aliases": [
      "Frontend Developer",
      "Web Developer",
      "Angular Engineer"
    ],
    "role_archetype": "Engineering",
    "slug": ""
  },
  "nano_parsed": {
    "JD_type": "pass",
    "about_company": {
      "source_marker": {
        "first_5_words": "Virtue Analytics is a SaaS",
        "last_5_words": "informed decision-making."
      },
      "text": "Virtue Analytics is a SaaS platform; easy to use and available via the cloud. We help universities in exceeding their net tuition revenue goals by mediating their student acquisition, enrolment, and retention cost. At the same time, we assist the university in monitoring the student\u0027s learning process leading to their on-time graduation. Our team consists of technology enthusiast data scientists, data engineers, and researchers with elite educational and professional backgrounds. The team has comprehensive experience in leveraging the data and building intelligent digital solutions to long-enduring challenges of informed decision-making.",
      "word_count": 84
    },
    "certifications": [],
    "company_name": "Virtue Analytics",
    "ctc": null,
    "domain": {
      "primary": {
        "aliases": [
          "SaaS",
          "Cloud Services"
        ],
        "domain": "Software \u0026 SaaS Products"
      },
      "secondary": null
    },
    "education": [],
    "experience": {
      "max": null,
      "min": 2,
      "raw": "2+ years of relevant development experience."
    },
    "job_locations": [],
    "role": "Angular Developer",
    "role_aliases": [
      "Frontend Developer",
      "Web Developer",
      "Angular Engineer"
    ],
    "role_archetype": "Engineering",
    "roles_and_responsibilities": [
      {
        "bullet_count": 0,
        "heading": "Role Overview",
        "heading_was_present": false,
        "source_marker": {
          "first_5_words": "The Angular developer position is",
          "last_5_words": "to mature products."
        },
        "text": "The Angular developer position is part of the core Virtue team. This position is responsible for conducting research, identifying effective ways of building responsive web applications. The role is the part of the technology team developing a cutting-edge product pioneering to revolutionize university recruitment decisions. Utilizing feedback from back-end developers and leveraging the emerging technology to secure, scale, and refine the product UI. The role requires working closely with - the US delivery team and converting the prototypes to mature products.",
        "word_count": 83
      },
      {
        "bullet_count": 4,
        "heading": "Required Experience and Skills",
        "heading_was_present": true,
        "source_marker": {
          "first_5_words": "- 2+ years of relevant",
          "last_5_words": "highly collaborative environment."
        },
        "text": "- 2+ years of relevant development experience.\n\n- Experience with Angular (5,7,8) or React\n\n- Experience with security principles and frameworks\n\n- Strong communication skills along with the ability to work in a highly collaborative environment.",
        "word_count": 41
      }
    ],
    "urls": []
  },
  "rejected": false,
  "rejection_reason": null,
  "run_id": "6594c555-9599-42ff-b607-46fe9dcd68e2",
  "stage3_signals": {
    "alias_found": true,
    "alias_match_roles": [
      {
        "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
      },
      {
        "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": "Angular Frontend Developer",
        "kra_matches": null,
        "matched_count": null,
        "matched_skills": null,
        "role_id": 90,
        "score": 1.0,
        "slug": "angular-frontend-developer",
        "total_count": null
      },
      {
        "display_name": "Frontend Developer",
        "kra_matches": null,
        "matched_count": null,
        "matched_skills": null,
        "role_id": 439,
        "score": 1.0,
        "slug": "frontend-developer",
        "total_count": null
      }
    ],
    "kra_match_roles": [
      {
        "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": "Utilizing feedback from back-end developers and leveraging the emerging technology to secure, scale, and refine the product UI.",
            "similarity": 0.6217
          },
          {
            "kra_text": "Works closely with product managers and UX designers to translate requirements and wireframes into working software features through iterative development.",
            "sentence": "The role requires working closely with - the US delivery team and converting the prototypes to mature products.",
            "similarity": 0.578
          },
          {
            "kra_text": "Works closely with product managers and UX designers to translate requirements and wireframes into working software features through iterative development.",
            "sentence": "This position is responsible for conducting research, identifying effective ways of building responsive web applications.",
            "similarity": 0.4648
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 15,
        "score": 0.5548,
        "slug": "full-stack-engineer",
        "total_count": null
      },
      {
        "display_name": "Flutter Developer",
        "kra_matches": [
          {
            "kra_text": "collaborate with design, product, and backend teams",
            "sentence": "Utilizing feedback from back-end developers and leveraging the emerging technology to secure, scale, and refine the product UI.",
            "similarity": 0.596
          },
          {
            "kra_text": "translate product and design requirements",
            "sentence": "The role requires working closely with - the US delivery team and converting the prototypes to mature products.",
            "similarity": 0.5111
          },
          {
            "kra_text": "collaborate with design, product, and backend teams",
            "sentence": "Strong communication skills along with the ability to work in a highly collaborative environment.",
            "similarity": 0.4357
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 74,
        "score": 0.5142,
        "slug": "flutter-developer",
        "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": "Utilizing feedback from back-end developers and leveraging the emerging technology to secure, scale, and refine the product UI.",
            "similarity": 0.5731
          },
          {
            "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": "This position is responsible for conducting research, identifying effective ways of building responsive web applications.",
            "similarity": 0.53
          },
          {
            "kra_text": "Collaborates with UX designers to refine interaction details, animations, responsive breakpoints, and micro-interaction behavior.",
            "sentence": "The role requires working closely with - the US delivery team and converting the prototypes to mature products.",
            "similarity": 0.4295
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 7,
        "score": 0.5109,
        "slug": "frontend-engineer",
        "total_count": null
      },
      {
        "display_name": "React Frontend Developer",
        "kra_matches": [
          {
            "kra_text": "connect UI to backend data and actions",
            "sentence": "Utilizing feedback from back-end developers and leveraging the emerging technology to secure, scale, and refine the product UI.",
            "similarity": 0.5297
          },
          {
            "kra_text": "translate product and design requirements",
            "sentence": "The role requires working closely with - the US delivery team and converting the prototypes to mature products.",
            "similarity": 0.5111
          },
          {
            "kra_text": "support responsive layouts and browser compatibility",
            "sentence": "This position is responsible for conducting research, identifying effective ways of building responsive web applications.",
            "similarity": 0.487
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 89,
        "score": 0.5092,
        "slug": "react-frontend-developer",
        "total_count": null
      },
      {
        "display_name": "Angular Frontend Developer",
        "kra_matches": [
          {
            "kra_text": "collaboration with design and QA",
            "sentence": "Utilizing feedback from back-end developers and leveraging the emerging technology to secure, scale, and refine the product UI.",
            "similarity": 0.522
          },
          {
            "kra_text": "Angular component development",
            "sentence": "The Angular developer position is part of the core Virtue team.",
            "similarity": 0.4729
          },
          {
            "kra_text": "collaboration with design and QA",
            "sentence": "The role requires working closely with - the US delivery team and converting the prototypes to mature products.",
            "similarity": 0.4675
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 90,
        "score": 0.4875,
        "slug": "angular-frontend-developer",
        "total_count": null
      }
    ],
    "skill_match_roles": [
      {
        "display_name": "Fullstack Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Angular",
          "React"
        ],
        "role_id": 15,
        "score": 1.0,
        "slug": "full-stack-engineer",
        "total_count": 2
      },
      {
        "display_name": "Frontend Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Angular",
          "React"
        ],
        "role_id": 7,
        "score": 1.0,
        "slug": "frontend-engineer",
        "total_count": 2
      },
      {
        "display_name": "Web Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Angular",
          "React"
        ],
        "role_id": 25,
        "score": 1.0,
        "slug": "web-developer",
        "total_count": 2
      },
      {
        "display_name": "Hybrid Mobile Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Angular",
          "React"
        ],
        "role_id": 11,
        "score": 1.0,
        "slug": "hybrid-mobile-developer",
        "total_count": 2
      },
      {
        "display_name": "Engineering Manager",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Angular",
          "React"
        ],
        "role_id": 121,
        "score": 1.0,
        "slug": "engineering-manager",
        "total_count": 2
      }
    ]
  },
  "stage4_decision": {
    "alias_collision_detected": true,
    "case": "D",
    "chosen_role": {
      "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
    },
    "confidence": 0.85,
    "is_new_role": false,
    "llm2_fired": true,
    "llm2_reasoning": "The JD specifically calls for an Angular developer role focused on building responsive web apps with Angular, matching the Angular Frontend Developer\u2019s KRAs and skills.",
    "matched_dimensions": [],
    "matched_kras": [],
    "matched_skills": [],
    "new_role_display_name": null,
    "new_role_slug": null,
    "queued": false,
    "reasoning": "LLM2 picked angular-frontend-developer (confidence 0.85)",
    "sub_role": {
      "confidence": 0.85,
      "display_name": "Angular Frontend Developer",
      "reasoning": "hoisted from chosen leaf (case=D)",
      "role_id": 90,
      "slug": "angular-frontend-developer"
    }
  },
  "stage5_updates": {
    "centroid_n_after": 296,
    "centroid_updated": true,
    "collision_log_id": 684,
    "new_kra_attached": null,
    "new_skills_attached": [],
    "queue_entry_id": null,
    "v3_pipeline_triggered": false,
    "v3_role_slug": null,
    "v3_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": 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": 1047,
      "existing_alias_text": "React",
      "input_term": "React",
      "matched_canonical": {
        "category_id": 5,
        "display_name": "React",
        "id": 610,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "react",
        "sub_category_id": 1072,
        "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": "Shopify Dev",
      "id": 230,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "shopify-dev",
      "source": "db"
    },
    {
      "display_name": "WordPress Dev",
      "id": 227,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "wordpress-dev",
      "source": "db"
    },
    {
      "display_name": "React Frontend Developer",
      "id": 89,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "react-frontend-developer",
      "source": "db"
    }
  ],
  "chosen_role": {
    "display_name": "Frontend Developer",
    "id": 7,
    "rationale": "LLM2 picked angular-frontend-developer (confidence 0.85)",
    "role_archetype": null,
    "slug": "frontend-engineer",
    "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": "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": "React",
      "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": "React",
      "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": "Frontend Frameworks and Libraries",
        "id": 434,
        "rationale": "Utilizing modern JavaScript frameworks and Shopify libraries to build dynamic and interactive storefronts.",
        "slug": "frontend-frameworks-and-libraries",
        "source": "db"
      },
      "input_skill": "React",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Shopify Dev",
          "id": 230,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "shopify-dev",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "JavaScript for WordPress",
        "id": 329,
        "rationale": "Client-side scripting used to enhance WordPress themes, blocks, and admin/editor interactions. This includes modern JavaScript patterns as they apply to WordPress-specific behavior rather than standalone frontend applications.",
        "slug": "javascript-for-wordpress",
        "source": "db"
      },
      "input_skill": "React",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "WordPress Dev",
          "id": 227,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "wordpress-dev",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "React Component Architecture",
        "id": 302,
        "rationale": "Building reusable React components, composing props and children, and managing rendering behavior across feature screens. This is the primary framework cluster for a React frontend developer.",
        "slug": "react-component-architecture",
        "source": "db"
      },
      "input_skill": "React",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "React Frontend Developer",
          "id": 89,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "react-frontend-developer",
          "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": "React",
      "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_final_skills": [
    "Angular",
    "React"
  ],
  "input_llm_skills": [
    "Angular",
    "React"
  ],
  "new_aliases_persisted": 0,
  "run_id": "6594c555-9599-42ff-b607-46fe9dcd68e2",
  "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": "React",
          "alias_type": "CANONICAL",
          "id": 1047,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React 0.13",
          "alias_type": "VERSION",
          "id": 1052,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React 0.14",
          "alias_type": "VERSION",
          "id": 1053,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React 15",
          "alias_type": "VERSION",
          "id": 1048,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React 15.x",
          "alias_type": "VERSION",
          "id": 1054,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React 16",
          "alias_type": "VERSION",
          "id": 1049,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React 16.x",
          "alias_type": "VERSION",
          "id": 1055,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React 17",
          "alias_type": "VERSION",
          "id": 1050,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React 17.x",
          "alias_type": "VERSION",
          "id": 1056,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React 18",
          "alias_type": "VERSION",
          "id": 1051,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React 18.x",
          "alias_type": "VERSION",
          "id": 1057,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React 19",
          "alias_type": "VERSION",
          "id": 2068,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React v15",
          "alias_type": "VERSION",
          "id": 3185,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React v16",
          "alias_type": "VERSION",
          "id": 3186,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React v17",
          "alias_type": "VERSION",
          "id": 3187,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React v18",
          "alias_type": "VERSION",
          "id": 3188,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "React v19",
          "alias_type": "VERSION",
          "id": 6510,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "ReactJS 18",
          "alias_type": "VERSION",
          "id": 2074,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "react 15",
          "alias_type": "VERSION",
          "id": 2069,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "react 16",
          "alias_type": "VERSION",
          "id": 2070,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "react 17",
          "alias_type": "VERSION",
          "id": 2071,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "react 18",
          "alias_type": "VERSION",
          "id": 2072,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "react 19",
          "alias_type": "VERSION",
          "id": 2073,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "react15",
          "alias_type": "VERSION",
          "id": 3177,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "react16",
          "alias_type": "VERSION",
          "id": 3178,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "react17",
          "alias_type": "VERSION",
          "id": 3179,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "react18",
          "alias_type": "VERSION",
          "id": 3180,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "react19",
          "alias_type": "VERSION",
          "id": 6500,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "reactjs 18",
          "alias_type": "VERSION",
          "id": 2075,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 5,
        "display_name": "React",
        "id": 610,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "react",
        "sub_category_id": 1072,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "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": "React",
          "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": "React",
          "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": "Frontend Frameworks and Libraries",
            "id": 434,
            "rationale": "Utilizing modern JavaScript frameworks and Shopify libraries to build dynamic and interactive storefronts.",
            "slug": "frontend-frameworks-and-libraries",
            "source": "db"
          },
          "input_skill": "React",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Shopify Dev",
              "id": 230,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "shopify-dev",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "JavaScript for WordPress",
            "id": 329,
            "rationale": "Client-side scripting used to enhance WordPress themes, blocks, and admin/editor interactions. This includes modern JavaScript patterns as they apply to WordPress-specific behavior rather than standalone frontend applications.",
            "slug": "javascript-for-wordpress",
            "source": "db"
          },
          "input_skill": "React",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "WordPress Dev",
              "id": 227,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "wordpress-dev",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "React Component Architecture",
            "id": 302,
            "rationale": "Building reusable React components, composing props and children, and managing rendering behavior across feature screens. This is the primary framework cluster for a React frontend developer.",
            "slug": "react-component-architecture",
            "source": "db"
          },
          "input_skill": "React",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "React Frontend Developer",
              "id": 89,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "react-frontend-developer",
              "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": "React",
          "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": "React",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    }
  ],
  "unmatched_skills": []
}
API 3 — final-role-output
{
  "chosen_role": {
    "display_name": "Frontend Developer",
    "id": 7,
    "rationale": "LLM2 picked angular-frontend-developer (confidence 0.85)",
    "role_archetype": null,
    "slug": "frontend-engineer",
    "source": "db"
  },
  "chosen_role_resolution": "in_db",
  "final_input_skills": [
    {
      "skill": "Angular",
      "tag": "in_db"
    },
    {
      "skill": "React",
      "tag": "in_db"
    }
  ],
  "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": 7,
        "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": 7,
        "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": 7,
        "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": 7,
        "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": 7,
        "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": "React",
        "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": 610,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 7,
        "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": "React",
        "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": 610,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 7,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Frontend Frameworks and Libraries",
          "id": 434,
          "rationale": "Utilizing modern JavaScript frameworks and Shopify libraries to build dynamic and interactive storefronts.",
          "slug": "frontend-frameworks-and-libraries",
          "source": "db"
        },
        "dimension_id": 434,
        "input_skill": "React",
        "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": "Shopify Dev",
            "id": 230,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "shopify-dev",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 610,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 7,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "JavaScript for WordPress",
          "id": 329,
          "rationale": "Client-side scripting used to enhance WordPress themes, blocks, and admin/editor interactions. This includes modern JavaScript patterns as they apply to WordPress-specific behavior rather than standalone frontend applications.",
          "slug": "javascript-for-wordpress",
          "source": "db"
        },
        "dimension_id": 329,
        "input_skill": "React",
        "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": "WordPress Dev",
            "id": 227,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "wordpress-dev",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 610,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 7,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "React Component Architecture",
          "id": 302,
          "rationale": "Building reusable React components, composing props and children, and managing rendering behavior across feature screens. This is the primary framework cluster for a React frontend developer.",
          "slug": "react-component-architecture",
          "source": "db"
        },
        "dimension_id": 302,
        "input_skill": "React",
        "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": "React Frontend Developer",
            "id": 89,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "react-frontend-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 610,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 7,
        "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": "React",
        "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": 610,
        "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": "6594c555-9599-42ff-b607-46fe9dcd68e2"
}

LLM Calls

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

Loading…