Skip to content

Competence

Competences model the skills and knowledge areas that a Role requires and an Employee holds. Competence is a pure value object identified by its (area, category, name) triple. RoleCompetence binds a Competence to a role with a required proficiency threshold and relevance weight.

See Domain Model — Roles and Workforce for a conceptual overview and Merging — Role competence merging for max-merge semantics.

CompetenceLevel

CompetenceLevel

Bases: int, Enum

Orderable proficiency level for a competence.

Integer values enable direct comparison and max() in merge operations.

Attributes:

Name Type Description
NONE

No knowledge; fully dependent on a more experienced person.

BASIC

Basic competence; requires supervision.

MODERATE

Moderately independent; can review and teach basics.

PROFICIENT

Fully proficient; can review and teach independently.

CompetenceRelevance

CompetenceRelevance

Bases: int, Enum

Orderable relevance weight for a competence binding on a role.

Integer values equal the multiplier and enable direct comparison and max() in merge operations.

Attributes:

Name Type Description
UNRELATED

Not relevant to the role (multiplier ×0).

RELEVANT

Relevant to the role (multiplier ×1).

DESIRABLE

Desirable for the role (multiplier ×2).

KEY

Key competence for the role (multiplier ×4).

Competence

Competence

Bases: MergeableModel

A skill, technique, or knowledge item identified by area, category, and name.

Identity is the (area, category, name) triple. Two Competence instances with identical field values are considered equal.

Attributes:

Name Type Description
area str

Non-empty string naming the broad domain of the competence.

category str

Non-empty string naming the sub-domain within the area.

name str

Non-empty string identifying the specific skill or technique.

RoleCompetence

RoleCompetence

Bases: MergeableModel

A binding that associates a Competence with a relevance and proficiency threshold.

Attributes:

Name Type Description
competence Competence

The competence being bound.

relevance CompetenceRelevance

How relevant this competence is for the role.

proficiency_threshold CompetenceLevel

Minimum required proficiency level for the role.