Zum Inhalt springen

XI-Architektur

XI-Architektur

Cross-App-Glue protocol, nav, runtime.

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.md

Regel: Ein Repo-Package, nicht drei separate Repos.

manifest.ts → @addxion/xi/nav (filter, sort) → @addxion/shell (BottomNav, CommandPalette)
@addxion/xi/protocol (Typen, Deep-Links)

Gemeinsame Typen: AppSection, AppManifest, AppAction. Events optional: xi:navigate, xi:grant-denied.

ExportZweck
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.

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.

QuelleZielStatus
süper home-sections.tssüper/src/manifest.ts + xi-naverledigt
addxion.ai app-actions.tsaddxion-ai/src/manifest.ts + xi-naverledigt
Federation in Command Palettesfederated-manifests.ts (süper + addxion.ai)erledigt
xi-federation in addxion-docs Paletteoptionaloffen

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).

IDWahrheit
T-PKG-XIEin Package xi, Subpath-Exports, kein UI
T-EVOLUTION-COREEvolutionskern in EvolutionCore; runtime = Port
T-NAV-MANIFESTNav aus manifest.ts + xi/nav
T-SHELL-PAGEHEADERPageHeader-Struktur in Shell, Titel im Manifest

Scope: Datenfluss Manifest → xi-nav → Shell.

  • resolveSection für PageHeader-Titel
  • Federation über Command Palettes, nicht hardcodierte URLs
  • Nav nicht in Shell-Komponenten duplizieren