XI-Architektur
Package-Struktur
Abschnitt betitelt „Package-Struktur“addxion-ai/packages/xi/├── package.json # exports: ./protocol, ./nav, ./runtime├── src/│ ├── protocol/ # Typen, Konstanten, Events│ ├── nav/ # Manifest-Loader, Filter, Resolver│ └── runtime/ # Evolutions-Port/Client → EvolutionCore (Stub)└── AGENTS.mdRegel: Ein Repo-Package, nicht drei separate Repos.
Datenfluss
Abschnitt betitelt „Datenfluss“manifest.ts → @addxion/xi/nav (filter, sort) → @addxion/shell (BottomNav, CommandPalette) ↓ @addxion/xi/protocol (Typen, Deep-Links)protocol
Abschnitt betitelt „protocol“Gemeinsame Typen: AppSection, AppManifest, AppAction. Events optional: xi:navigate, xi:grant-denied.
| Export | Zweck |
|---|---|
getSectionsForRole(manifest, role) | Rollenfilter |
getHomeSections(manifest, role) | Home-Hub |
getNavSections(manifest, role) | Tab-Bar |
getCommandItems(manifest, role) | Command Palette |
resolveSection(manifest, pathname) | PageHeader-Titel |
Kein React in nav. Framework-agnostic.
runtime
Abschnitt betitelt „runtime“Phase 1: Stub (XiContext, Tool-Registry-Platzhalter).
Langfristig: TypeScript-Port/Client zu EvolutionCore — mappt App-Kontext auf Env-Ports (observe / act / evaluate / constrain). Evolutionslogik bleibt im Elixir-Backend; runtime ersetzt weder @addxion/ai noch Chat-Shell.
These und Grenzen: EvolutionCore → xi-runtime. Truth: T-EVOLUTION-CORE.
Migration (erledigt)
Abschnitt betitelt „Migration (erledigt)“| Quelle | Ziel | Status |
|---|---|---|
süper home-sections.ts | süper/src/manifest.ts + xi-nav | erledigt |
addxion.ai app-actions.ts | addxion-ai/src/manifest.ts + xi-nav | erledigt |
| Federation in Command Palettes | federated-manifests.ts (süper + addxion.ai) | erledigt |
| xi-federation in addxion-docs Palette | optional | offen |
Federation (Phase 6.2)
Abschnitt betitelt „Federation (Phase 6.2)“Cross-App Destinations in Command Palettes: Gruppe „Wechsel zu“ mit statischen Peer-Manifest-Snapshots. Grant-Check via @addxion/auth app_grant.
Automatisierung der Peer-Snapshots: offen (niedrige Priorität).
| ID | Wahrheit |
|---|---|
| T-PKG-XI | Ein Package xi, Subpath-Exports, kein UI |
| T-EVOLUTION-CORE | Evolutionskern in EvolutionCore; runtime = Port |
| T-NAV-MANIFEST | Nav aus manifest.ts + xi/nav |
| T-SHELL-PAGEHEADER | PageHeader-Struktur in Shell, Titel im Manifest |
Für Agents
Abschnitt betitelt „Für Agents“Scope: Datenfluss Manifest → xi-nav → Shell.
resolveSectionfür PageHeader-Titel- Federation über Command Palettes, nicht hardcodierte URLs
- Nav nicht in Shell-Komponenten duplizieren