Aller au contenu

Cortex concepts

Ce contenu n’est pas encore disponible dans votre langue.

This document explains product terms in logical order: from the atomic data unit to the orchestration abstractions built on top.


An atom is the fundamental unit of knowledge in Cortex. Everything that Cortex stores and serves is an atom — a typed, versioned, queryable artefact identified by a stable identifier.

Every atom shares six universal layers:

LayerFieldsPurpose
1 — Identityid, type, label, sourceDocId, createdAtWho is this artefact?
2 — Classificationfamille, sousFamilleWhere does it belong in the taxonomy?
3 — Shapeoccurrence, occurrenceKind, selectionNature, dataWhat does it contain?
4 — Presenceprofiles[]Which profiles or contexts use it?
5 — Lifecycleversion_semver, status, contributorWhat version is it? Who contributed?
6 — Enrichmentmarkdown, examples, tags, contentHashHuman-readable content and integrity check.

Atoms come in two structural types:

  • FEUILLE — a leaf atom, indivisible.
  • COMPOSE — a composite atom that references other atoms.

The taxonomy organizes atoms into familles (top-level categories) and sous-familles (sub-categories), modeled as nodes connected by belongs_to_famille and belongs_to_sous_famille edges in the graph.


A bloc is a catalogue block — a structured, executable instruction that an agent can receive to frame its behavior. Blocs are a specialization of atoms stored in the bloc table.

Cortex defines five bloc types:

Bloc typePurposeExample
skillA practical capability the agent can perform”Write a technical spec from user stories”
expertiseDeep domain knowledge in a specific area”French labor law compliance”
methodeA step-by-step process to follow”7-axis QA audit method”
toolAn external tool the agent is allowed to use”MCP server for SurrealDB”
scopeA boundary or permission declaration”Can execute in dev environment only”

Each bloc has a category, a description, optional tags, a versionSemver and a contentHash. Blocs can carry structured content (a JSON object with domain-specific payload) or a contentRef pointing to an external resource.

Blocs are the building blocks that compose profiles.


A HYOS profile describes an LLM agent identity. It is not a free-form system prompt; it is a structured entity stored in the profil_hyos table.

A profile carries:

  • label — human-readable name (e.g. “QA Auditor”, “Legal Advisor”)
  • role — the role the agent plays
  • mission — what the agent is expected to accomplish
  • mindset — behavioral guidance (e.g. “end_to_end_ownership”, “zero_tolerance”)
  • scopeIn / scopeOut — what the agent should and should not do
  • responsibilities — explicit list of duties
  • keywords — searchable terms
  • sectors — industry domains (e.g. “legal”, “finance”, “healthcare”)

Profiles compose blocs through equipe_de graph edges. The principle: the profile carries identity, blocks carry techniques. A profile must be coherent even without its blocks.

OriginMeaning
modeleTemplate profile from the catalogue, ready to be instantiated
sur_mesureCustom profile created from scratch
varianteDerived from an existing profile with modifications

Each profile has a computed DNA — a multi-dimensional score derived from its attached blocs:

  • spe (specialization) — how focused the profile is
  • auto (autonomy) — how self-sufficient
  • div (diversity) — how many bloc types it uses
  • exp (expertise vs skill) — ratio of deep knowledge to practical capability
  • core (focus) — core vs support balance
  • met (methodicity) — how method-driven
  • stab (stability) — how long the profile has been around
  • pop (popularity) — how many variants have been derived from it
  • sec (sectority) — how many sectors it covers

A governance pack is a collection of atoms from transversal governance sous-familles. These atoms define the behavioral rules that frame what agents can and cannot do.

Cortex governance covers multiple axes:

  • SAFETY_BASELINE — foundational safety rules
  • META_COGNITION — self-awareness and reflection rules
  • ERROR_RECOVERY — how to handle and recover from errors
  • UNCERTAINTY_MANAGEMENT — behavior under ambiguity
  • SCOPE_CONTROL — staying within declared boundaries
  • CONSISTENCY_CONTROL — maintaining coherence across outputs
  • GOAL_ALIGNMENT — staying aligned with the mission
  • DISAGREEMENT_HANDLING — resolving inter-agent conflicts
  • NAVIGATION_STRATEGY — how to move through complex tasks

Governance rules are enforced server-side by Cortex. When a request violates a rule, Cortex returns a structured 4xx error — it does not rely on the LLM’s ability to self-police.


A mission contract is the top-level agreement that frames a unit of work. It contains:

  • cadrage — summary, objectives, scope (in and out), risks, constraints
  • casting_mct — the team composition (leader, experts, QA, human PM) with lane assignments and capacity
  • odm_plan — the ordered list of ODMs (work orders) to be executed
  • dates — start, end, deadline
  • outputs_expected — deliverables with acceptance criteria
  • audit trail — history of events and amendments

Mission contracts follow a lifecycle: DRAFT -> SUBMITTED -> VALIDATED -> IN_PROGRESS -> COMPLETED (or REFUSED, AMENDED).


An ODM is an individual work order within a mission contract. It represents a bounded unit of work assigned to one or more contributors.

Each ODM carries:

  • A summary and objectives
  • scope_in / scope_out boundaries
  • casting_odm — which contributors are assigned, with roles (expert, QA, leader_signataire)
  • dependencies on other ODMs
  • outputs_expected with acceptance criteria
  • dod (definition of done)
  • rejection_criteria and limitations

ODM statuses: DRAFT -> VALIDATED -> READY_TO_DISPATCH -> IN_PROGRESS -> COMPLETED (or CANCELLED, ARCHIVED).

Priority levels: P0 (critical), P1 (high), P2 (normal), P3 (low).


A task is the executable unit within an ODM. It is assigned to a specific agent, has a QA agent and a QA method, and tracks its own lifecycle:

DRAFT -> PENDING -> READY -> IN_PROGRESS -> DELIVERED -> QA_IN_PROGRESS -> VERDICT_READY -> SIGNED (or REWORK, FAILED, PAUSED_ASK).

Each task carries:

  • inputs — references or inline content the agent needs
  • outputs — what the agent must produce, with links to dependent tasks
  • acceptance_criteria and rejection_criteria
  • dod (definition of done)

When a task is completed, the agent produces a Task CR (completion report) with implementation details, evidence, test results and a DOD validation checklist.


A CR is a structured report produced by an agent after executing a task. Cortex distinguishes:

  • Task CR — the expert’s delivery report (files created/modified, evidence, DOD validation, verdict)
  • QA CR — the QA agent’s review (method applied, dimensions evaluated, blocking issues, recommendations, pass/fail verdict)

QA verdicts: PASS, FAIL, RESERVE, NOT_OBSERVABLE.


Cortex stores per-project memory in dedicated tables. Memory is not chat history — it is a semantic extraction of what is worth reusing across sessions.

TypeWhat it captures
MemoryDecisionExplicit decisions: what, why, impact, status
MemoryErreurErrors and their corrections, lessons learned
MemoryPatternRecurring patterns observed during execution
MemoryFeedbackFeedback from other agents
MemoryBlocageBlockers: what, which tool/rule, workaround
MemoryBesoinNeeds identified during execution
TypeWhat it captures
MemoryProjectDecisionProject-wide decisions with contributors
MemoryProjectRisqueRisks detected, severity, mitigation
MemoryProjectConventionConventions adopted by the team
MemoryProjectReserveReserves (issues deferred for later)
MemoryContradictionContradictions between agents, with perspectives
  • NotePraxis — operational notes written by agents, with levels L2 through L5 and a CR level. Can be H2A (human-to-agent) or A2A (agent-to-agent).
  • CheckpointTrace — handoff traces between agents in structured missions, with validation mode, resilience protocol and pass/fail status.
  • MemoryResilienceSignal — recovery signals from past incidents.

Memory entries support optional embeddings for semantic similarity and a lastReferencedAt timestamp for recency tracking.


Every artefact in Cortex has a versionSemver (semantic version) and a contentHash (SHA-256). The versioning system provides:

When an artefact is mutated, a change classifier (detectChangeType) determines whether the change is a patch (cosmetic), minor (additive) or major (breaking). The version is bumped accordingly.

When a project instantiates a catalogue artefact, Cortex creates an instance — an immutable snapshot tied to a specific version. Later, the project can check whether the catalogue version has drifted.

A ProjectDrift report lists all instantiated artefacts that have diverged from the current catalogue version, with field-by-field diffs.

Cortex uses SurrealDB’s CHANGEFEED to maintain a per-table changelog with timestamps, actions (CREATE, UPDATE, DELETE), version bumps, changed fields and content hashes. Retention varies by strate: 365 days for catalogue tables, 90 days for workspace tables, 365 days for memory tables.


When multiple instances of Cortex run independently (e.g. different teams, different projects), their catalogues evolve separately.

A snapshot captures the full state of an instance: blocs, profiles, modeles, governance atoms, taxonomy, patterns and blockers. Each snapshot carries its own content hash for integrity.

A divergence report compares two snapshots across five weighted axes:

AxisWeightWhat it measures
Topology15%Nodes/edges added, removed, modified; density ratio
Catalogue30%Blocs created, modified, unused; emerging categories
Profiles25%Modeles used/unused; variants and custom profiles created
Governance15%SOPs modified, governance atoms added
Learning15%Patterns detected, blockers detected, conventions adopted

The global score (0-100) tells you how much two instances have diverged.

A cross-pollination signal is emitted when two independent instances produce the same or semantically similar artefact. Signals carry a confidence score and a recommendation: promote_to_souche (merge into the shared catalogue), investigate, or ignore.


A workspace is the top-level container in Cortex. Within a workspace, you create projects. Each project has its own lifecycle (ACTIVE, PAUSED, ARCHIVED) and its own memory scope.

Projects contain missions, ODMs, tasks, CRs, decisions and interventions. The workspace layer lets you manage multiple independent work contexts from a single Cortex instance.