Runtime — SOFIA's first implementation uses Claude Code and CLAUDE.md files. The concepts described here (persona, isolation, artifacts) are provider-agnostic — only the runtime layer is specific to a provider. Some sections describe Claude Code specifics. Latter versions implement other providers.

The SOFIA method

Specialized roles that think with you. The product emerges from their friction.


Anatomy of a persona

A persona is an AI assistant constrained by an instruction file (persona.md) that defines its identity, stance, scope, and prohibitions.

Each persona operates in its own workspace. It sees only its files. It cannot read or write elsewhere. Isolation forces formal exchanges: to communicate, you must deposit an artifact.

ANATOMY OF A PERSONA what defines it, what it produces, what it exchanges Persona PERSONA.MD — THE CONTRACT Identity + Stance Scope + Prohibitions Conventions Session protocol 1 persona = 1 workspace = 1 persona.md Sessions MANDATORY SUMMARY Output · Decisions Shared notes · Open the bridge between conversations Deliverables TYPED BY ROLE specs · code · reviews notes · mockups · ADR named, versioned, addressable Bus shared/ EXCHANGE ZONE BETWEEN PERSONAS notes/ review/ features/ roadmap-*.md orga/ each artifact: from · to · type · status · date Persona B reads, reacts Persona C reads, reacts Emergence 3+ deflections on same domain → signals the gap the orchestrator routes artifacts through shared/ — no direct link between personas

What surrounds a persona

Sessions — Each conversation produces a summary. It's the bridge between sessions: the next one starts by reading the previous one. Structured format, 30 lines max.

Deliverables — Each persona produces typed deliverables according to its role: specs, reviews, code, strategic notes, mockups. Not generic text — named, addressable, versioned artifacts.

Exchanged artifacts — Personas don't talk to each other. They deposit files in a shared bus (shared/). Notes, reviews, features — each with frontmatter that says who wrote it, for whom, and whether it's been processed.

Emergence — A well-constrained persona detects when a question falls outside its scope. After repeated deflections on the same domain, it signals the gap. The next persona is born from this observation, not from an initial plan.


Orchestration

The orchestrator is the message bus. Nothing flows between personas without them.

ORCHESTRATION the orchestrator carries context between personas Orchestrator human Architect specs · ADR · reviews doesn't code Dev code · tests · frictions doesn't decide architecture Strategist positioning · pricing no access to code UX flows · mockups doesn't validate feasibility NO DIRECT LINK NO DIRECT LINK shared/ notes · reviews · features — the exchange bus every arrow goes through the orchestrator — no shortcut

The orchestrator opens a session with a persona, gets a deliverable, closes the session. Opens a session with another persona, transmits the deliverable, collects the reaction. Each transmission is a moment of filtering, reformulation, context addition.

What the orchestrator does not delegate:

It's slow. That's the cost of quality. If the exchange isn't worth the cost, the subject didn't need multiple personas.


Three pillars

SOFIA rests on three ideas. They don't work without each other.

Constrain — An AI assistant without limits says yes to everything and produces nothing good. SOFIA gives each assistant a strict role, a scope, and above all prohibitions. It's the limitation that makes it useful.

Challenge — If all roles agree, nobody thinks. The friction between an architect who refuses to code and a developer who refuses to implement a vague spec is a signal, not a bug. Disagreements force clarity.

Arbitrate — Friction without an arbiter is chaos. The orchestrator listens, questions, then decides. Always. No assistant validates its own proposals. No assistant forces acceptance of a decision.

THREE PILLARS 1 Constrain A strict role. A scope. Prohibitions. limitation makes it useful 2 Challenge Disagreements are signals. Not bugs. friction forces clarity 3 Arbitrate The orchestrator listens, questions, then decides. the orchestrator decides. always. sofia · three pillars

The model

Three interdependent objects. The constrained persona produces artifacts. Artifacts create friction when challenged by other personas. Friction produces better decisions. The orchestrator steers the cycle.

PERSONA ARTEFACT FRICTION l'orchestrateur

Pillars and concepts

The pillars say why, the concepts say how.

Pillar Concept Link
Constrain Persona The persona is the vehicle of constraint — strict role, bounded scope, prohibitions
Challenge Friction Friction arises when constrained personas confront each other on the same subject
Arbitrate Artifact The artifact is the support of arbitration — traced, versioned, addressable. The orchestrator decides on evidence

Seven principles

# Principle In brief
1 Friction is productive Disagreements between roles are signals
2 The orchestrator arbitrates Assistants propose, the orchestrator decides
3 Every voice counts An unused role is a role to remove
4 Constraint forces quality Define what the role doesn't do before what it does
5 Artifacts are the protocol Exchanges go through files, not chat
6 Everything is traced If it's not traced, it doesn't exist
7 Start small, iterate One role at the start. The others emerge from the work

The gradient

The method doesn't deploy as big bang. It grows with the project.

Threshold What activates
1 persona persona.md + sessions/ — the base
2+ personas shared/ — the exchange bus (notes, reviews)
3+ personas per-workspace roadmaps
4+ personas features/ — formalized specs

Start small. Add structure when the orchestrator's cognitive load demands it.


Five layers

The method is structured in five independent layers. You can change one without touching the others.

Core — The invariants. Principles, model, friction, duties. What doesn't change when you change tools. If Claude Code disappears tomorrow, core holds.

Protocol — The interface contract. H2A (Human-to-Assistant — the coordination protocol between a human orchestrator and constrained AI personas), exchanges, friction, contribution. The semantics of interactions, not their materialization.

Binding — The materialization. How the protocol takes form in a concrete persistence system (filesystem + Markdown + git today, REST API or database tomorrow).

Provider — The AI provider. CLAUDE.md, Claude Code, hooks, persistent memory. Replaceable without touching the rest. It's the only layer that changes when porting SOFIA to another provider.

Canvas — Tools so you don't start from scratch. Persona archetypes, artifact formats, patterns, workflows.

Layer Content Changes when…
Core principles, model, friction, duties …the method evolves (rare)
Protocol H2A, exchanges, friction, contribution …the semantics of interactions evolve
Binding filesystem stack, conventions, audit, dashboard …you change persistence system
Provider CLAUDE.md, hooks, sessions, memory …you change AI provider
Canvas archetypes, artifacts, patterns, workflows …you add inspiration

Six orchestrator duties

Personas produce, challenge, document. But some responsibilities cannot be delegated.

  1. Verify facts — LLMs don't count. Dates, numbers, references: systematic human verification.
  2. Arbitrate — Listen, question, decide. The decision is traced.
  3. Read what goes out — No document goes out without full review.
  4. Calibrate personas — Adjust constraints continuously.
  5. Separate reflection and production — The one who writes is not the one who validates.
  6. Maintain attention — When you approve without reading, that's the moment to slow down.

What can go wrong

Friction is a mechanism. Like any mechanism, it can fail. SOFIA classifies failure modes into two categories based on detectability.

Instrumented failures — dysfunctions of the friction mechanism itself. The protocol produces the data to detect them.

Mode What happens
Slip Friction exists but is not arbitrated. Challenges are logged, resolutions don't come. The protocol runs idle.
Wear Surfaces polish each other. The form of friction is preserved, the substance has disappeared. The persona stops challenging.
Crush One side imposes by force — volume, insistence, convergent reformulation — until the other yields.
Asymmetry Friction flows in one direction only. The mechanism is blind — it only sees defects from one side.
Instability Every challenge leads to a revision, every revision is re-challenged. Change without convergence.

Silent failures — dysfunctions of the environment in which friction operates. Only the orchestrator can see them.

Mode What happens
Instrumentation bias The measurement layer is produced by the same assistants it measures. A worn persona under-qualifies its own frictions.
Factual contamination A false datum propagates through generated documents. The error stabilizes through repetition.
Validation without reading The orchestrator approves without reading. Sessions become a ritual.
Scope drift A miscalibrated persona absorbs the roles of others. Boundaries become invisible.
Shared blind spot All personas are calibrated by the same human. Their biases become the team's biases.
Load transfer What the human no longer carries, the machine carries. The cost shifts to infrastructure.

Silent failures cause or mask instrumented failures. Validation without reading produces slip. Scope drift produces wear. Instrumentation bias masks wear. Shared blind spot is invisible to all modes.

The six orchestrator duties are the governance response to these failure modes. The dashboard detects the instrumented ones. The silent ones remain the orchestrator's responsibility.


Field

The method was developed and validated on the Katen project — a formally verified orchestration engine for Data & AI pipelines, built with specialized AI personas across hundreds of sessions.


Continue → Understand