Décisions fondatricesADR-0018 · Cockpit : Brain et Studio

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

LegacyCible Brand v1
IDENTITYIdentity
GUIDELINESGuidelines
KNOWLEDGEKnowledge
FEATURESProducts
PERSONASCharacters
PERFORMANCEsort 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

  1. routes et langage ;
  2. ✅ nouveau rendu Brain React ;
  3. adapter legacy ;
  4. nouvelles primitives DB ;
  5. migration des données ;
  6. Context Engine ;
  7. bindings tools ↔ Spaces ;
  8. 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/memory canonique ;
  • « 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.