ADR-0018 · Cockpit : Brain et Studio
title: ADR-0018 — Orbit est un cockpit : Brain et Studio sont des surfaces de premier niveau description: Orbit est un cockpit : Brain et Studio sont des surfaces de premier niveau.
Statut
Accepté · 2026-09-29
Remplace ou amende : ADR 0017 uniquement sur la portée de Memory, le rôle de Studio et la navigation. Workspace, permissions, credentials et migration progressive restent valides.
Origine : ADR 0008 du dépôt applicatif Orbit, renumérotée 0018 à l’intégration dans cette série (une seule série d’ADR vit désormais ici).
Statut dans Orbit (2026-10) : en vigueur. Le cockpit authentifié est le groupe de routes
(dashboard)(/brain,/studio,/academy,/developers,/costs,/members,/settings). Les primitives du Brain (Spaces, Memories, liaisons) sont fixées par l'ADR 0020.
Contexte
Le repository vient d’un Studio interne. Cette origine restait visible dans les anciens noms de packages (aujourd'hui @orbit/*) et reste visible dans les modèles persistés Product, StudioMember et BrainEntry. Les anciennes routes et l’ancien graphe Memory ont été supprimés pendant la fenêtre Pré-v1.
La source de vérité Orbit définit désormais un produit plus large : un Brain indépendant des tools, des Spaces sémantiques, des Memories avec provenance, un Context Engine et plusieurs surfaces qui consomment le même contexte.
Studio reste utile et mature. Il doit devenir un tool natif Orbit, pas être jeté.
Décision
Orbit est le produit racine
Le shell authentifié est le cockpit Orbit.
Orbit
├── Brain
├── Studio
├── Chat # futur
├── Research # futur
└── ...
Brain est top-level
La route canonique est /brain.
/studio/memory et /studio/[product]/brain ont été supprimés avant v1. /brain est l’unique route de contexte.
Memory est une primitive
Memory désigne une unité de contexte. La surface utilisateur principale s’appelle Brain.
Studio ne possède pas la mémoire
Studio demande un Context Pack au Brain. Il peut produire des observations et proposer des writes, sans étendre ses permissions.
Le modèle six branches est legacy
| Legacy | Cible Brand v1 |
|---|---|
| IDENTITY | Identity |
| GUIDELINES | Guidelines |
| KNOWLEDGE | Knowledge |
| FEATURES | Products |
| PERSONAS | Characters |
| PERFORMANCE | sort du schéma ; observations Studio vers Knowledge |
Performance est une propriété des tools et de leurs résultats, pas un pilier de contexte.
Product/Project Studio n’est pas Space
Le modèle historique Product est une unité de travail Studio. Il ne doit pas être renommé mécaniquement en Space.
Relation cible :
Studio Project
→ Tool Context Binding
→ one or more Brain Spaces
Cela permet à Studio, Chat et MCP de lire le même Brain sans partager le modèle métier d’un tool.
Fenêtre Pré-v1
L’application n’a actuellement aucun utilisateur actif. Nous profitons donc de cette fenêtre pour corriger tôt les mauvais chemins, noms et modèles au lieu de les figer artificiellement.
Cela ne justifie pas de jeter le ledger, les connecteurs, l’auth, les jobs, l’observabilité ou les tests.
Migration progressive
- routes et langage ;
- ✅ nouveau rendu Brain React ;
- adapter legacy ;
- nouvelles primitives DB ;
- migration des données ;
- Context Engine ;
- bindings tools ↔ Spaces ;
- cleanup.
Aucun big bang Prisma.
Ce que nous conservons
- cockpit et shell ;
- Studio créatif ;
- galerie et composer ;
- génération et jobs asynchrones ;
- QC, Concepts et learnings ;
- ledger append-only et idempotence ;
- connecteurs ;
- auth et permissions ;
- observabilité et rétention ;
- Remotion ;
- tests.
Ce qui est déprécié
- Orbit décrit uniquement comme growth system ;
- Brain enfant du Studio ;
/studio/memorycanonique ;- « Mémoire » comme nom de la surface principale ;
- PERFORMANCE comme pilier mémoire ;
- une mémoire propre à chaque tool.
Conséquence
Studio devient plus fort : il consomme une mémoire partagée qui peut également servir Chat, MCP, API et les futurs tools.