Orion est le runtime local d'exécution broadcast. Il admet les capsules signées ZabCanvas, exécute leurs programmes Blue validés, expose les contrats opérateur et publie les mutations LSML au récepteur LSDP natif partagé. Solar rend ces documents avec Vision. Un changement de scène ne compile aucun bundle Solar.
Program et Preview ont chacun leur instance Blue et leur ressource native. Les stream-rules ont leurs propres instances et survivent au changement de scène. Le LSML durable stream-control conserve les règles activées et l'intention des applications ; le contrôleur de processus maintient leur état réel, dont Marker.
| Responsabilité | Propriétaire | Contrat |
|---|---|---|
| Démarrage et autorité locale | cmd/orion/main.go | Loopback et secret de handshake par requête |
| Admission de scène | internal/api/scene_intent.go | Référence signée, digests, bail de commit par voie, barrière native |
| Exécution Blue | internal/bluehost et internal/bluewire | Step initial avant ticks ; calls/awaits typés, événements bornés |
| Capacités | internal/providers et bluehost/effect_*.go | Disponibilité configurée et politique Preview explicite |
| Publication et reprise native | internal/lsdpreception | Identité de transaction conservée, queue bornée, refus des issues ambiguës |
| Règles et processus locaux | internal/streamcontrol | Intention atomique durable, PID possédé, réconciliation et OFF |
| Affichage et médias | Solar, Vision, Pulsar | Révision source exacte, textures caméra, composition CEF |
L'adresse source est artifact_set_digest ; Blue et l'interface opérateur utilisent scene_digest. Ces valeurs peuvent différer. L'hôte applicatif lance le nœud natif avec le serveur packagé Solar ; Orion le vérifie et l'utilise sans second daemon.
HTTP écoute sur loopback 4007, les diagnostics sur 4017 par défaut. internal/api/public.go est le propriétaire canonique des routes.
| Entrée | Comportement |
|---|---|
| POST /api/v1/host/scene-intent | Admission Preview ou Take Program |
| GET /api/v1/host/status | Identités chargées et dernière projection |
| GET /api/v1/cockpit/contracts | Inputs source, triggers et awaits |
| POST /api/v1/operator/call/{blueprint}/{entrypoint} | Appel opérateur admis |
| POST /api/v1/operator/resolve/{blueprint}/{await} | Résolution typée |
| GET /api/v1/runtime/host-surface | Capacités, disponibilité, limites et état de livraison native |
| GET /api/v1/show/stream-rules | Instances globales activées |
| GET /api/v1/show/overlay-apps | État réel PID/running/error |
| GET /api/v1/ready | Dépendance native et contrôleur local vérifiés |
Les ressources de rendu sont solar/program, solar/preview, solar/generations et solar/sessions. orion/state porte les projections de contrôle. Les anciennes routes push/store et LSDP/1 de rendu ne sont pas enregistrées par l'exécutable. Les modules de compatibilité conservés ont des consommateurs/tests explicites.
go test ./...
go vet ./...
staticcheck ./...
go build -o ./bin/orion ./cmd/orionConsulter .env.template et internal/config pour les paramètres réels : secret local, adresse/ressource native, clés de confiance Canvas et capsules exactes. Un port ouvert ne prouve pas la readiness. Les tests natifs/Marker sont opt-in ; un skip ne compte jamais comme preuve d'exécution complète.
- Carte des fonctionnalités
- Frontière source et rendu
- Ajouter une capacité
- Reprise native
- Maturite locale et preuves
- Publication native
- Contrôle durable
Cette migration est qualifiée localement, sans publication ni déploiement. Un petit LSML déclarant une scène désirée ne déclenche pas encore l'admission coordonnée Blue/contrats/Solar. La synchronisation et le transfert d'autorité Prism restent hors de ce périmètre. Les limites courantes sont dans la frontière source.