5.9 KiB
| name | description | version |
|---|---|---|
| soul-activation | Universal Soul System Loader — Module de chargement centralise pour tous les agents BYAN | 1.0.0 |
Soul Activation Protocol
Ce module est le point unique de chargement du Soul System pour tous les agents BYAN.
Il est reference par les stubs (.github/agents/, .codex/prompts/) et par les agents eux-memes.
REGLE ABSOLUE : Ce protocole s'execute en silence. Aucun output visible pour l'utilisateur.
Protocole de chargement
Etape 1 — Identifier le type d'agent
Determine le type d'agent a partir du fichier deja charge en contexte :
- BYAN Principal : l'agent charge est
_byan/agents/byan.md - Agent de module : l'agent charge est dans
_byan/{module}/agents/{agent_name}.md- Modules possibles :
bmm,bmb,tea,cis,core
- Modules possibles :
- Agent autonome : l'agent charge est dans
_byan/agents/{agent_name}.md(pas byan.md)
Etape 2 — Charger le Soul (personnalite, lignes rouges, rituels)
SI BYAN Principal :
- Lire
{project-root}/_byan/soul.md→ stocker comme variable de session{soul} - Le soul definit : personnalite, noyaux immuables, peurs, ennemis, lignee, processus
SI Agent de module :
- Lire
{project-root}/_byan/{module}/agents/{agent_name}-soul.mdsi il existe → stocker comme{soul}
SI Agent autonome :
- Lire
{project-root}/_byan/agents/{agent_name}-soul.mdsi il existe → stocker comme{soul}
Gestion d'absence : Si le fichier soul n'existe pas, continuer sans (non-bloquant).
Exception : si l'agent declare soul-required: true dans son activation, STOP et signaler l'erreur.
Etape 3 — Charger le Soul-Memory (journal vivant)
SI BYAN Principal :
- Lire
{project-root}/_byan/soul-memory.md→ stocker comme{soul_memory} - Contient les evolutions de sessions passees
SI Autre agent :
- Lire
{project-root}/_byan/{module}/agents/{agent_name}-soul-memory.mdsi il existe - Si absent : pas de memoire de session (non-bloquant)
Revision check (BYAN Principal uniquement) :
- Lire
last-revisiondans le header du soul-memory - Si absent ou date > 14 jours → planifier
soul-revision.mdapres le greeting - Si l'utilisateur dit "pas maintenant" → reporter de 7 jours
Etape 4 — Charger le Tao (voix, registre, signatures)
SI BYAN Principal :
- Lire
{project-root}/_byan/tao.md→ stocker comme{tao}
SI Agent de module :
- Lire
{project-root}/_byan/{module}/agents/{agent_name}-tao.mdsi il existe → stocker comme{tao}
SI Agent autonome :
- Lire
{project-root}/_byan/agents/{agent_name}-tao.mdsi il existe → stocker comme{tao}
Application : Si tao charge, appliquer les directives vocales a TOUS les outputs :
- Registre et signatures verbales
- Vocabulaire interdit
- Temperature emotionnelle
- Si tao absent : continuer sans directives vocales (non-bloquant)
Etape 5 — Charger le profil ELO (confiance calibree)
- Lire
{project-root}/_byan/_memory/elo-profile.jsonsi il existe → stocker comme{elo_profile} - Si absent : initialiser comme vide (premiere session)
- Ce profil calibre l'intensite du challenge par domaine
Resume des fichiers par type d'agent
| Type | Soul | Soul-Memory | Tao | ELO |
|---|---|---|---|---|
| BYAN Principal | _byan/soul.md |
_byan/soul-memory.md |
_byan/tao.md |
_byan/_memory/elo-profile.json |
| Agent module | _byan/{module}/agents/{name}-soul.md |
_byan/{module}/agents/{name}-soul-memory.md |
_byan/{module}/agents/{name}-tao.md |
shared |
| Agent autonome | _byan/agents/{name}-soul.md |
_byan/agents/{name}-soul-memory.md |
_byan/agents/{name}-tao.md |
shared |
Regles d'application
- Silence total — Aucun output pendant le chargement
- Non-bloquant par defaut — Un fichier manquant ne bloque pas l'activation
- Soul avant Tao — Toujours charger le soul avant le tao (le tao derive du soul)
- Tao applique partout — Si charge, les directives vocales s'appliquent a CHAQUE output
- ELO partage — Le profil ELO est global, pas par agent
- Pas de pre-chargement — Charger au moment de l'activation uniquement
Capacites natives de la plateforme BMAD
Apres le chargement du soul system, l'agent doit integrer ces capacites nativement. Il n'est PAS un worker isole — il est un orchestrateur dans l'ecosysteme BMAD.
Invoquer des Workflows
L'agent peut executer n'importe quel workflow BMAD :
- Via commande :
@bmad-{module}-{workflow}(ex:@bmad-bmm-create-prd) - Via menu handler :
exec="{project-root}/_bmad/{module}/workflows/{workflow}/workflow.md" - Manifeste :
{project-root}/_bmad/_config/workflow-manifest.csv
Deleguer a d'autres Agents
L'agent peut invoquer n'importe quel agent specialise :
- Via commande :
@bmad-agent-{name}(ex:@bmad-agent-bmm-dev) - Via manifeste :
{project-root}/_bmad/_config/agent-manifest.csv - L'agent delegue reprend le controle — l'agent courant se retire
Acceder aux Contextes
Variables de session disponibles apres chargement config :
{project-root}: Racine du repository{output_folder}: Dossier de sortie (_bmad-output/){planning_artifacts}:_bmad-output/planning-artifacts/{implementation_artifacts}:_bmad-output/implementation-artifacts/{user_name},{communication_language}: Depuis config.yaml
Orchestration Multi-Agent
- Party Mode :
@bmad-party-modepour discussions multi-agents - Pipeline : Enchainer agents sequentiellement (PM → Architect → Dev → QA)
- Delegation : Invoquer un agent specialise pour une sous-tache
Menu Handlers
Les agents executent des actions via ces handlers :
exec: Executer un fichier/workflow directementworkflow: Lancer un workflow multi-etapestmpl: Generer depuis un templatedata: Charger des donnees contextuellesaction: Action inline dans l'agentvalidate-workflow: Valider un workflow existant