← Back to history

Pipeline run

874749e9-3db4-4fd1-9806-35065daf8d42

Pipeline LLM cost (USD)
API 1: $0.0098 API 2: $0.0002 API 3: $0.0000 Total: $0.0099

Client output enrichment

v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA description
role baseline loaded sources · ai_index: jd · nature_of_work: 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
Native mobile development with SwiftUI and Core Data is a current, widely adopted stack that is modern but not typically cloud-native by default.
AI index (0 = no AI use, 5 = totally AI-dependent · v2.1)
0.00 / 5
· Title match
· Has AI skill
· AI skill (primary)
· AI skill (secondary)
· On AI team
· Builds AI products
vocab breakdown (legacy)
Assistants (×1):
Frameworks (×2):
Models / concepts (×3):
Evidence — skills matched in JD (7)
iPhone SwiftUI Combine Core Data Core Text Data Structures Algorithms
Skill cluster (3 dimension groups, role-scoped)
Android UI Frameworks
SwiftUI
Local Persistence and Offline Behavior
Core Data
Cross-cutting / unaligned
iPhone Combine Core Text Data Structures Algorithms

Signals

Skill android-engineer
0.29
Alias
KRA ios-engineer
0.47

Post-classification

Centroidupdated · n=105
Alias collision log
New-role queue
New skills captured3
New KRA captured

Captured for admin review

iPhone primary Native Mobile Developer pending
Combine primary Native Mobile Developer pending
Core Text primary Native Mobile Developer pending
Status: completed Created: 2026-05-27T16:46:50.881049Z Updated: 2026-05-27T16:48:26.816634Z API 3 duration: 32500 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

iOS Developer

sub-role · 0.99 domain · Software Engineering CASE DOMAIN

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

Domain=Software Engineering → sub-role ios-engineer; The JD is for an iPhone app role using Apple-native technologies like SwiftUI, Combine, CoreData, and CoreText, which best matches native mobile development.

Matched skills

iPhone app developmentSwiftUICombineCoreDataCoreTextdata structures and algorithmslatest Apple technologies

Matched dimensions

Native iOS App DevelopmentConsumer B2C App DevelopmentMobile App UX/UsabilityAlgorithmic Problem Solving

Matched KRAs

Make high quality, easy to use apps for regular peopleWork on a new iPhone appBuild apps that people are happy to directly pay forUse the latest Apple technologies

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 interested in making Apps for regular people? PLEASE READ this post properly and view our apps before you apply.  DO NOT APPLY IF  You are into in Data Analytics, Data science or full stack development.   We want to make high quality, easy to use apps for regular people (B2C). Apps that people are happy to directly pay us for. We're working on a new  iPhone app , it's a notes app with a unique twist. You don't need to have experience with iPhone app development but you must be good with  data structures and algorithms . See our current apps at  https://fusionengineeringtech.com We will be working with the latest Apple technologies.  SwiftUI, Combine, CoreData, CoreText and more The team size will be four people and you must travel to our office  (No remote work) Qualifications No degree required but you must be good with data structures and algorithms.

Skills from this JD

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

iPhone Primary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

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

Derived legacy fields
Category
Platforms
Sub-category
general
Skill nature
PLATFORM
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
SwiftUI Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: SwiftUI id=444 · swiftui

Aliases — catalog

  • SwiftUI (CANONICAL) primary

Context tags (catalog)

@Binding @State Accessibility Animations Combine Core Data Declarative syntax ForEach List MVVM Modifiers NavigationStack Preview State management Swift Swift Concurrency Swift Package Manager Swift Playgrounds UIKit Views Xcode iOS macOS tvOS watchOS

Stored enrichment (catalog DB)

Category
Framework
Sub-category
Ui Framework
Vendor
Apple
License
other_open
Year introduced
2019
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: SwiftUI is widely listed in iOS/macOS job postings and is Apple’s primary UI framework for new apps, with strong ecosystem adoption replacing much UIKit-only greenfield work.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Android UI Frameworks Catalog dimension db id 162

    Library dimension (catalog)

    Roles linked in library: Android Developer, Native Mobile Developer

  • UIKit and SwiftUI Catalog dimension db id 82

    Library dimension (catalog)

    Roles linked in library: iOS Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Android UI Frameworks
android-ui-frameworks
Existing dimension (library) · Role↔dimension saved
UIKit and SwiftUI
uikit-and-swiftui
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Combine Primary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

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

Derived legacy fields
Category
Frameworks
Sub-category
general
Skill nature
TOOL
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Core Data Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Core Data id=459 · core-data

Aliases — catalog

  • Core Data (CANONICAL) primary

Context tags (catalog)

Batch Updates Concurrency Context Core Data Framework Core Data Stack Data Model Entity Faulting Fetch Request Migration NSFetchRequest NSFetchedResultsController NSManagedObject NSManagedObjectContext NSPersistentContainer NSPredicate Relationships SQLite store SwiftUI Xcode batch updates entity model faulting fetch predicates iOS merge policies migration object graph xcdatamodeld

Stored enrichment (catalog DB)

Category
Framework
Sub-category
Persistence Framework
Vendor
Apple
License
proprietary
Year introduced
2008
Confidence
0.90
Version strategy
NOT_APPLICABLE

Maturity reasoning: Core Data appears mainly in Apple/iOS-specific job postings and legacy Cocoa codebases; market demand is far narrower than cross-platform persistence stacks like SQLite/Realm, with no broad hiring-pipeline ubiquity.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Local Persistence and Offline Behavior Catalog dimension db id 85

    Library dimension (catalog)

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

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Local Persistence and Offline Behavior
local-persistence-and-offline-behavior
Existing dimension (library) · Role↔dimension saved
Core Text Primary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

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

Derived legacy fields
Category
Frameworks
Sub-category
general
Skill nature
TOOL
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Data Structures Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Data Structures id=1003 · data-structures

Aliases — catalog

  • Data Structures (CANONICAL)

Context tags (catalog)

Big O notation arrays binary search complexity analysis dynamic programming graphs hash tables linked lists memory management queues recursion searching algorithms sorting algorithms stacks trees

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Data Structures
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: Core CS concept in nearly all software engineering JDs and interview loops; widely taught and expected across roles, with no sunset or replacement signal.

Skill profile (library / DB)

Skill nature
CONCEPT
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
2
Sub-category id
731
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)
Algorithms Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Algorithms id=1004 · algorithms

Aliases — catalog

  • Algorithms (CANONICAL)

Context tags (catalog)

Big O notation backtracking binary trees breadth-first search complexity analysis data structures depth-first search divide and conquer dynamic programming graph algorithms greedy algorithms hashing recursion search algorithms sorting algorithms

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Algorithms
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: Algorithms are a core hiring staple in software JDs and interview loops across FAANG and general SWE roles; they remain a standard CS curriculum topic rather than a niche tool or sunset technology.

Skill profile (library / DB)

Skill nature
CONCEPT
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
2
Sub-category id
732
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)

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
SwiftUI in_db
Android UI Frameworks
android-ui-frameworks
Existing dimension (library) · Role↔dimension saved
SwiftUI in_db
UIKit and SwiftUI
uikit-and-swiftui
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Core Data in_db
Local Persistence and Offline Behavior
local-persistence-and-offline-behavior
Existing dimension (library) · Role↔dimension saved
Data Structures in_db
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Algorithms in_db
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)

Library artifacts (this run)

Kind Detail DB id
canonical_skill_proposed iPhone | type=Platforms subtype=general nature=PLATFORM lifespan=MULTI_YEAR
canonical_skill_proposed Combine | type=Frameworks subtype=general nature=TOOL lifespan=MULTI_YEAR
canonical_skill_proposed Core Text | type=Frameworks subtype=general nature=TOOL lifespan=MULTI_YEAR
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": [
    "Make",
    "Algorithms",
    "Data Structures",
    "Analytics",
    "SwiftUI"
  ],
  "role_archetype": "Engineering"
}
API 1 — extract-from-jd click to toggle
{
  "final_skills": [
    {
      "is_primary": true,
      "skill_name": "iPhone"
    },
    {
      "is_primary": true,
      "skill_name": "SwiftUI"
    },
    {
      "is_primary": true,
      "skill_name": "Combine"
    },
    {
      "is_primary": true,
      "skill_name": "Core Data"
    },
    {
      "is_primary": true,
      "skill_name": "Core Text"
    },
    {
      "is_primary": true,
      "skill_name": "Data Structures"
    },
    {
      "is_primary": true,
      "skill_name": "Algorithms"
    }
  ],
  "jd_role": null,
  "nano_parsed": {
    "JD_type": "fail",
    "archetype_override_applied": true,
    "archetype_override_matched_skills": [
      "Make",
      "Algorithms",
      "Data Structures",
      "Analytics",
      "SwiftUI"
    ],
    "role_archetype": "Engineering"
  },
  "rejected": false,
  "rejection_reason": null,
  "run_id": "874749e9-3db4-4fd1-9806-35065daf8d42",
  "stage3_signals": {
    "alias_found": false,
    "alias_match_roles": [],
    "kra_match_roles": [
      {
        "display_name": "iOS Developer",
        "kra_matches": [
          {
            "kra_text": "Develops native iOS features using Swift or Objective-C with UIKit or SwiftUI, following Apple Human Interface Guidelines for iPhone and iPad applications.",
            "sentence": "SwiftUI, Combine, CoreData, CoreText and more The team size will be four people and you must travel to our office  (No remote work) Qualifications No degree required but you must be good with data structures and algorithms.",
            "similarity": 0.4907
          },
          {
            "kra_text": "Develops native iOS features using Swift or Objective-C with UIKit or SwiftUI, following Apple Human Interface Guidelines for iPhone and iPad applications.",
            "sentence": "See our current apps at  https://fusionengineeringtech.com We will be working with the latest Apple technologies.",
            "similarity": 0.4674
          },
          {
            "kra_text": "Develops native iOS features using Swift or Objective-C with UIKit or SwiftUI, following Apple Human Interface Guidelines for iPhone and iPad applications.",
            "sentence": "You don\u0027t need to have experience with iPhone app development but you must be good with  data structures and algorithms .",
            "similarity": 0.4429
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 6,
        "score": 0.467,
        "slug": "ios-engineer",
        "total_count": null
      },
      {
        "display_name": "Ionic Developer",
        "kra_matches": [
          {
            "kra_text": "Mobile app screens and navigation",
            "sentence": "See our current apps at  https://fusionengineeringtech.com We will be working with the latest Apple technologies.",
            "similarity": 0.4101
          },
          {
            "kra_text": "Mobile app screens and navigation",
            "sentence": "Are you interested in making Apps for regular people? PLEASE READ this post properly and view our apps before you apply.",
            "similarity": 0.3994
          },
          {
            "kra_text": "Mobile app screens and navigation",
            "sentence": "We want to make high quality, easy to use apps for regular people (B2C).",
            "similarity": 0.3749
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 434,
        "score": 0.3948,
        "slug": "ionic-developer",
        "total_count": null
      },
      {
        "display_name": "Hybrid Mobile Developer",
        "kra_matches": [
          {
            "kra_text": "Implements cross-platform mobile features using React Native, Flutter, or Ionic targeting both iOS and Android platforms from a shared codebase.",
            "sentence": "See our current apps at  https://fusionengineeringtech.com We will be working with the latest Apple technologies.",
            "similarity": 0.443
          },
          {
            "kra_text": "Implements cross-platform mobile features using React Native, Flutter, or Ionic targeting both iOS and Android platforms from a shared codebase.",
            "sentence": "We want to make high quality, easy to use apps for regular people (B2C).",
            "similarity": 0.3693
          },
          {
            "kra_text": "Implements cross-platform mobile features using React Native, Flutter, or Ionic targeting both iOS and Android platforms from a shared codebase.",
            "sentence": "Are you interested in making Apps for regular people? PLEASE READ this post properly and view our apps before you apply.",
            "similarity": 0.3507
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 11,
        "score": 0.3877,
        "slug": "hybrid-mobile-developer",
        "total_count": null
      },
      {
        "display_name": "Flutter Developer",
        "kra_matches": [
          {
            "kra_text": "collaborate with design, product, and backend teams",
            "sentence": "SwiftUI, Combine, CoreData, CoreText and more The team size will be four people and you must travel to our office  (No remote work) Qualifications No degree required but you must be good with data structures and algorithms.",
            "similarity": 0.3936
          },
          {
            "kra_text": "Implement user-facing screens and flows",
            "sentence": "We want to make high quality, easy to use apps for regular people (B2C).",
            "similarity": 0.3915
          },
          {
            "kra_text": "collaborate with design, product, and backend teams",
            "sentence": "See our current apps at  https://fusionengineeringtech.com We will be working with the latest Apple technologies.",
            "similarity": 0.3674
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 74,
        "score": 0.3842,
        "slug": "flutter-developer",
        "total_count": null
      },
      {
        "display_name": "Shopify Dev",
        "kra_matches": [
          {
            "kra_text": "app and extension behavior",
            "sentence": "Are you interested in making Apps for regular people? PLEASE READ this post properly and view our apps before you apply.",
            "similarity": 0.3696
          },
          {
            "kra_text": "app and extension behavior",
            "sentence": "Apps that people are happy to directly pay us for.",
            "similarity": 0.3653
          },
          {
            "kra_text": "app and extension behavior",
            "sentence": "See our current apps at  https://fusionengineeringtech.com We will be working with the latest Apple technologies.",
            "similarity": 0.3592
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 230,
        "score": 0.3647,
        "slug": "shopify-dev",
        "total_count": null
      }
    ],
    "skill_match_roles": [
      {
        "display_name": "Android Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Core Data",
          "SwiftUI"
        ],
        "role_id": 4,
        "score": 0.2857,
        "slug": "android-engineer",
        "total_count": 7
      },
      {
        "display_name": "iOS Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Core Data",
          "SwiftUI"
        ],
        "role_id": 6,
        "score": 0.2857,
        "slug": "ios-engineer",
        "total_count": 7
      },
      {
        "display_name": "Native Mobile Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Core Data",
          "SwiftUI"
        ],
        "role_id": 75,
        "score": 0.2857,
        "slug": "native-mobile-developer",
        "total_count": 7
      },
      {
        "display_name": "Hybrid Mobile Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "Core Data"
        ],
        "role_id": 11,
        "score": 0.1429,
        "slug": "hybrid-mobile-developer",
        "total_count": 7
      },
      {
        "display_name": "React Native Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "Core Data"
        ],
        "role_id": 73,
        "score": 0.1429,
        "slug": "react-native-developer",
        "total_count": 7
      }
    ]
  },
  "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.96,
      "slug": "native-mobile-developer",
      "total_count": null
    },
    "confidence": 0.96,
    "is_new_role": false,
    "llm2_fired": false,
    "llm2_reasoning": null,
    "matched_dimensions": [
      "Native iOS App Development",
      "Consumer B2C App Development",
      "Mobile App UX/Usability",
      "Algorithmic Problem Solving"
    ],
    "matched_kras": [
      "Make high quality, easy to use apps for regular people",
      "Work on a new iPhone app",
      "Build apps that people are happy to directly pay for",
      "Use the latest Apple technologies"
    ],
    "matched_skills": [
      "iPhone app development",
      "SwiftUI",
      "Combine",
      "CoreData",
      "CoreText",
      "data structures and algorithms",
      "latest Apple technologies"
    ],
    "new_role_display_name": null,
    "new_role_slug": null,
    "queued": false,
    "reasoning": "Domain=Software Engineering \u2192 sub-role ios-engineer; The JD is for an iPhone app role using Apple-native technologies like SwiftUI, Combine, CoreData, and CoreText, which best matches native mobile development.",
    "sub_role": {
      "confidence": 0.99,
      "display_name": "iOS Developer",
      "reasoning": "The JD explicitly targets a new iPhone app and names Apple-specific technologies like SwiftUI, Combine, CoreData, and CoreText, which strongly indicates iOS development.",
      "role_id": 6,
      "slug": "ios-engineer"
    }
  },
  "stage5_updates": {
    "centroid_n_after": 105,
    "centroid_updated": true,
    "collision_log_id": null,
    "new_kra_attached": null,
    "new_skills_attached": [
      {
        "is_primary": true,
        "queue_id": 22044,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "iPhone",
        "status": "pending"
      },
      {
        "is_primary": true,
        "queue_id": 22045,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "Combine",
        "status": "pending"
      },
      {
        "is_primary": true,
        "queue_id": 22046,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "Core Text",
        "status": "pending"
      }
    ],
    "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": 770,
      "existing_alias_text": "SwiftUI",
      "input_term": "SwiftUI",
      "matched_canonical": {
        "category_id": 5,
        "display_name": "SwiftUI",
        "id": 444,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "swiftui",
        "sub_category_id": 341,
        "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": 785,
      "existing_alias_text": "Core Data",
      "input_term": "Core Data",
      "matched_canonical": {
        "category_id": 5,
        "display_name": "Core Data",
        "id": 459,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "core-data",
        "sub_category_id": 336,
        "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": 1614,
      "existing_alias_text": "Data Structures",
      "input_term": "Data Structures",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "Data Structures",
        "id": 1003,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "data-structures",
        "sub_category_id": 731,
        "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": 1615,
      "existing_alias_text": "Algorithms",
      "input_term": "Algorithms",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "Algorithms",
        "id": 1004,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "algorithms",
        "sub_category_id": 732,
        "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": "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"
    },
    {
      "display_name": "Flutter Developer",
      "id": 74,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "flutter-developer",
      "source": "db"
    },
    {
      "display_name": "Hybrid Mobile Developer",
      "id": 11,
      "rationale": null,
      "role_archetype": null,
      "slug": "hybrid-mobile-developer",
      "source": "db"
    },
    {
      "display_name": "React Native Developer",
      "id": 73,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "react-native-developer",
      "source": "db"
    }
  ],
  "chosen_role": {
    "display_name": "Native Mobile Developer",
    "id": 75,
    "rationale": "Domain=Software Engineering \u2192 sub-role ios-engineer; The JD is for an iPhone app role using Apple-native technologies like SwiftUI, Combine, CoreData, and CoreText, which best matches native mobile development.",
    "role_archetype": "Engineering",
    "slug": "native-mobile-developer",
    "source": "db"
  },
  "dimensions": [
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Android UI Frameworks",
        "id": 162,
        "rationale": "Frameworks and component models used to build Android screens, layouts, and interactive UI behavior. This cluster covers both modern declarative UI and legacy view-based interfaces that Android engineers maintain in real products.",
        "slug": "android-ui-frameworks",
        "source": "db"
      },
      "input_skill": "SwiftUI",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Android Developer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "android-engineer",
          "source": "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": "UIKit and SwiftUI",
        "id": 82,
        "rationale": "Frameworks and component models used to build screens, layouts, and interactive UI behavior on iOS. This cluster covers both declarative and imperative UI work needed to implement app flows.",
        "slug": "uikit-and-swiftui",
        "source": "db"
      },
      "input_skill": "SwiftUI",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "iOS Developer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "ios-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Local Persistence and Offline Behavior",
        "id": 85,
        "rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
        "slug": "local-persistence-and-offline-behavior",
        "source": "db"
      },
      "input_skill": "Core Data",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Android Developer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "android-engineer",
          "source": "db"
        },
        {
          "display_name": "Flutter Developer",
          "id": 74,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "flutter-developer",
          "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": "React Native Developer",
          "id": 73,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "react-native-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": "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": "Data Structures",
      "llm_role": null,
      "roles_from_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": "Algorithms",
      "llm_role": null,
      "roles_from_db": []
    }
  ],
  "input_final_skills": [
    "iPhone",
    "SwiftUI",
    "Combine",
    "Core Data",
    "Core Text",
    "Data Structures",
    "Algorithms"
  ],
  "input_llm_skills": [
    "iPhone",
    "SwiftUI",
    "Combine",
    "Core Data",
    "Core Text",
    "Data Structures",
    "Algorithms"
  ],
  "new_aliases_persisted": 0,
  "run_id": "874749e9-3db4-4fd1-9806-35065daf8d42",
  "skills_detail": [
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "iPhone",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Platforms",
          "skill_nature": "PLATFORM",
          "sub_category": "general",
          "typical_lifespan": "MULTI_YEAR",
          "version_strategy": "UNVERSIONED",
          "volatility": "MEDIUM"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "iphone",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "SwiftUI",
          "alias_type": "CANONICAL",
          "id": 770,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 5,
        "display_name": "SwiftUI",
        "id": 444,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "swiftui",
        "sub_category_id": 341,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Android UI Frameworks",
            "id": 162,
            "rationale": "Frameworks and component models used to build Android screens, layouts, and interactive UI behavior. This cluster covers both modern declarative UI and legacy view-based interfaces that Android engineers maintain in real products.",
            "slug": "android-ui-frameworks",
            "source": "db"
          },
          "input_skill": "SwiftUI",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Android Developer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "android-engineer",
              "source": "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": "UIKit and SwiftUI",
            "id": 82,
            "rationale": "Frameworks and component models used to build screens, layouts, and interactive UI behavior on iOS. This cluster covers both declarative and imperative UI work needed to implement app flows.",
            "slug": "uikit-and-swiftui",
            "source": "db"
          },
          "input_skill": "SwiftUI",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "iOS Developer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "ios-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "SwiftUI",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Combine",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Frameworks",
          "skill_nature": "TOOL",
          "sub_category": "general",
          "typical_lifespan": "MULTI_YEAR",
          "version_strategy": "UNVERSIONED",
          "volatility": "MEDIUM"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "combine",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Core Data",
          "alias_type": "CANONICAL",
          "id": 785,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 5,
        "display_name": "Core Data",
        "id": 459,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "core-data",
        "sub_category_id": 336,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Local Persistence and Offline Behavior",
            "id": 85,
            "rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
            "slug": "local-persistence-and-offline-behavior",
            "source": "db"
          },
          "input_skill": "Core Data",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Android Developer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "android-engineer",
              "source": "db"
            },
            {
              "display_name": "Flutter Developer",
              "id": 74,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "flutter-developer",
              "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": "React Native Developer",
              "id": 73,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "react-native-developer",
              "source": "db"
            },
            {
              "display_name": "iOS Developer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "ios-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Core Data",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Core Text",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Frameworks",
          "skill_nature": "TOOL",
          "sub_category": "general",
          "typical_lifespan": "MULTI_YEAR",
          "version_strategy": "UNVERSIONED",
          "volatility": "MEDIUM"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "core-text",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Data Structures",
          "alias_type": "CANONICAL",
          "id": 1614,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "Data Structures",
        "id": 1003,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "data-structures",
        "sub_category_id": 731,
        "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": "Data Structures",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "Data Structures",
      "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": "Algorithms",
          "alias_type": "CANONICAL",
          "id": 1615,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "Algorithms",
        "id": 1004,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "algorithms",
        "sub_category_id": 732,
        "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": "Algorithms",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "Algorithms",
      "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": [
    "iPhone",
    "Combine",
    "Core Text"
  ]
}
API 3 — final-role-output
{
  "chosen_role": {
    "display_name": "Native Mobile Developer",
    "id": 75,
    "rationale": "Domain=Software Engineering \u2192 sub-role ios-engineer; The JD is for an iPhone app role using Apple-native technologies like SwiftUI, Combine, CoreData, and CoreText, which best matches native mobile development.",
    "role_archetype": "Engineering",
    "slug": "native-mobile-developer",
    "source": "db"
  },
  "chosen_role_resolution": "in_db",
  "final_input_skills": [
    {
      "skill": "iPhone",
      "tag": "new"
    },
    {
      "skill": "SwiftUI",
      "tag": "in_db"
    },
    {
      "skill": "Combine",
      "tag": "new"
    },
    {
      "skill": "Core Data",
      "tag": "in_db"
    },
    {
      "skill": "Core Text",
      "tag": "new"
    },
    {
      "skill": "Data Structures",
      "tag": "in_db"
    },
    {
      "skill": "Algorithms",
      "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": "Android UI Frameworks",
          "id": 162,
          "rationale": "Frameworks and component models used to build Android screens, layouts, and interactive UI behavior. This cluster covers both modern declarative UI and legacy view-based interfaces that Android engineers maintain in real products.",
          "slug": "android-ui-frameworks",
          "source": "db"
        },
        "dimension_id": 162,
        "input_skill": "SwiftUI",
        "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": "Native Mobile Developer",
            "id": 75,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "native-mobile-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 444,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "UIKit and SwiftUI",
          "id": 82,
          "rationale": "Frameworks and component models used to build screens, layouts, and interactive UI behavior on iOS. This cluster covers both declarative and imperative UI work needed to implement app flows.",
          "slug": "uikit-and-swiftui",
          "source": "db"
        },
        "dimension_id": 82,
        "input_skill": "SwiftUI",
        "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": "iOS Developer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "ios-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 444,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Local Persistence and Offline Behavior",
          "id": 85,
          "rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
          "slug": "local-persistence-and-offline-behavior",
          "source": "db"
        },
        "dimension_id": 85,
        "input_skill": "Core Data",
        "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": "Flutter Developer",
            "id": 74,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "flutter-developer",
            "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": "React Native Developer",
            "id": 73,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "react-native-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": 459,
        "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": "Data Structures",
        "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": 1003,
        "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": "Algorithms",
        "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": 1004,
        "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": "874749e9-3db4-4fd1-9806-35065daf8d42"
}