Files
brain-template/brain-compose.yml

237 lines
5.9 KiB
YAML

# brain-compose.yml — Kernel spec
# Versionné dans le kernel. Schema + feature flags + registre agents.
# Géré par l'agent brain-compose — ne pas éditer manuellement.
version: "0.4.0"
# ---
# Modes — comportement de session (permissions BSI + agents autorisés)
# Priorité : déclaration explicite > detectmode > brain-compose.local.yml > prod (safe default)
# ---
modes:
prod:
description: "Session normale — Invariants protégés, écriture confirmée"
permissions:
invariant: confirm
contexte: confirm
reference: write
personnel: write
brain_write: false
forge: false
agents: "*"
dev:
description: "Forge — pleine puissance, écriture libre sur le brain"
permissions:
invariant: confirm # même en dev, les Invariants demandent confirmation
contexte: write
reference: write
personnel: write
brain_write: true
forge: true
agents: "*"
toolkit-only:
description: "Croissance autonome — toolkit source unique, docs officielles si inconnu"
permissions:
invariant: false
contexte: false
reference: read
personnel: false
brain_write: toolkit-scribe-only
forge: false
docs_fetch: ask # always | ask | never
agents: [toolkit-scribe, debug, code-review]
behavior: |
Pattern connu dans toolkit → agit seul
Pattern inconnu → docs officielles (selon docs_fetch) → toolkit-scribe écrit
Jamais d'invention
brainstorm:
description: "Réflexion scopée — pas d'écriture système"
permissions:
invariant: false
contexte: scope-only
reference: read
personnel: false
brain_write: false
forge: false
agents: [brainstorm, coach]
coach:
description: "Mentorat — progression en écriture, brain en lecture"
permissions:
invariant: false
contexte: false
reference: read
personnel: write
brain_write: progression-only
forge: false
agents: [coach, coach-scribe, scribe]
deploy:
description: "Déploiement — agents infra uniquement"
permissions:
invariant: false
contexte: false
reference: read
personnel: false
brain_write: false
forge: false
agents: [vps, ci-cd, pm2, secrets-guardian]
debug:
description: "Debug — lecture + agents debug"
permissions:
invariant: false
contexte: scope-only
reference: read
personnel: false
brain_write: false
forge: false
agents: [debug, code-review]
projet-audit:
description: "Audit lecture seule — todo-scribe uniquement en écriture"
permissions:
invariant: false
contexte: false
reference: read
personnel: false
brain_write: todo-scribe-only
forge: false
agents: [coach, agent-review]
review-front:
description: "Review frontend"
permissions:
invariant: false
contexte: false
reference: read
personnel: false
brain_write: false
forge: false
agents: [code-review, frontend-stack, testing]
review-back:
description: "Review backend/sécu"
permissions:
invariant: false
contexte: false
reference: read
personnel: false
brain_write: false
forge: false
agents: [code-review, security, testing]
HANDOFF:
description: "Reprise propre depuis une session précédente"
permissions:
invariant: false
contexte: scope-only
reference: read
personnel: false
brain_write: false
forge: false
agents: "*"
# ---
# detectmode — helloWorld détecte le mode selon les signaux de session
# ---
detectmode:
signals:
- match: [vps, ci-cd, pm2]
mode: deploy
- match: [code-review, frontend-stack]
mode: review-front
- match: [code-review, security]
mode: review-back
- match: [debug]
mode: debug
- match: [brainstorm]
mode: brainstorm
- match: [coach, progression]
mode: coach
- bsi_claim: HANDOFF
mode: HANDOFF
default: prod
# ---
# Feature sets — contrôlent les agents invocables par instance
# Les agents "bloqués" existent dans le kernel, brain-compose contrôle l'accès.
# ---
feature_sets:
free:
description: "Agents fondamentaux — exploration et maintenance brain"
agents:
- coach
- scribe
- todo-scribe
- debug
- mentor
- helloWorld
- aside
- brainstorm
- interprete
- orchestrator
- orchestrator-scribe
- recruiter
- agent-review
pro:
description: "Agents métier — développement complet"
extends: free
agents:
- code-review
- security
- testing
- refacto
- vps
- ci-cd
- monitoring
- pm2
- frontend-stack
- optimizer-backend
- optimizer-db
- optimizer-frontend
- toolkit-scribe
- coach-scribe
- git-analyst
- capital-scribe
- i18n
- doc
- migration
- mail
- brain-compose
- config-scribe
full:
description: "Accès complet — usage personnel sans restriction"
extends: pro
agents: "*"
# ---
# Changelog — semver
# v0.x.x : kernel en évolution rapide, breaking changes possibles
# v1.0.0 : interface contractuelle stable
# ---
changelog:
- version: "0.1.0"
date: "2026-03-13"
notes: "Initial — 30+ agents, config-scribe, brain-compose Phase 1, symlinks, feature flags"
- version: "0.2.0"
date: "2026-03-14"
notes: "BSI (BRAIN-INDEX.md), brain_name, brain-template, aside, brainstorm, brain-compose up"
- version: "0.3.0"
date: "2026-03-14"
notes: "orchestrator-scribe (free), brain-compose+config-scribe (pro), CHECKPOINT signal, session-as-identity, orchestration-patterns"
- version: "0.4.0"
date: "2026-03-14"
notes: "Système de modes — 11 modes, permissions BSI par mode, detectmode, toolkit-only autonome avec docs_fetch"