# Portabilität: SYSTEM
# Zuletzt validiert: 2026-02-08
# Nächste Prüfung: 2026-05-08
# Ressourcen: [data/schema_distribution.sql, hub/dist.py, hub/sync.py, db/schema.sql]

DISTRIBUTION-SYSTEM
===================

Stand: 2026-02-08

Das Distribution-System trennt System-Kern von User-Daten und Release-Templates.

4-TIER MODELL (dist_type):
  dist_type = 0  KERNEL     Absolut unveränderlich (Basis-System)
  dist_type = 1  CORE       Systemdatei (readonly / distribution backup)
  dist_type = 2  EXTENSION  Release-Template (1x Snapshot für Reset)
  dist_type = 3  USER_DATA  Individuelle Userdaten (nicht im Repo)

CLI-BEFEHLE
-----------
  bach --dist status              System-Status (Siegel, Mode, Dateien)
  bach --dist verify              Siegel-Integrität prüfen
  bach --dist scan                Dateien scannen und registrieren
  bach --dist snapshot NAME       Snapshot erstellen
  bach --dist release NAME        Release erstellen
  bach --dist restore ZIP         Aus Distribution-ZIP wiederherstellen
  bach --dist install ZIP ZIEL    Distribution in neuem Ordner installieren
  bach --dist list [snapshots]    Snapshots auflisten

RELEASE-WORKFLOW
----------------
  1. Snapshot erstellen: `bach --dist snapshot "pre-release"`
  2. Release erstellen: `bach --dist release "v1.2.0"`
  3. Distribution-ZIP wird in dist/ erstellt
  4. Reset: `bach fs heal --all` stellt Dateien aus Snapshots wieder her
  5. Restore: `bach --dist restore bach_vanilla_1.2.0.zip`

DATENBANK & FILESYSTEM INTEGRATION
----------------------------------
  - Skills & Tools werden bidirektional synchronisiert (`bach --sync skills`).
  - `dist_type` Spalten finden sich in ca. 60 Tabellen (siehe db/schema.sql).
  - Datei-Manifest in `distribution_manifest` Tabelle.
  - OneDrive/Git sichern die Distribution, BACH sichert die Integrität.

HINWEIS ZUR DATENBANK
---------------------
Es gibt nur eine zentrale `data/bach.db` (seit v2.0 in system/db/schema.sql).
Viele Tabellen nutzen `dist_type` für logische Trennung:
  - dist_type=0: Kernel-Daten (absolut unveränderlich)
  - dist_type=1: Core-Daten (systemkritisch)
  - dist_type=2: Extension-Daten (zurücksetzbar)
  - dist_type=3: User-Daten (nicht im Installer)

SIEHE AUCH
----------
  bach --sync help         Skills- und Tools-Synchronisation
  bach fs help             Filesystem-Operationen (heal, verify)
  docs/help/guidelines.txt      Dokumentations-Standards
  system/db/schema.sql     Vollständiges DB-Schema (210+ Tabellen)
