Talent Systems — Science Team
Competency Framework

Database Structure

How competencies are stored and referenced across the platform.

The competency_framework Table

ColumnTypeDescription
idUUIDPrimary key
nameTEXTCompetency name (e.g., "Problem Solving")
slugTEXTURL-safe identifier
categoryENUMbehavioral, situational, technical, post-hire
descriptionTEXTWhat this competency measures
anchorsJSONB5-level behavioral anchor definitions
statusENUMactive, draft, archived
employer_idUUID (nullable)NULL = platform competency, set = employer-owned
sourceTEXT'manual' or 'ai_generated'
created_atTIMESTAMPTZCreation timestamp
deleted_atTIMESTAMPTZ (nullable)Soft-delete timestamp

How Competencies Flow Through the System

competency_framework table
  ↓ Selected by employer when creating a posting
postings.required_competencies (JSONB array)
  → [{competency_id, name, weight}, ...]
  ↓ Loaded at interview start
interviewer prompt (adaptive mode gets full anchors)
  ↓ Loaded at interview end
scorer prompt (always gets full anchors for scoring)
  ↓ Scores stored
scorecards.scores (per-competency 1-5 with evidence)

Platform vs Employer Competencies

  • Platform competencies (employer_id = NULL): Visible to all employers. Only SUPER_ADMIN can edit. Currently 8 seeded behavioral competencies.
  • Employer competencies (employer_id = <uuid>): Visible only to that employer. Created manually or via AI. Employer can edit/archive.

Both types work identically in the scoring pipeline — the scorer treats them the same.

Competency Profiles

The competency_profiles table stores pre-built bundles:

ColumnTypeDescription
idUUIDPrimary key
nameTEXTProfile name (e.g., "General Behavioral")
competency_idsUUID[]Array of competency IDs in this profile
employer_idUUID (nullable)NULL = platform profile, set = employer-owned
statusENUMactive, draft, archived

On this page