feat(kernel): sync CORTEX kernel — sessions, modes, ADRs, clean personal files

Ajout : 11 session-*.yml, modes soft locks, coach-boot + time-anchor, ADR-008→024.
Retrait : focus.md, BRAIN-INDEX.md, SUPERVISOR-STATE.md, claims/, todo/.
brain-template = kernel distribuable propre.
This commit is contained in:
2026-03-17 23:14:04 +01:00
parent e87c24b06a
commit 60d9cf7332
36 changed files with 2451 additions and 191 deletions

View File

@@ -0,0 +1,53 @@
# session-audit.yml — Contexte BHP pour sessions d'audit
# Trigger : "brain boot mode audit[/<project>]"
# Cible : ~25% contexte max au boot
# IMPORTANT : mode lecture seule — aucun agent write actif
session_type: audit
description: "Session d'audit — lecture seule, analyse sécurité/qualité, rapport"
tier_required: pro # audit = agents security + code-review (pro minimum)
# CONSTRAINT : audit = read-only
# Aucune écriture en claims satellite, aucun agent write (scribe, todo-scribe, migration)
# Le claim principal reste ouvert mais marque write_lock: true
write_lock: true # Signal au pre-flight : rejeter tout write satellite
# L0 — Invariant (~5%)
L0:
- PATHS.md
- brain-compose.local.yml
- KERNEL.md
# L1 — Session type (~15%)
L1:
- agents/security.md # failles, JWT, OAuth, OWASP # tier: pro
- agents/code-review.md # qualité, patterns, dette technique # tier: pro
- agents/audit.md # agent audit si disponible # tier: pro
# L2 — Project scope (~10%) — prioritaire en audit : contexte complet du projet cible
L2:
template: "projets/{project}.md"
extras:
- "todo/{project}.md"
- "BRAIN-INDEX.md" # vue globale pour audit kernel
fallback:
- BRAIN-INDEX.md # si pas de projet : audit global brain
# L3 — On demand
# Exemples : agents/vps.md (infra audit), agents/mail.md (DNS/SMTP audit),
# wiki détaillé, config réseau, logs
L3:
hint: "Charger à la demande : vps, mail/DNS, monitoring, logs, wiki technique"
# --- Règle audit ---
# Rapport final obligatoire avant close — même format que code-review.
# write_lock bloqué en pre-flight pour tous les agents write.
# Exception : écriture du rapport lui-même dans un fichier dédié est autorisée.
# --- Métriques cibles ---
context_target:
L0: "~5%"
L1: "~12%"
L2: "~8%"
total_boot: "~25%"

View File

@@ -0,0 +1,43 @@
# session-brain.yml — Contexte BHP pour sessions brain/kernel
# Trigger : "brain boot mode brain"
# Cible : ~22% contexte max au boot
session_type: brain
description: "Session de travail sur le brain lui-même — kernel, agents, protocoles BSI"
tier_required: free # brain editing accessible à tous — agents fondamentaux suffisent
# L0 — Invariant (~5%)
L0:
- PATHS.md
- brain-compose.local.yml
- KERNEL.md
# L1 — Session type (~15%)
L1:
- BRAIN-INDEX.md # état global claims, projets, signaux
- todo/brain.md # todos kernel actifs
- agents/scribe.md # mise à jour brain après session significative
- agents/orchestrator.md # coordination multi-agents si disponible
- metabolism/README.md # état métabolique
# L2 — Project scope (~5%) — brain = project déclaré implicitement
# Pas de L2 projet externe — brain IS le projet
L2:
template: null
extras:
- wiki/concepts.md # vocabulaire + patterns kernel
- focus.md # focus actuel brain
fallback: null
# L3 — On demand
# Exemples : agents/bsi-schema.md, wiki/multi-instance.md, wiki/context-loading.md,
# scripts détaillés, brain-template/README.md
L3:
hint: "Charger à la demande : bsi-schema, multi-instance, context-loading, scripts spécifiques"
# --- Métriques cibles ---
context_target:
L0: "~5%"
L1: "~15%"
L2: "~5%"
total_boot: "~22%"

View File

@@ -0,0 +1,46 @@
# session-brainstorm.yml — Contexte BHP pour sessions de brainstorm
# Trigger : "brain boot mode brainstorm[/<project>]"
# Cible : ~22% contexte max au boot
session_type: brainstorm
description: "Session d'idéation — explorer, challenger, structurer avant de coder"
tier_required: free # agents fondamentaux — disponible pour tous les tiers
# L0 — Invariant (~5%)
L0:
- PATHS.md
- brain-compose.local.yml
- KERNEL.md
# L1 — Session type (~15%)
L1:
- todo/brain.md # idées actives, fils ouverts
- focus.md # direction actuelle
- agents/coach.md # présent pour challenger les idées
- metabolism/README.md # état pour jauger la qualité du brainstorm
- wiki/patterns.md # patterns connus pour ne pas réinventer
# L2 — Project scope (~8%) — optionnel si brainstorm sur un projet spécifique
L2:
template: "projets/{project}.md"
extras:
- "todo/{project}.md"
- "wiki/concepts.md" # concepts brain utiles en brainstorm brain
fallback: null
# L3 — On demand
# Exemples : wiki/* détaillé, autres projets pour cross-pollination,
# agents/game-designer.md, agents/doc.md
L3:
hint: "Charger à la demande : wiki détaillé, cross-project, agents spécialisés idéation"
# --- Règle brainstorm-before-build ---
# Ce manifest applique le pattern : identifier 2-3 décisions structurelles AVANT de coder.
# wiki/patterns.md en L1 pour que ce réflexe soit présent dès le boot.
# --- Métriques cibles ---
context_target:
L0: "~5%"
L1: "~12%"
L2: "~8%"
total_boot: "~22%"

View File

@@ -0,0 +1,45 @@
# session-coach.yml — Contexte BHP pour sessions de coaching
# Trigger : "brain boot mode coach"
# Cible : ~20% contexte max au boot
session_type: coach
description: "Session coaching — progression, réflexion, cap stratégique, clarté"
tier_required: free # coaching fondamental disponible pour tous les tiers
# L0 — Invariant (~5%)
L0:
- PATHS.md
- brain-compose.local.yml
- KERNEL.md
# L1 — Session type (~15%)
L1:
- agents/coach.md # présence permanente coaching
- metabolism/README.md # état métabolique + énergie
- profil/collaboration.md # règles de travail, préférences
- BRAIN-INDEX.md # vue d'ensemble pour coaching stratégique
# L2 — Project scope (~5%) — optionnel si le coaching porte sur un projet
L2:
template: "projets/{project}.md"
extras:
- "todo/{project}.md"
fallback:
- focus.md # si pas de projet déclaré → focus global
# L3 — On demand
# Exemples : progression/ détaillée, wiki/patterns.md, sessions passées
L3:
hint: "Charger à la demande : progression détaillée, sessions passées, wiki/patterns"
# --- Note coaching ---
# Le coach est L1 permanent — même sans signal "coach", il est disponible.
# session-coach = le coach PREND LE DESSUS sur les autres dimensions.
# focus.md en L2 fallback car contexte coaching global fréquent.
# --- Métriques cibles ---
context_target:
L0: "~5%"
L1: "~12%"
L2: "~5%"
total_boot: "~20%"

View File

@@ -0,0 +1,43 @@
# session-debug.yml — Contexte BHP pour sessions de debug
# Trigger : "brain boot mode debug[/<project>[/<file>]]"
# Cible : ~12% contexte max au boot
session_type: debug
description: "Session de debug ciblé — bug, crash, comportement inattendu"
tier_required: free # debug = agent fondamental — disponible pour tous les tiers
# L0 — Invariant (~5%)
L0:
- PATHS.md
- brain-compose.local.yml
- KERNEL.md
# L1 — Session type (~7%) — ultra chirurgical sur le debug
L1:
- agents/debug.md # agent principal debug
# L2 — Project scope — fichier cible si déclaré dans le signal
# Signal : "debug/<project>/<file>" → charger le fichier + projet
L2:
template: "projets/{project}.md"
extras:
- "{file}" # fichier cible si déclaré
- "todo/{project}.md" # todos projet pour contexte
fallback: null
# L3 — On demand
# Exemples : agents/testing.md, agents/security.md, logs, config spécifique
# Note : agents/testing.md chargé automatiquement si debug implique des tests
L3:
hint: "Charger à la demande : testing, security, logs, agents métier, wiki"
# --- Règle debug ---
# Un signal debug/project/file = on charge uniquement le fichier concerné.
# Pas de focus.md, pas de metabolism — contexte minimal pour aller au problème vite.
# --- Métriques cibles ---
context_target:
L0: "~5%"
L1: "~5%"
L2: "~5%"
total_boot: "~12%"

View File

@@ -0,0 +1,44 @@
# session-deploy.yml — Contexte BHP pour sessions de déploiement
# Trigger : "brain boot mode deploy[/<project>]"
# Cible : ~25% contexte max au boot
session_type: deploy
description: "Session de déploiement — VPS, Docker, SSL, CI/CD, infra"
tier_required: pro # deploy = agents vps/ci-cd/monitoring (tous pro)
# L0 — Invariant (~5%)
L0:
- PATHS.md
- brain-compose.local.yml
- KERNEL.md
# L1 — Session type (~15%)
L1:
- agents/vps.md # VPS, Apache, Docker, SSL, vhost, certbot # tier: pro
- agents/ci-cd.md # pipelines, GitHub Actions, Gitea CI # tier: pro
- agents/monitoring.md # Kuma, alertes, logs post-déploiement # tier: pro
# L2 — Project scope (~8%) — optionnel sur projet déclaré
L2:
template: "projets/{project}.md"
extras:
- "todo/{project}.md"
fallback: null
# L3 — On demand
# Exemples : agents/security.md (audit pré-deploy), agents/mail.md (DNS/DKIM),
# agents/pm2.md, agents/migration.md, config spécifique
L3:
hint: "Charger à la demande : security pre-deploy, mail/DNS, pm2, migration schema"
# --- Règle deploy ---
# agents/security.md NOT en L1 par défaut — deploy ≠ audit sécurité.
# Charger si audit pré-déploiement explicitement demandé (→ session-audit).
# agents/monitoring.md en L1 : toujours vérifier les alertes après deploy.
# --- Métriques cibles ---
context_target:
L0: "~5%"
L1: "~12%"
L2: "~8%"
total_boot: "~25%"

View File

@@ -0,0 +1,58 @@
# session-edit-brain.yml — Contexte BHP pour sessions d'édition du brain
# Trigger : "brain boot mode edit-brain" ou "brain boot sudo"
# Permissions : write-all brain — toutes zones sauf kernel natif machine
session_type: edit-brain
description: "Session sudo brain — modification structure, agents, ADRs, sessions, présence layer. Writes autorisés partout sauf kernel."
tier_required: free
# L0 — Invariant (~5%)
L0:
- PATHS.md
- brain-compose.local.yml
- KERNEL.md
# L1 — Session type (~15%)
L1:
- agents/coach-boot.md # présence minimale coach
- profil/lexique.md # vocabulaire — évite les ambiguïtés
- BRAIN-INDEX.md # index complet — édition éclairée
- todo/brain-todo-header.md # priorités actives (dérivé de brain.md)
# L2 — Non applicable par défaut
# Charger à la demande selon la zone éditée
# L3 — On demand
L3:
hint: "Charger selon la zone éditée : ADRs, agents spécifiques, session-*.yml, wiki/"
# --- Permissions implicites ---
permissions:
write:
- "profil/**"
- "agents/**"
- "modes/**"
- "wiki/**"
- "workspace/**"
- "todo/**"
- "scripts/**"
- "content/**"
write_restricted:
# Ces fichiers nécessitent une confirmation explicite même en session-edit-brain
- "KERNEL.md"
- "PATHS.md"
- "brain-compose.local.yml"
- "~/.claude/CLAUDE.md"
# --- Note edit-brain ---
# C'est la session de travail sur le brain lui-même.
# Ouvrir explicitement — pas par défaut.
# L'humain doit déclarer "brain boot sudo" ou "brain boot mode edit-brain".
# Le kernel (KERNEL.md, PATHS.md, CLAUDE.md) reste à confirmation explicite même ici.
# --- Métriques cibles ---
context_target:
L0: "~5%"
L1: "~15%"
L2: "~0%"
total_boot: "~20%"

View File

@@ -0,0 +1,52 @@
# session-handoff.yml — Contexte BHP pour sessions HANDOFF
# Trigger : "brain boot mode HANDOFF[/<handoff-id>]"
# Cible : ~15% contexte max au boot — minimum viable pour reprendre
session_type: HANDOFF
description: "Reprise d'une session via handoff — contexte minimal + fichier handoff cible"
tier_required: free # handoff = protocole BSI de base — disponible pour tous
# L0 — Invariant (~5%)
L0:
- PATHS.md
- brain-compose.local.yml
- KERNEL.md
# L1 — Session type (~8%) — chirurgical : seulement ce qu'il faut pour reprendre
L1:
- BRAIN-INDEX.md # trouver le handoff actif
# L2 — Handoff scope (~5%) — fichier handoff si déclaré dans le signal
# Signal : "HANDOFF/<handoff-id>" → charger le fichier handoff directement
L2:
template: "handoffs/{handoff_id}.md"
extras: []
fallback:
- handoffs/LATEST.md # si pas d'ID déclaré → dernier handoff
# L3 — On demand
# Exemples : context complet projet, agents métier, focus.md
# Principe : le fichier handoff CONTIENT les pointeurs vers L3.
# La nouvelle session lit le handoff → décide elle-même quoi charger.
L3:
hint: "Lire le handoff d'abord. Il indique quoi charger en L3."
# --- Règle HANDOFF ---
# Le handoff est la source de vérité pour la reprise.
# Ne pas charger focus.md, metabolism, agents au boot — le handoff décide.
# Après lecture du handoff → promouvoir le contexte nécessaire en L2 implicite.
# Le claim ouvert doit référencer le handoff : parent_satellite ou story_angle.
# --- Format handoff attendu ---
# handoffs/<id>.md doit contenir :
# - Contexte de la session précédente (état, décisions, bloquants)
# - Fichiers à charger (L3 → L2 pour cette session)
# - Todos ouverts prioritaires
# - Signal de session recommandé pour la suite
# --- Métriques cibles ---
context_target:
L0: "~5%"
L1: "~5%"
L2: "~5%"
total_boot: "~15%"

View File

@@ -0,0 +1,54 @@
# session-kernel.yml — Contexte BHP pour sessions de lecture/navigation kernel
# Trigger : "brain boot mode kernel"
# Permissions : lecture seule sur les fichiers kernel — writes bloqués
session_type: kernel
description: "Session lecture kernel — navigation, compréhension, audit de l'identité cognitive du brain. Writes kernel impossibles."
tier_required: free
# L0 — Invariant (~5%)
L0:
- PATHS.md
- brain-compose.local.yml
- KERNEL.md
# L1 — Session type (~15%)
L1:
- agents/coach-boot.md # présence minimale coach
- profil/lexique.md # vocabulaire
- modes/brain-kernel.md # soft lock — refuse writes kernel, redirige session-edit-brain
# L2 — Non applicable
# L3 — On demand
L3:
hint: "Charger à la demande : ADRs, agents, session-*.yml pour comparaison"
# --- Périmètre kernel protégé ---
kernel_zone:
# Ces fichiers sont en lecture seule dans cette session
# Toute tentative de write → refus explicite + message de redirection
protected:
- "KERNEL.md"
- "PATHS.md"
- "brain-compose.local.yml"
- "brain-compose.yml"
- "~/.claude/CLAUDE.md"
- "agents/coach.md"
- "agents/coach-boot.md"
- "agents/secrets-guardian.md"
- "agents/helloWorld.md"
redirect_message: "Ce fichier fait partie du kernel. Pour le modifier : ouvre une session-edit-brain (brain boot sudo)."
# --- Note kernel ---
# Cette session existe pour auditer, lire, comprendre le kernel sans risque de dérive.
# Le soft lock modes/brain-kernel.md sera créé en parallèle.
# Ne pas confondre avec session-navigate : kernel = focus identité cognitive brain.
# Navigate = vue brain globale / architecture / décisions.
# --- Métriques cibles ---
context_target:
L0: "~5%"
L1: "~10%"
L2: "~0%"
total_boot: "~15%"

View File

@@ -0,0 +1,40 @@
# session-navigate.yml — Contexte BHP pour sessions de navigation brain
# Trigger : "brain boot mode navigate"
# Cible : ~20% contexte max au boot
session_type: navigate
description: "Session navigation — architecture, coaching, brainstorm, décisions brain. Pas d'exécution projet."
tier_required: free
# L0 — Invariant (~5%)
L0:
- PATHS.md
- brain-compose.local.yml
- KERNEL.md
# L1 — Session type (~15%)
L1:
- agents/coach.md # co-pilote actif en mode navigate
- modes/brain-navigate.md # soft lock comportemental
- focus.md # direction active
- agents/time-anchor.md # recontextualisation temporelle + fallback post-compaction
- profil/lexique.md # vocabulaire — évite les ambiguïtés
# L2 — non applicable
# La session navigate porte sur le brain entier, pas un projet
# L3 — On demand
L3:
hint: "Charger à la demande : ADRs, agents spécifiques, todo/brain.md, BRAIN-INDEX.md"
# --- Note navigate ---
# modes/brain-navigate.md est L1 obligatoire — il définit le soft lock.
# Coach en co-pilote actif (pas arrière-plan) — différent des autres sessions.
# Pas de L2 projet par design : navigate = vue brain globale.
# --- Métriques cibles ---
context_target:
L0: "~5%"
L1: "~12%"
L2: "~0%"
total_boot: "~18%"

View File

@@ -0,0 +1,42 @@
# session-work.yml — Contexte BHP pour sessions de travail projet
# Trigger : "brain boot mode work[/<project>]"
# Cible : ~28% contexte max au boot
session_type: work
description: "Session de développement sur un projet actif"
tier_required: free # tier free = agents fondamentaux; pro = + code-review + security
# L0 — Invariant (~5%) — TOUJOURS chargé, non négociable
L0:
- PATHS.md
- brain-compose.local.yml
- KERNEL.md
# L1 — Session type (~15%) — déterministe, même signal = même chargement
L1:
- focus.md # focus actuel, todos prioritaires
- agents/code-review.md # qualité code, PR, validation # tier: pro
- agents/security.md # failles, JWT, OAuth, OWASP # tier: pro
- agents/debug.md # bug, crash, comportement inattendu
- metabolism/README.md # état métabolique, énergie session
# L2 — Project scope (~10%) — conditionnel sur project déclaré dans le signal
# Clé : projet déclaré → projets/<project>.md + todo/<project>.md
L2:
template: "projets/{project}.md"
extras:
- "todo/{project}.md"
fallback: null # absent si pas de projet déclaré
# L3 — On demand (0% au boot) — tout le reste
# Exemples : agents/testing.md, agents/refacto.md, agents/migration.md,
# wiki/, progression/, autres projets, agents spécialisés métier
L3:
hint: "Charger à la demande : testing, refacto, migration, infra, i18n, doc"
# --- Métriques cibles ---
context_target:
L0: "~5%"
L1: "~15%"
L2: "~8%"
total_boot: "~28%"