Rapport Système — Phase 21.5 (Historique)
Instantané historique d'Arc OS après l'intégration de l'Intelligence Évolutive. Note : Ce document reflète l'état du système à la Phase 21.5. Le système actuel est à la Phase 40.18 avec 62+ API endpoints, un dashboard CRM, OAuth, Sage Worker, et bien plus. Consulte le Guide utilisateur et la Vue d'ensemble produit pour la documentation actuelle.
Résumé du système
| Métrique | Valeur |
|---|---|
| TypeScript cœur (shared + bots + scripts) | 3 298 lignes |
| Modules partagés | 7 |
| Skills enregistrés (registry) | 18 |
| Skills bibliothèque | 7 |
| Total skills | 25 |
| Types de règles Eval | 6 |
| Jeux de règles eval pilotes | 3 (9 règles au total) |
| Agents | 6 |
| Child bots (production) | 2 |
| Commits Git | 36 |
| Phases livrées | 15 → 21.5 |
| Code backend personnalisé | 0 lignes |
Architecture
┌──────────────────────────────────┐
│ Master Bot (Port 19210) │
│ @citadel_master_bot │
│ │
│ /status /health /deploy /watchdog │
│ /new_project /remove_project │
│ Approve/Reject improvements │
└──────────┬───────────┬─────────────┘
│ │
┌────────────┘ └────────────┐
▼ ▼
┌───────────────────┐ ┌───────────────────┐
│ Child: citadel-v2 │ │ Child: pt │
│ Port 19211 │ │ Port 19212 │
│ │ │ │
│ Intelligence: │ │ Intelligence: │
│ ├ Context Router │ │ ├ Context Router │
│ ├ Learnings │ │ ├ Learnings │
│ ├ Binary Evals │ │ ├ Binary Evals │
│ └ Quality Track │ │ └ Quality Track │
└───────────────────┘ └───────────────────┘
│ │
▼ ▼
┌───────────────────┐ ┌───────────────────┐
│ MCP Bridge │ │ │
│ Port 19200 │ │ (no bridge yet) │
│ SSE + HTTP API │ │ │
└────────┬──────────┘ └───────────────────┘
│
▼
┌───────────────────┐
│ Phaser.js Frontend│
│ Port 5173 (dev) │
│ Visual AI Office │
└───────────────────┘
Carte des modules
shared/ (7 modules, 1 124 lignes)
| Module | Lignes | Phase | Rôle |
|---|---|---|---|
logger.ts |
189 | 20.5 | Logging JSONL structuré : canaux system/dialog/error, rotation quotidienne |
vault.ts |
216 | 20.5 | Stockage de secrets chiffré AES-256-GCM : initVault, getSecret, setSecret |
quality.ts |
192 | 21.1+21.5 | Suivi exécution/feedback, agrégation, détection des sous-performances |
ui_templates.ts |
158 | 21.0+21.5 | Claviers Telegram : menu master, cartes projet, boutons child, propositions d'amélioration |
evals.ts |
142 | 21.5 | Moteur d'eval binaire : 6 types de règles, checkOutput, formatWarnings |
context-router.ts |
117 | 21.5 | Scoring de skills : correspondance trigger/keyword, génération SKILLS_HINT |
learnings.ts |
110 | 21.5 | Corrections persistantes : chargement/ajout/formatage des learnings depuis markdown |
Runtimes bot (1 937 lignes)
| Fichier | Lignes | Rôle |
|---|---|---|
child-bot/bot.ts |
944 | Proxy Telegram-Claude CLI avec intégration de la couche intelligence |
master-bot/bot.ts |
993 | Orchestrateur : commandes, cartes projet, watchdog, approbation des améliorations |
Scripts (237 lignes)
| Fichier | Lignes | Rôle |
|---|---|---|
scripts/nightly-improve.ts |
237 | Karpathy Loop : analyse des métriques → propositions d'amélioration → Telegram CEO |
Inventaire des skills
Skills enregistrés (18)
| Skill | Catégorie | Phase | Evals |
|---|---|---|---|
| handoff-protocol | complex, skill_injection | 15.2 | - |
| code-review | complex | 15.3 | 3 règles |
| system-audit | complex | 15.3 | 3 règles |
| git-manager | complex, skill_injection | 16 | 3 règles |
| project-onboarding | complex, skill_injection | 16 | - |
| web-scaffolding | complex | 15 | - |
| code-review-protocol | complex | 15 | - |
| automated-testing | complex | 15 | - |
| deployment-flow | complex | 15 | - |
| knowledge-index | complex | 15 | - |
| document-analysis | complex | 15 | - |
| citadel-wrapup | cli_command | 19.4 | - |
| citadel-recall | cli_command | 19.4 | - |
| citadel-status | cli_command | 19.5 | - |
| citadel-task | cli_command | 19.5 | - |
| citadel-deploy | cli_command | 19.5 | - |
| figma-audit | complex, skill_injection | 21 | - |
| figma-apply-system | complex, skill_injection | 21 | - |
| figma-implement | complex, skill_injection | 21 | - |
Skills bibliothèque (7)
| Skill | Domaine |
|---|---|
| docker-ops | Orchestration de conteneurs |
| figma-design | Pipeline design-to-code |
| github-actions | Workflows CI/CD |
| odoo-expert | Développement Odoo ERP |
| odoo-owl-expert | Framework Odoo Owl |
| plasthetica-style-guide | Guide de style spécifique au projet |
| postgres-pro | Optimisation PostgreSQL |
Couche Intelligence (Phase 21.5)
Pipeline de traitement des messages
Message In
│
├─ Context Router scores 18 registry skills → top-5 SKILLS_HINT
├─ Learnings Loader reads learnings.md → LEARNINGS block
├─ BTW Queue prepends extra context from BTW mode
│
▼
buildGsdPrompt() assembles: LEARNINGS → BTW → CONTEXT → SKILLS_HINT → TASK
│
▼
claude -p <prompt> --max-turns 20
│
▼
├─ Binary Evals checks response against .evals.json rules
├─ Quality Tracker logs execution event (skills, success, duration)
│
▼
Telegram response + inline buttons + eval footnotes
Boucle de feedback
Fix It button → addLearning(source: "fixit") → learnings.md → next prompt
Thumbs-down → addLearning(source: "negative") + logFeedback → metrics
Thumbs-up → logFeedback(positive: true) → metrics
Cycle nocturne
03:00 UTC → nightly-improve.ts
→ Read quality-metrics.json per child
→ findUnderperformingSkills(threshold: 80%)
→ Generate proposals
→ Send to CEO via Master Bot Telegram
→ CEO: [Approve] → backup skill.md → mark approved
→ CEO: [Reject] → mark rejected
Infrastructure
VPS (Contabo)
| Service | Port | Endpoint de santé |
|---|---|---|
| Master Bot | 19210 | /api/master/health |
| Child: citadel-v2 | 19211 | /api/child/health |
| Child: pt | 19212 | /api/child/health |
| MCP Bridge | 19200 | /api/health |
| Frontend | 5173 (dev) / Docker | N/A |
Tâches cron
| Planification | Tâche |
|---|---|
| Toutes les 15 min | Synchronisation Git (memory bridge) |
| Toutes les 30 min | Bilan de santé Morty SRE |
| Toutes les 2 h | Agrégation des métriques CFO |
| Quotidien | Rapport de statut CMO |
| Quotidien | Sauvegarde DB |
| Quotidien 03:00 | Boucle d'amélioration nocturne |
Logging
- Format : JSONL structuré
- Canaux : system, dialog, error
- Emplacement :
/var/log/citadel/<bot-name>/ - Rotation : quotidienne (logrotate)
- Accès :
jq . /var/log/citadel/citadel-v2/dialog-$(date +%F).log
Sécurité
- Tokens bot : vault AES-256-GCM (
config/vault.json, ignoré par git) - Clé de chiffrement :
config/vault-key(auto-générée, chmod 600) - Accès CEO uniquement : tous les bots vérifient
CEO_CHAT_IDà chaque message - Aucun identifiant dans git (
.gitignore+.claudeignore)
Historique des phases
| Phase | Ce qui a été construit |
|---|---|
| 15 | Système de skills, agents, blueprints |
| 16 | Git manager, onboarding projet |
| 18 | Issue parent chapeau |
| 19 | Commandes CLI, bibliothèque, wrapup/recall |
| 20 | Bots fédérés, architecture Master + Child |
| 20.5 | Logging structuré, watchdog, vault, onboarding |
| 21.0 | Templates UI, contrôle subprocess, suivi qualité |
| 21.1 | Agrégation des métriques qualité, boutons feedback |
| 21.5 | Intelligence Évolutive : evals, context router, learnings, boucle nocturne |
| 22-26 | API Backend CRM, Workspace, Workers, Specs |
| 28-30 | Auto-ingestion de la base de connaissances, wizard onboarding |
| 32-34 | Wiki, CRUD Skills, Issues, ARC CLI |
| 36 | Cloud PM, Neural Skill Generator, NotebookLM Bridge |
| 37-38 | OAuth (Google/GitHub), auth email/password, binaire ARC CLI |
| 39 | CRM responsive mobile |
| 40.10-40.18 | Historique chat, Sage Worker, benchmarks, marketplace, icônes Lucide, vault Telegram, bots workers |
Pour les détails du système actuel, consulte la Vue d'ensemble produit.