← Back to history

Pipeline run

ce317dac-81ec-4dc0-ba41-1547b7c45e14

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

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: no_kras · tech_stack_maturity: jd
Nature of work no kras
Vague JD — no KRAs present to derive a specific nature of work.
Tech stack maturity
Mainstream Modern
The stack centers on Kotlin, Retrofit, and Dagger for Android development, which are widely used modern mainstream technologies, with RxJava indicating a somewhat established but still common architectural choice.
AI index (0 = no AI use, 5 = totally AI-dependent · v2.1)
1.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 (6)
RxJava Dagger Retrofit Kotlin Android WCAG
Skill cluster (3 dimension groups, role-scoped)
Native Mobile Languages
Kotlin
Networking and API Integration
Retrofit
Cross-cutting / unaligned
RxJava Dagger Android WCAG

Signals

Skill android-engineer
0.67
Alias
KRA frontend-engineer
0.42

Post-classification

Centroidupdated · n=98
Alias collision log
New-role queue
New skills captured0
New KRA captured
Status: completed Created: 2026-05-27T16:39:59.747609Z Updated: 2026-05-27T16:40:49.935324Z API 3 duration: 25078 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

Native Mobile Developer

Android Developer

sub-role · 0.99 domain · Software Engineering CASE DOMAIN

slug: native-mobile-developer · id: 75 · source: db · sub-role slug: android-engineer

Domain=Software Engineering → sub-role android-engineer; The JD centers on Android mobile application development with Kotlin and mobile UI architecture, which best matches a Native Mobile Developer.

Matched skills

Reactive Programming (RxJava)DaggerRetrofitKotlinAndroidWeb Content Accessibility Guidelines (WCAG) 2.0WCAG 2.1

Matched dimensions

Android mobile application developmentMobile UI architecture and designAccessibility compliance

Matched KRAs

architecting, designing and developing Android mobile and Web user interface mobile applicationsExperience with Reactive Programming2+ year experience in Web Content Accessibility Guidelines

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

Required Qualifications: 


• Experience with Reactive Programming (RxJava), Dependency Injection (Dagger), Retrofit and Kotlin 
• 5+ years of Software Engineering experience, or equivalent demonstrated through one or a combination of the following: work experience, training, military experience, education. 
• 4+ years of Software Development experience with architecting, designing and developing Android mobile and Web user interface mobile applications 
• 3+ years of experience with Kotlin 
• 2+ year experience in Web Content Accessibility Guidelines (WCAG) 2.0, 2.1 or a combination of both

Skills from this JD

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

RxJava Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: RxJava id=1640 · rxjava

Aliases — catalog

  • RxJava (CANONICAL)
  • RxJava 2 (VERSION)
  • RxJava 3 (VERSION)
  • RxJava2 (VERSION)
  • RxJava3 (VERSION)
  • rxjava2 (VERSION)
  • rxjava3 (VERSION)

Context tags (catalog)

Android Asynchronous Backpressure Completable Event-driven Flowable Functional programming Kotlin Coroutines Observable Operators Reactive Streams Scheduler Single Stream processing Subject

Stored enrichment (catalog DB)

Category
Library
Sub-category
Reactive Programming Library
Vendor
Netflix
License
apache_2
Year introduced
2013
Confidence
0.98
Version strategy
SEPARATE_ENTITY
Version tag
3.x

Maturity reasoning: RxJava still appears in Android/Java job ads, but far less than Kotlin coroutines/Reactor; market demand is concentrated in legacy or reactive-heavy codebases rather than broad new-project adoption.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Kotlin and Java Catalog dimension db id 161

    Library dimension (catalog)

    Roles linked in library: Android Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Kotlin and Java
kotlin-and-java
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Dagger Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Dagger id=984 · dagger

Aliases — catalog

  • Dagger (CANONICAL) primary

Context tags (catalog)

Android Dagger 2 Hilt annotation bind component dependency injection graph inject module provider qualifier scope singleton subcomponent

Stored enrichment (catalog DB)

Category
Library
Sub-category
Dependency Injection Library
Vendor
Google
License
apache_2
Year introduced
2014
Confidence
0.97
Version strategy
NOT_APPLICABLE

Maturity reasoning: Dagger is a standard Android/Java DI library and appears frequently in Android job descriptions; its successor Hilt is also promoted by Google, but Dagger remains widely used in existing codebases.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • App Architecture and Dependency Injection Catalog dimension db id 94

    Library dimension (catalog)

    Roles linked in library: Android Developer, iOS Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
App Architecture and Dependency Injection
app-architecture-and-dependency-injection
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Retrofit Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Retrofit id=933 · retrofit

Aliases — catalog

  • Retrofit (CANONICAL) primary

Context tags (catalog)

API Android Gson HTTP client HTTP requests JSON JSON parsing Moshi OkHttp REST RESTful API RxJava annotations asynchronous asynchronous requests dependency injection interceptors network requests networking response handling retrofit2 synchronous type converters type-safe

Stored enrichment (catalog DB)

Category
Library
Sub-category
Http Client Library
Vendor
Square, Inc.
License
apache_2
Year introduced
2013
Confidence
0.97
Version strategy
NOT_APPLICABLE

Maturity reasoning: Retrofit appears in many Android job descriptions and remains a standard HTTP client library in the Android ecosystem, with broad GitHub usage and active maintenance rather than a sunset signal.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Networking and API Integration Catalog dimension db id 84

    Library dimension (catalog)

    Roles linked in library: Android Developer, Hybrid Mobile Developer, Native Mobile Developer, iOS Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Networking and API Integration
networking-and-api-integration
Existing dimension (library) · Role↔dimension saved
Kotlin Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Kotlin id=2 · kotlin

Aliases — catalog

  • Kotlin (CANONICAL) primary
  • kotlin 1.9 (VERSION)
  • kotlin 1.9.0 (VERSION)
  • kotlin 1.9.1 (VERSION)
  • kotlin 1.9.10 (VERSION)
  • kotlin 1.9.x (VERSION)
  • kotlin-1.9 (VERSION)

Context tags (catalog)

Android Anko Coroutines DSL Dagger Data classes Extension functions Flow Gradle Hilt JUnit Jetpack Jetpack Compose Kotlin DSL Kotlin Native Kotlinx Ktor MVI MVVM Mockito Multiplatform Null safety Retrofit Room RxKotlin Sealed classes Spring Type inference

Stored enrichment (catalog DB)

Category
Language
Sub-category
Programming Language
Vendor
JetBrains
License
apache_2
Year introduced
2011
Confidence
0.99
Version strategy
NOT_APPLICABLE

Maturity reasoning: Kotlin appears in many Android, backend, and multiplatform job postings, and JetBrains reports strong ecosystem growth; it’s a mainstream hiring skill rather than niche.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Java Language and JVM Catalog dimension db id 279

    Library dimension (catalog)

    Roles linked in library: Java Backend Developer, Kotlin Backend Developer, Scala Backend Developer

  • Kotlin and Java Catalog dimension db id 161

    Library dimension (catalog)

    Roles linked in library: Android Developer

  • Native Mobile Languages Catalog dimension db id 274

    Library dimension (catalog)

    Roles linked in library: Native Mobile Developer

  • Programming Languages Catalog dimension db id 1

    Library dimension (catalog)

    Roles linked in library: Backend Developer, Fullstack Developer, Fullstack Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Java Language and JVM
java-language-and-jvm
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Kotlin and Java
kotlin-and-java
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Native Mobile Languages
native-mobile-languages
Existing dimension (library) · Role↔dimension saved
Programming Languages
programming-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Android Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Android id=1595 · android

Aliases — catalog

  • Android (CANONICAL)

Context tags (catalog)

API Level Android SDK Android Studio Firebase Gradle Java Jetpack Kotlin LiveData MVVM Material Design RecyclerView Retrofit Room XML

Stored enrichment (catalog DB)

Category
Platform
Sub-category
Mobile Platform
Vendor
Google
License
apache_2
Year introduced
2008
Confidence
0.95
Version strategy
NOT_APPLICABLE

Maturity reasoning: Android appears in large volumes of mobile job postings and remains a standard platform in hiring pipelines; Google continues active platform releases and OEM ecosystem support, indicating broad adoption.

Skill profile (library / DB)

Skill nature
PLATFORM
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
9
Sub-category id
1201
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)
WCAG Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: WCAG id=645 · wcag

Aliases — catalog

  • WCAG (CANONICAL) primary
  • WCAG 2 (VERSION)
  • WCAG 2.0 (VERSION)
  • WCAG 2.1 (VERSION)
  • WCAG 2.2 (VERSION)
  • WCAG 3 (VERSION)
  • WCAG2 (VERSION)
  • WCAG2.0 (VERSION)
  • WCAG2.1 (VERSION)
  • WCAG2.2 (VERSION)

Context tags (catalog)

ADA ARIA Section 508 WCAG 2.1 WCAG 2.2 a11y accessibility accessibility audit accessible forms alt text assistive technology audit best practices captioning cognitive accessibility color contrast compliance focus management focus order inclusive design keyboard navigation mobile accessibility remediation screen reader semantic HTML usability usability testing user experience user testing visual impairment web accessibility

Stored enrichment (catalog DB)

Category
Standard
Sub-category
Accessibility Standard
Vendor
W3C
License
other_open
Year introduced
1999
Confidence
0.99
Version strategy
SEPARATE_ENTITY
Version tag
2.2

Maturity reasoning: WCAG is a core accessibility standard referenced in many job descriptions for web/product roles and is the basis for ADA/Section 508 compliance work; it remains the default market signal for accessibility requirements.

Skill profile (library / DB)

Skill nature
STANDARD
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
12
Sub-category id
502
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Accessibility Standards and Testing Catalog dimension db id 121

    Library dimension (catalog)

    Roles linked in library: Angular Frontend Developer, Frontend Developer, React Frontend Developer, Svelte Frontend Developer, Vue Frontend Developer, Web Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Accessibility Standards and Testing
accessibility-standards-and-testing
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)

All API 3 persistence rows

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

Skill Tag Dimension Skill↔dim Role↔dim Outcome Notes
RxJava in_db
Kotlin and Java
kotlin-and-java
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Dagger in_db
App Architecture and Dependency Injection
app-architecture-and-dependency-injection
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Retrofit in_db
Networking and API Integration
networking-and-api-integration
Existing dimension (library) · Role↔dimension saved
Kotlin in_db
Java Language and JVM
java-language-and-jvm
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Kotlin in_db
Kotlin and Java
kotlin-and-java
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Kotlin in_db
Native Mobile Languages
native-mobile-languages
Existing dimension (library) · Role↔dimension saved
Kotlin in_db
Programming Languages
programming-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Android in_db
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
WCAG in_db
Accessibility Standards and Testing
accessibility-standards-and-testing
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)

Library artifacts (this run)

No artifact rows for this run.
nano JD Parser — gpt-4.1-nano click to toggle
JD type fail
Show raw JSON
{
  "JD_type": "fail",
  "archetype_override_applied": true,
  "archetype_override_matched_skills": [
    "RxJava",
    "Dagger",
    "Kotlin",
    "Android",
    "Retrofit",
    "dependency injection",
    "WCAG"
  ],
  "role_archetype": "Engineering"
}
API 1 — extract-from-jd click to toggle
{
  "final_skills": [
    {
      "is_primary": true,
      "skill_name": "RxJava"
    },
    {
      "is_primary": true,
      "skill_name": "Dagger"
    },
    {
      "is_primary": true,
      "skill_name": "Retrofit"
    },
    {
      "is_primary": true,
      "skill_name": "Kotlin"
    },
    {
      "is_primary": true,
      "skill_name": "Android"
    },
    {
      "is_primary": true,
      "skill_name": "WCAG"
    }
  ],
  "jd_role": null,
  "nano_parsed": {
    "JD_type": "fail",
    "archetype_override_applied": true,
    "archetype_override_matched_skills": [
      "RxJava",
      "Dagger",
      "Kotlin",
      "Android",
      "Retrofit",
      "dependency injection",
      "WCAG"
    ],
    "role_archetype": "Engineering"
  },
  "rejected": false,
  "rejection_reason": null,
  "run_id": "ce317dac-81ec-4dc0-ba41-1547b7c45e14",
  "stage3_signals": {
    "alias_found": false,
    "alias_match_roles": [],
    "kra_match_roles": [
      {
        "display_name": "Frontend Developer",
        "kra_matches": [
          {
            "kra_text": "Ensures WCAG accessibility compliance by implementing semantic HTML, ARIA attributes, keyboard navigation, and screen reader compatibility.",
            "sentence": "2+ year experience in Web Content Accessibility Guidelines (WCAG) 2.0, 2.1 or a combination of both",
            "similarity": 0.6346
          },
          {
            "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": "4+ years of Software Development experience with architecting, designing and developing Android mobile and Web user interface mobile applications",
            "similarity": 0.3959
          },
          {
            "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": "5+ years of Software Engineering experience, or equivalent demonstrated through one or a combination of the following: work experience, training, military experience, education.",
            "similarity": 0.2412
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 7,
        "score": 0.4239,
        "slug": "frontend-engineer",
        "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": "4+ years of Software Development experience with architecting, designing and developing Android mobile and Web user interface mobile applications",
            "similarity": 0.4263
          },
          {
            "kra_text": "Works closely with product managers and UX designers to translate requirements and wireframes into working software features through iterative development.",
            "sentence": "2+ year experience in Web Content Accessibility Guidelines (WCAG) 2.0, 2.1 or a combination of both",
            "similarity": 0.3248
          },
          {
            "kra_text": "Works closely with product managers and UX designers to translate requirements and wireframes into working software features through iterative development.",
            "sentence": "5+ years of Software Engineering experience, or equivalent demonstrated through one or a combination of the following: work experience, training, military experience, education.",
            "similarity": 0.3139
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 15,
        "score": 0.355,
        "slug": "full-stack-engineer",
        "total_count": null
      },
      {
        "display_name": "Pega Developer",
        "kra_matches": [
          {
            "kra_text": "user interaction design and refinement",
            "sentence": "2+ year experience in Web Content Accessibility Guidelines (WCAG) 2.0, 2.1 or a combination of both",
            "similarity": 0.3903
          },
          {
            "kra_text": "user interaction design and refinement",
            "sentence": "4+ years of Software Development experience with architecting, designing and developing Android mobile and Web user interface mobile applications",
            "similarity": 0.3868
          },
          {
            "kra_text": "external system integration implementation",
            "sentence": "5+ years of Software Engineering experience, or equivalent demonstrated through one or a combination of the following: work experience, training, military experience, education.",
            "similarity": 0.2872
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 24,
        "score": 0.3548,
        "slug": "pega-developer",
        "total_count": null
      },
      {
        "display_name": "Svelte Frontend Developer",
        "kra_matches": [
          {
            "kra_text": "accessibility and usability",
            "sentence": "2+ year experience in Web Content Accessibility Guidelines (WCAG) 2.0, 2.1 or a combination of both",
            "similarity": 0.499
          },
          {
            "kra_text": "UI component development",
            "sentence": "4+ years of Software Development experience with architecting, designing and developing Android mobile and Web user interface mobile applications",
            "similarity": 0.3626
          },
          {
            "kra_text": "UI component development",
            "sentence": "5+ years of Software Engineering experience, or equivalent demonstrated through one or a combination of the following: work experience, training, military experience, education.",
            "similarity": 0.1957
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 92,
        "score": 0.3525,
        "slug": "svelte-frontend-developer",
        "total_count": null
      },
      {
        "display_name": "Web Developer",
        "kra_matches": [
          {
            "kra_text": "apply accessibility requirements",
            "sentence": "2+ year experience in Web Content Accessibility Guidelines (WCAG) 2.0, 2.1 or a combination of both",
            "similarity": 0.5236
          },
          {
            "kra_text": "Implement browser-based UI flows",
            "sentence": "4+ years of Software Development experience with architecting, designing and developing Android mobile and Web user interface mobile applications",
            "similarity": 0.3328
          },
          {
            "kra_text": "debug browser-based product issues",
            "sentence": "5+ years of Software Engineering experience, or equivalent demonstrated through one or a combination of the following: work experience, training, military experience, education.",
            "similarity": 0.1909
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 25,
        "score": 0.3491,
        "slug": "web-developer",
        "total_count": null
      }
    ],
    "skill_match_roles": [
      {
        "display_name": "Android Developer",
        "kra_matches": null,
        "matched_count": 4,
        "matched_skills": [
          "Dagger",
          "Kotlin",
          "Retrofit",
          "RxJava"
        ],
        "role_id": 4,
        "score": 0.6667,
        "slug": "android-engineer",
        "total_count": 6
      },
      {
        "display_name": "iOS Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Dagger",
          "Retrofit"
        ],
        "role_id": 6,
        "score": 0.3333,
        "slug": "ios-engineer",
        "total_count": 6
      },
      {
        "display_name": "Native Mobile Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Kotlin",
          "Retrofit"
        ],
        "role_id": 75,
        "score": 0.3333,
        "slug": "native-mobile-developer",
        "total_count": 6
      },
      {
        "display_name": "Hybrid Mobile Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "Retrofit"
        ],
        "role_id": 11,
        "score": 0.1667,
        "slug": "hybrid-mobile-developer",
        "total_count": 6
      },
      {
        "display_name": "Frontend Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "WCAG"
        ],
        "role_id": 7,
        "score": 0.1667,
        "slug": "frontend-engineer",
        "total_count": 6
      }
    ]
  },
  "stage4_decision": {
    "alias_collision_detected": false,
    "case": "DOMAIN",
    "chosen_role": {
      "display_name": "Native Mobile Developer",
      "kra_matches": null,
      "matched_count": null,
      "matched_skills": null,
      "role_id": 75,
      "score": 0.94,
      "slug": "native-mobile-developer",
      "total_count": null
    },
    "confidence": 0.94,
    "is_new_role": false,
    "llm2_fired": false,
    "llm2_reasoning": null,
    "matched_dimensions": [
      "Android mobile application development",
      "Mobile UI architecture and design",
      "Accessibility compliance"
    ],
    "matched_kras": [
      "architecting, designing and developing Android mobile and Web user interface mobile applications",
      "Experience with Reactive Programming",
      "2+ year experience in Web Content Accessibility Guidelines"
    ],
    "matched_skills": [
      "Reactive Programming (RxJava)",
      "Dagger",
      "Retrofit",
      "Kotlin",
      "Android",
      "Web Content Accessibility Guidelines (WCAG) 2.0",
      "WCAG 2.1"
    ],
    "new_role_display_name": null,
    "new_role_slug": null,
    "queued": false,
    "reasoning": "Domain=Software Engineering \u2192 sub-role android-engineer; The JD centers on Android mobile application development with Kotlin and mobile UI architecture, which best matches a Native Mobile Developer.",
    "sub_role": {
      "confidence": 0.99,
      "display_name": "Android Developer",
      "reasoning": "The JD explicitly centers on Android mobile application development and names Kotlin, RxJava, Dagger, and Retrofit, with no iOS signals.",
      "role_id": 4,
      "slug": "android-engineer"
    }
  },
  "stage5_updates": {
    "centroid_n_after": 98,
    "centroid_updated": true,
    "collision_log_id": null,
    "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": 2604,
      "existing_alias_text": "RxJava",
      "input_term": "RxJava",
      "matched_canonical": {
        "category_id": 7,
        "display_name": "RxJava",
        "id": 1640,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LIBRARY",
        "slug": "rxjava",
        "sub_category_id": 1235,
        "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": 1594,
      "existing_alias_text": "Dagger",
      "input_term": "Dagger",
      "matched_canonical": {
        "category_id": 7,
        "display_name": "Dagger",
        "id": 984,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LIBRARY",
        "slug": "dagger",
        "sub_category_id": 698,
        "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": 1536,
      "existing_alias_text": "Retrofit",
      "input_term": "Retrofit",
      "matched_canonical": {
        "category_id": 7,
        "display_name": "Retrofit",
        "id": 933,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LIBRARY",
        "slug": "retrofit",
        "sub_category_id": 488,
        "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": 24,
      "existing_alias_text": "Kotlin",
      "input_term": "Kotlin",
      "matched_canonical": {
        "category_id": 6,
        "display_name": "Kotlin",
        "id": 2,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LANGUAGE",
        "slug": "kotlin",
        "sub_category_id": 96,
        "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": 2541,
      "existing_alias_text": "Android",
      "input_term": "Android",
      "matched_canonical": {
        "category_id": 9,
        "display_name": "Android",
        "id": 1595,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PLATFORM",
        "slug": "android",
        "sub_category_id": 1201,
        "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": 1145,
      "existing_alias_text": "WCAG",
      "input_term": "WCAG",
      "matched_canonical": {
        "category_id": 12,
        "display_name": "WCAG",
        "id": 645,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "STANDARD",
        "slug": "wcag",
        "sub_category_id": 502,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    }
  ],
  "candidate_roles": [
    {
      "display_name": "Android Developer",
      "id": 4,
      "rationale": null,
      "role_archetype": null,
      "slug": "android-engineer",
      "source": "db"
    },
    {
      "display_name": "iOS Developer",
      "id": 6,
      "rationale": null,
      "role_archetype": null,
      "slug": "ios-engineer",
      "source": "db"
    },
    {
      "display_name": "Hybrid Mobile Developer",
      "id": 11,
      "rationale": null,
      "role_archetype": null,
      "slug": "hybrid-mobile-developer",
      "source": "db"
    },
    {
      "display_name": "Native Mobile Developer",
      "id": 75,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "native-mobile-developer",
      "source": "db"
    },
    {
      "display_name": "Java Backend Developer",
      "id": 79,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "java-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Kotlin Backend Developer",
      "id": 84,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "kotlin-server-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Scala Backend Developer",
      "id": 87,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "scala-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Backend Developer",
      "id": 1,
      "rationale": null,
      "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
      "slug": "backend-engineer",
      "source": "db"
    },
    {
      "display_name": "Fullstack Developer",
      "id": 435,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "fullstack-developer",
      "source": "db"
    },
    {
      "display_name": "Fullstack Developer",
      "id": 15,
      "rationale": null,
      "role_archetype": null,
      "slug": "full-stack-engineer",
      "source": "db"
    },
    {
      "display_name": "Angular Frontend Developer",
      "id": 90,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "angular-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "Frontend Developer",
      "id": 7,
      "rationale": null,
      "role_archetype": null,
      "slug": "frontend-engineer",
      "source": "db"
    },
    {
      "display_name": "React Frontend Developer",
      "id": 89,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "react-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "Svelte Frontend Developer",
      "id": 92,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "svelte-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "Vue Frontend Developer",
      "id": 91,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "vue-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "Web Developer",
      "id": 25,
      "rationale": null,
      "role_archetype": null,
      "slug": "web-developer",
      "source": "db"
    }
  ],
  "chosen_role": {
    "display_name": "Native Mobile Developer",
    "id": 75,
    "rationale": "Domain=Software Engineering \u2192 sub-role android-engineer; The JD centers on Android mobile application development with Kotlin and mobile UI architecture, which best matches a Native Mobile Developer.",
    "role_archetype": "Engineering",
    "slug": "native-mobile-developer",
    "source": "db"
  },
  "dimensions": [
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Kotlin and Java",
        "id": 161,
        "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
        "slug": "kotlin-and-java",
        "source": "db"
      },
      "input_skill": "RxJava",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Android Developer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "android-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "App Architecture and Dependency Injection",
        "id": 94,
        "rationale": "Structural patterns used to organize iOS code into testable, maintainable feature modules and layers. iOS engineers use these patterns to separate UI, state, and service integration concerns.",
        "slug": "app-architecture-and-dependency-injection",
        "source": "db"
      },
      "input_skill": "Dagger",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Android Developer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "android-engineer",
          "source": "db"
        },
        {
          "display_name": "iOS Developer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "ios-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Networking and API Integration",
        "id": 84,
        "rationale": "Client-side HTTP communication with backend services, including request construction, response parsing, retries, and error handling. iOS engineers use this to connect native screens to server-owned APIs.",
        "slug": "networking-and-api-integration",
        "source": "db"
      },
      "input_skill": "Retrofit",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Android Developer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "android-engineer",
          "source": "db"
        },
        {
          "display_name": "Hybrid Mobile Developer",
          "id": 11,
          "rationale": null,
          "role_archetype": null,
          "slug": "hybrid-mobile-developer",
          "source": "db"
        },
        {
          "display_name": "Native Mobile Developer",
          "id": 75,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "native-mobile-developer",
          "source": "db"
        },
        {
          "display_name": "iOS Developer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "ios-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Java Language and JVM",
        "id": 279,
        "rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
        "slug": "java-language-and-jvm",
        "source": "db"
      },
      "input_skill": "Kotlin",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Java Backend Developer",
          "id": 79,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "java-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Kotlin Backend Developer",
          "id": 84,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "kotlin-server-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Scala Backend Developer",
          "id": 87,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "scala-backend-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Kotlin and Java",
        "id": 161,
        "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
        "slug": "kotlin-and-java",
        "source": "db"
      },
      "input_skill": "Kotlin",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Android Developer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "android-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Native Mobile Languages",
        "id": 274,
        "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
        "slug": "native-mobile-languages",
        "source": "db"
      },
      "input_skill": "Kotlin",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Native Mobile Developer",
          "id": 75,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "native-mobile-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages",
        "id": 1,
        "rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
        "slug": "programming-languages",
        "source": "db"
      },
      "input_skill": "Kotlin",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Backend Developer",
          "id": 1,
          "rationale": null,
          "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
          "slug": "backend-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 435,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "fullstack-developer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 15,
          "rationale": null,
          "role_archetype": null,
          "slug": "full-stack-engineer",
          "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": "Android",
      "llm_role": null,
      "roles_from_db": []
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Accessibility Standards and Testing",
        "id": 121,
        "rationale": "Standards and practices for making browser interfaces usable with assistive technologies and keyboard-only interaction. This cluster is coherent because accessibility is a direct responsibility of frontend implementation.",
        "slug": "accessibility-standards-and-testing",
        "source": "db"
      },
      "input_skill": "WCAG",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Angular Frontend Developer",
          "id": 90,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "angular-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Frontend Developer",
          "id": 7,
          "rationale": null,
          "role_archetype": null,
          "slug": "frontend-engineer",
          "source": "db"
        },
        {
          "display_name": "React Frontend Developer",
          "id": 89,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "react-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Svelte Frontend Developer",
          "id": 92,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "svelte-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Vue Frontend Developer",
          "id": 91,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "vue-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Web Developer",
          "id": 25,
          "rationale": null,
          "role_archetype": null,
          "slug": "web-developer",
          "source": "db"
        }
      ]
    }
  ],
  "input_final_skills": [
    "RxJava",
    "Dagger",
    "Retrofit",
    "Kotlin",
    "Android",
    "WCAG"
  ],
  "input_llm_skills": [
    "RxJava",
    "Dagger",
    "Retrofit",
    "Kotlin",
    "Android",
    "WCAG"
  ],
  "new_aliases_persisted": 0,
  "run_id": "ce317dac-81ec-4dc0-ba41-1547b7c45e14",
  "skills_detail": [
    {
      "aliases_in_db": [
        {
          "alias_text": "RxJava",
          "alias_type": "CANONICAL",
          "id": 2604,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "RxJava 2",
          "alias_type": "VERSION",
          "id": 2608,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "RxJava 3",
          "alias_type": "VERSION",
          "id": 2605,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "RxJava2",
          "alias_type": "VERSION",
          "id": 2609,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "RxJava3",
          "alias_type": "VERSION",
          "id": 2606,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "rxjava2",
          "alias_type": "VERSION",
          "id": 2610,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "rxjava3",
          "alias_type": "VERSION",
          "id": 2607,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 7,
        "display_name": "RxJava",
        "id": 1640,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LIBRARY",
        "slug": "rxjava",
        "sub_category_id": 1235,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Kotlin and Java",
            "id": 161,
            "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
            "slug": "kotlin-and-java",
            "source": "db"
          },
          "input_skill": "RxJava",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Android Developer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "android-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "RxJava",
      "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": "Dagger",
          "alias_type": "CANONICAL",
          "id": 1594,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 7,
        "display_name": "Dagger",
        "id": 984,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LIBRARY",
        "slug": "dagger",
        "sub_category_id": 698,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "App Architecture and Dependency Injection",
            "id": 94,
            "rationale": "Structural patterns used to organize iOS code into testable, maintainable feature modules and layers. iOS engineers use these patterns to separate UI, state, and service integration concerns.",
            "slug": "app-architecture-and-dependency-injection",
            "source": "db"
          },
          "input_skill": "Dagger",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Android Developer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "android-engineer",
              "source": "db"
            },
            {
              "display_name": "iOS Developer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "ios-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Dagger",
      "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": "Retrofit",
          "alias_type": "CANONICAL",
          "id": 1536,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 7,
        "display_name": "Retrofit",
        "id": 933,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LIBRARY",
        "slug": "retrofit",
        "sub_category_id": 488,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Networking and API Integration",
            "id": 84,
            "rationale": "Client-side HTTP communication with backend services, including request construction, response parsing, retries, and error handling. iOS engineers use this to connect native screens to server-owned APIs.",
            "slug": "networking-and-api-integration",
            "source": "db"
          },
          "input_skill": "Retrofit",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Android Developer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "android-engineer",
              "source": "db"
            },
            {
              "display_name": "Hybrid Mobile Developer",
              "id": 11,
              "rationale": null,
              "role_archetype": null,
              "slug": "hybrid-mobile-developer",
              "source": "db"
            },
            {
              "display_name": "Native Mobile Developer",
              "id": 75,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "native-mobile-developer",
              "source": "db"
            },
            {
              "display_name": "iOS Developer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "ios-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Retrofit",
      "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": "Kotlin",
          "alias_type": "CANONICAL",
          "id": 24,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "kotlin 1.9",
          "alias_type": "VERSION",
          "id": 3102,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "kotlin 1.9.0",
          "alias_type": "VERSION",
          "id": 3104,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "kotlin 1.9.1",
          "alias_type": "VERSION",
          "id": 3105,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "kotlin 1.9.10",
          "alias_type": "VERSION",
          "id": 3107,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "kotlin 1.9.x",
          "alias_type": "VERSION",
          "id": 3106,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "kotlin-1.9",
          "alias_type": "VERSION",
          "id": 3103,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 6,
        "display_name": "Kotlin",
        "id": 2,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LANGUAGE",
        "slug": "kotlin",
        "sub_category_id": 96,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Java Language and JVM",
            "id": 279,
            "rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
            "slug": "java-language-and-jvm",
            "source": "db"
          },
          "input_skill": "Kotlin",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Java Backend Developer",
              "id": 79,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "java-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Kotlin Backend Developer",
              "id": 84,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "kotlin-server-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Scala Backend Developer",
              "id": 87,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "scala-backend-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Kotlin and Java",
            "id": 161,
            "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
            "slug": "kotlin-and-java",
            "source": "db"
          },
          "input_skill": "Kotlin",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Android Developer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "android-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Native Mobile Languages",
            "id": 274,
            "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
            "slug": "native-mobile-languages",
            "source": "db"
          },
          "input_skill": "Kotlin",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Native Mobile Developer",
              "id": 75,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "native-mobile-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages",
            "id": 1,
            "rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
            "slug": "programming-languages",
            "source": "db"
          },
          "input_skill": "Kotlin",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Backend Developer",
              "id": 1,
              "rationale": null,
              "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
              "slug": "backend-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 435,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "fullstack-developer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 15,
              "rationale": null,
              "role_archetype": null,
              "slug": "full-stack-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Kotlin",
      "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": "Android",
          "alias_type": "CANONICAL",
          "id": 2541,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 9,
        "display_name": "Android",
        "id": 1595,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PLATFORM",
        "slug": "android",
        "sub_category_id": 1201,
        "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": "Android",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "Android",
      "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": "WCAG",
          "alias_type": "CANONICAL",
          "id": 1145,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "WCAG 2",
          "alias_type": "VERSION",
          "id": 1146,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "WCAG 2.0",
          "alias_type": "VERSION",
          "id": 1148,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "WCAG 2.1",
          "alias_type": "VERSION",
          "id": 1149,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "WCAG 2.2",
          "alias_type": "VERSION",
          "id": 1150,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "WCAG 3",
          "alias_type": "VERSION",
          "id": 1147,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "WCAG2",
          "alias_type": "VERSION",
          "id": 3303,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "WCAG2.0",
          "alias_type": "VERSION",
          "id": 3305,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "WCAG2.1",
          "alias_type": "VERSION",
          "id": 3306,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "WCAG2.2",
          "alias_type": "VERSION",
          "id": 3307,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 12,
        "display_name": "WCAG",
        "id": 645,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "STANDARD",
        "slug": "wcag",
        "sub_category_id": 502,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Accessibility Standards and Testing",
            "id": 121,
            "rationale": "Standards and practices for making browser interfaces usable with assistive technologies and keyboard-only interaction. This cluster is coherent because accessibility is a direct responsibility of frontend implementation.",
            "slug": "accessibility-standards-and-testing",
            "source": "db"
          },
          "input_skill": "WCAG",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Angular Frontend Developer",
              "id": 90,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "angular-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Frontend Developer",
              "id": 7,
              "rationale": null,
              "role_archetype": null,
              "slug": "frontend-engineer",
              "source": "db"
            },
            {
              "display_name": "React Frontend Developer",
              "id": 89,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "react-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Svelte Frontend Developer",
              "id": 92,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "svelte-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Vue Frontend Developer",
              "id": 91,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "vue-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Web Developer",
              "id": 25,
              "rationale": null,
              "role_archetype": null,
              "slug": "web-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "WCAG",
      "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": "Native Mobile Developer",
    "id": 75,
    "rationale": "Domain=Software Engineering \u2192 sub-role android-engineer; The JD centers on Android mobile application development with Kotlin and mobile UI architecture, which best matches a Native Mobile Developer.",
    "role_archetype": "Engineering",
    "slug": "native-mobile-developer",
    "source": "db"
  },
  "chosen_role_resolution": "in_db",
  "final_input_skills": [
    {
      "skill": "RxJava",
      "tag": "in_db"
    },
    {
      "skill": "Dagger",
      "tag": "in_db"
    },
    {
      "skill": "Retrofit",
      "tag": "in_db"
    },
    {
      "skill": "Kotlin",
      "tag": "in_db"
    },
    {
      "skill": "Android",
      "tag": "in_db"
    },
    {
      "skill": "WCAG",
      "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": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Kotlin and Java",
          "id": 161,
          "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
          "slug": "kotlin-and-java",
          "source": "db"
        },
        "dimension_id": 161,
        "input_skill": "RxJava",
        "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": "Android Developer",
            "id": 4,
            "rationale": null,
            "role_archetype": null,
            "slug": "android-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1640,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "App Architecture and Dependency Injection",
          "id": 94,
          "rationale": "Structural patterns used to organize iOS code into testable, maintainable feature modules and layers. iOS engineers use these patterns to separate UI, state, and service integration concerns.",
          "slug": "app-architecture-and-dependency-injection",
          "source": "db"
        },
        "dimension_id": 94,
        "input_skill": "Dagger",
        "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": "Android Developer",
            "id": 4,
            "rationale": null,
            "role_archetype": null,
            "slug": "android-engineer",
            "source": "db"
          },
          {
            "display_name": "iOS Developer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "ios-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 984,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Networking and API Integration",
          "id": 84,
          "rationale": "Client-side HTTP communication with backend services, including request construction, response parsing, retries, and error handling. iOS engineers use this to connect native screens to server-owned APIs.",
          "slug": "networking-and-api-integration",
          "source": "db"
        },
        "dimension_id": 84,
        "input_skill": "Retrofit",
        "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": "Android Developer",
            "id": 4,
            "rationale": null,
            "role_archetype": null,
            "slug": "android-engineer",
            "source": "db"
          },
          {
            "display_name": "Hybrid Mobile Developer",
            "id": 11,
            "rationale": null,
            "role_archetype": null,
            "slug": "hybrid-mobile-developer",
            "source": "db"
          },
          {
            "display_name": "Native Mobile Developer",
            "id": 75,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "native-mobile-developer",
            "source": "db"
          },
          {
            "display_name": "iOS Developer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "ios-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 933,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Java Language and JVM",
          "id": 279,
          "rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
          "slug": "java-language-and-jvm",
          "source": "db"
        },
        "dimension_id": 279,
        "input_skill": "Kotlin",
        "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": "Java Backend Developer",
            "id": 79,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "java-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Kotlin Backend Developer",
            "id": 84,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "kotlin-server-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Scala Backend Developer",
            "id": 87,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "scala-backend-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Kotlin and Java",
          "id": 161,
          "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
          "slug": "kotlin-and-java",
          "source": "db"
        },
        "dimension_id": 161,
        "input_skill": "Kotlin",
        "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": "Android Developer",
            "id": 4,
            "rationale": null,
            "role_archetype": null,
            "slug": "android-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Native Mobile Languages",
          "id": 274,
          "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
          "slug": "native-mobile-languages",
          "source": "db"
        },
        "dimension_id": 274,
        "input_skill": "Kotlin",
        "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": "Native Mobile Developer",
            "id": 75,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "native-mobile-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Programming Languages",
          "id": 1,
          "rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
          "slug": "programming-languages",
          "source": "db"
        },
        "dimension_id": 1,
        "input_skill": "Kotlin",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Backend Developer",
            "id": 1,
            "rationale": null,
            "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
            "slug": "backend-engineer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 435,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "fullstack-developer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 15,
            "rationale": null,
            "role_archetype": null,
            "slug": "full-stack-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "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": "Android",
        "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": 1595,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Accessibility Standards and Testing",
          "id": 121,
          "rationale": "Standards and practices for making browser interfaces usable with assistive technologies and keyboard-only interaction. This cluster is coherent because accessibility is a direct responsibility of frontend implementation.",
          "slug": "accessibility-standards-and-testing",
          "source": "db"
        },
        "dimension_id": 121,
        "input_skill": "WCAG",
        "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"
          },
          {
            "display_name": "Frontend Developer",
            "id": 7,
            "rationale": null,
            "role_archetype": null,
            "slug": "frontend-engineer",
            "source": "db"
          },
          {
            "display_name": "React Frontend Developer",
            "id": 89,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "react-frontend-developer",
            "source": "db"
          },
          {
            "display_name": "Svelte Frontend Developer",
            "id": 92,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "svelte-frontend-developer",
            "source": "db"
          },
          {
            "display_name": "Vue Frontend Developer",
            "id": 91,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "vue-frontend-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": 645,
        "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": "ce317dac-81ec-4dc0-ba41-1547b7c45e14"
}