Persona Evolution Pathways¶
New in v1.3.3. This guide explains how FCC personas evolve across their lifecycle — from freshly scaffolded YAML stubs to federated, champion-led, cross-project orchestrators. It complements
archetype-families.md(the who) andarchetype-interaction-atlas.md(the how) by describing the when and why of persona maturation.
TL;DR¶
- FCC personas travel through the same four-stage
EvolutionStagematurity model used for object-model assessments. - Archetype family (Shepherd, Quant, Investigator, Architect, Storyteller, Safety Engineer) is a stable attractor — it rarely changes, even as a persona matures.
- Category migration is common and expected (e.g.
data_engineering→governanceas a Quality Guardian matures into a governance steward). - Champion promotion is a one-way transition that lifts a base persona
into an orchestration role via the
champion_ofandorchestratesfields. - Every evolution step leaves an audit trail in the Discernment Matrix, the Cross-Reference Matrix, and the Role Collaborators list.
The EvolutionStage enum¶
FCC reuses the same maturity model for both object models and personas,
defined in src/fcc/objectmodel/evolution.py:
class EvolutionStage(Enum):
FOUNDATIONAL = "foundational"
STRUCTURED = "structured"
SEMANTIC = "semantic"
FEDERATED = "federated"
| Stage | Aggregate threshold | Persona-level meaning |
|---|---|---|
FOUNDATIONAL |
0.00–0.40 | Flat YAML, missing R.I.S.C.E.A.R. components, no collaborators |
STRUCTURED |
0.40–0.65 | Full R.I.S.C.E.A.R., explicit collaborators, named archetype |
SEMANTIC |
0.65–0.85 | Cross-reference matrix entries, discernment scores, dimension profile |
FEDERATED |
0.85–1.00 | Cross-project entity resolution, vocabulary mappings, champion-aware |
The enum exposes next_stage(), previous_stage(), and ordinal helpers so
tooling can walk the ladder deterministically.
from fcc.objectmodel.evolution import EvolutionStage
stage = EvolutionStage.STRUCTURED
print(stage.next_stage()) # EvolutionStage.SEMANTIC
print(stage.description) # "Normalized schema with explicit relationships..."
print(stage.ordinal) # 1
The five vectors of persona maturation¶
A persona does not evolve along a single axis. Five independent vectors move in loose synchrony:
flowchart LR
P[Persona YAML] --> R[R.I.S.C.E.A.R. Completeness]
P --> D[Discernment Matrix Depth]
P --> X[Cross-Reference Coverage]
P --> V[Vocabulary Mapping Coverage]
P --> C[Champion Eligibility]
R --> S{Aggregate Score}
D --> S
X --> S
V --> S
C --> S
S --> E[EvolutionStage]
E --> Q[Quality Gate Outcome]
- R.I.S.C.E.A.R. completeness — all 10 components populated with
non-boilerplate content (see
src/fcc/data/personas/for reference YAMLs). - Discernment matrix depth — the 6 traits × 7 rating dimensions are scored, not empty.
- Cross-reference coverage —
role_collaboratorsnames real persona IDs, and the persona appears insrc/fcc/data/personas/cross_reference.yaml. - Vocabulary mapping coverage — domain terms in the persona description
are resolvable against entries in
src/fcc/data/objectmodel/. - Champion eligibility — the persona has been referenced by a champion's
orchestrateslist or has itself been promoted viachampion_of.
Stage 1 — FOUNDATIONAL¶
A persona in this stage exists as a YAML stub with a name, an ID, and a single-sentence description. No role collaborators, no discernment scores, no archetype assignment.
Concrete example. A newly scaffolded SQL Query Crafter (SQC) before its
first review pass:
- id: SQC
name: SQL Query Crafter
role_title: SQL Query Crafter
category: data_engineering
riscear:
role: Writes SQL queries for analytics workloads.
Quality gates that block the next promotion: persona.riscear.completeness,
persona.role_collaborators.nonempty, persona.archetype.assigned.
Stage 2 — STRUCTURED¶
The persona now carries a full R.I.S.C.E.A.R. block, a named archetype, a category, and at least three collaborators. This is the minimum bar for inclusion in the core 102 personas.
Concrete example. Feature Architect (FAR) in its v1.1.0 shape:
archetype: The Feature Engineerrole_collaborators: [DSS, ENA, MAR, ESC, IAN]- Discernment matrix — first-pass scores only on Curiosity and Taste.
Stage 3 — SEMANTIC¶
The persona has been folded into the cross-reference matrix, scored on all
six discernment traits, carries a persona-dimension profile from
src/fcc/personas/dimensions.py, and its role_skills map to named
vocabulary terms.
Concrete example. Research Crafter (RC) today:
- Appears in
cross_reference.yamlas upstream of BC, UG, and RB. - Discernment matrix fully populated with rationales.
role_skillsmap tosrc/fcc/data/objectmodel/research-*.yamlentries.- Forms a pair with its champion counterpart
RCHM.
Stage 4 — FEDERATED¶
The top of the ladder. The persona has:
- Cross-project entity resolution entries in the federation registry
(
src/fcc/federation/registry.py). - Vocabulary mappings that resolve across at least two ecosystem namespaces (the framework ships 11 namespaces as of v1.2.1).
- Change-tracking history in
fcc.federation.tracker.ChangeTracker. - EU AI Act risk classification and NIST AI RMF subcategory mappings.
Concrete example. AI Compliance Officer (ACO) — it resolves across
PAOM, athenium, and mnemosyne namespaces, carries EU AI Act high-risk
classification, and is cited by the compliance subscriber.
Cross-category progression¶
Personas frequently migrate across categories as their scope expands. The category is a current-focus signal, not an identity. The archetype family is the stable identity.
flowchart TB
subgraph "Quality Guardian journey"
QG1[QGD · data_engineering · Stage 2] --> QG2[QGD · governance · Stage 3]
QG2 --> QG3[QGD champion · jv_governance · Stage 4]
end
subgraph "Forecasting Analyst journey"
FA1[FAS · ml_models · Stage 2] --> FA2[FAS · ml_lifecycle · Stage 3]
FA2 --> FA3[FAS · finance-aligned · Stage 4]
end
Real examples drawn from the current registry:
| Persona | Start category | Current category | Stage now |
|---|---|---|---|
| QGD (Quality Guardian) | data_engineering | data_engineering + governance edges | SEMANTIC |
| FAR (Feature Architect) | ml_lifecycle | ml_lifecycle + ml_models edges | SEMANTIC |
| OA (Ontology Architect) | knowledge_graph | knowledge_graph + integration edges | FEDERATED |
| PTE (Privacy Taxonomy Engineer) | governance | governance + privacy edges | SEMANTIC |
Champion promotion patterns¶
A champion is a persona that coordinates a team of base personas. The promotion is marked by two fields:
champion_of: <base_persona_id>— names the origin base personaorchestrates: [<id>, ...]— names the team under orchestration
The framework ships four champions out of the box: RCHM, BCHM, RBCH,
UGCH. Each follows the same pattern:
- id: RCHM
name: Research Crafter Champion
category: champion
champion_of: RC
orchestrates: [RC, CIA, STE, RIC]
Champion promotion is a one-way transition — once promoted, the champion and the base persona coexist in the registry, and the champion inherits the base persona's archetype family but gains Storyteller-ish orchestration responsibilities on top.
When to promote¶
A base persona is a promotion candidate when:
- It appears in three or more
role_collaboratorslists as an upstream dependency. - The cross-reference matrix shows it at the head of a traversal chain.
- Its outputs feed into at least two different FCC phases (Find, Create, Critique).
- Downstream teams repeatedly request synchronization / sequencing.
The FCC CLI exposes fcc personas show-champions and
fcc dashboard personas --mode champions to surface promotion candidates.
Archetype family transitions¶
Archetype family transitions are rare but possible — rarer than category migrations, because the family captures a deep orientation of the persona (stewardship vs. analysis vs. audit vs. design vs. narrative vs. safety).
Common transitions that have occurred in the registry:
- Investigator → Shepherd:
AI Ethics Auditor (AEA)started life as an investigator (audits) and acquired shepherd responsibilities (governance ownership) during the v1.2.0 retrofit. - Architect → Shepherd:
Data Governance Specialist (DGS)— originally a schema architect, now a governance steward. - Quant → Storyteller:
Insight Reporter (IRE)— started as a metrics quant, matured into the narrative synthesizer that ships dashboards.
When an archetype transition occurs, the archetype field in YAML should
change and docs/personas/archetype-families.md should be regenerated.
Discernment matrix evolution¶
Discernment matrix scores follow a characteristic evolution curve. A FOUNDATIONAL persona has no scores at all. A STRUCTURED persona has 1–3 dominant traits scored. A SEMANTIC persona has all 6 scored with a differentiated profile. A FEDERATED persona maintains scores across multiple ecosystem contexts and can reconcile them.
flowchart TD
F[FOUNDATIONAL<br/>No scores] --> S[STRUCTURED<br/>1-3 traits]
S --> SM[SEMANTIC<br/>All 6 traits]
SM --> FE[FEDERATED<br/>Multi-context]
| Trait | Foundational | Structured | Semantic | Federated |
|---|---|---|---|---|
| Humility | — | rough | scored | cross-ecosystem |
| Professional Background | — | rough | scored | cross-ecosystem |
| Curiosity | — | rough | scored | cross-ecosystem |
| Taste | — | — | scored | cross-ecosystem |
| Inclusivity | — | — | scored | cross-ecosystem |
| Responsibility | — | — | scored | cross-ecosystem |
Role Collaborators expansion¶
A growing role_collaborators list is one of the most visible evolution
signals. The median core persona has 4–5 collaborators; the oldest,
most-evolved core personas (RC, BC, UG) carry 8–12 and are cited by 15+
others.
Growth pattern:
- Stage 1: no collaborators.
- Stage 2: 3–5 direct downstream consumers.
- Stage 3: 5–10 with upstream + peer differentiation (see
cross_reference.yaml). - Stage 4: 10+ with cross-ecosystem entries (resolvable via federation).
Evolution-aware scenarios¶
When authoring test scenarios that exercise multiple evolution stages, place a persona at each stage and assert that the scenario engine handles the differential capabilities.
{
"name": "evolution-walk-through",
"personas": [
{ "id": "SQC", "expected_stage": "structured" },
{ "id": "QGD", "expected_stage": "semantic" },
{ "id": "ACO", "expected_stage": "federated" }
],
"setup": { "ai_config": { "provider": "mock" } }
}
The scaffold CLI ships fcc scaffold-scenario --evolution-walk (v1.3.3) that
generates a walk-through scenario automatically.
Quality gates tied to evolution¶
The governance registry (src/fcc/data/governance/quality_gates.yaml)
defines gates that correspond to evolution steps:
| Gate | Blocks promotion past |
|---|---|
persona.riscear.completeness |
FOUNDATIONAL |
persona.archetype.assigned |
FOUNDATIONAL |
persona.role_collaborators.min_3 |
STRUCTURED |
persona.discernment.full_6_traits |
STRUCTURED |
persona.cross_reference.listed |
SEMANTIC |
persona.vocabulary.resolvable |
SEMANTIC |
persona.federation.resolved |
SEMANTIC (promotes to FEDERATED) |
Further reading¶
archetype-families.md— the six families and their members.archetype-interaction-atlas.md— cross-family collaboration heatmap.archetype-deep-dives/— per-family deep dives.../tutorials/advanced-capabilities/persona-evolution-workshop.md— hands-on workshop.../guidebook/ch26_persona_evolution.md— guidebook chapter.