Phase 0: Repo-Gerüst, Dokumentation und Machbarkeits-Spike

Vier Beweise, die das Projekt tragen, als eigenständig lauffähige Skripte:

  S1  Plasma Mobile in proot über genestetes kwin_wayland im X11-Backend.
      Fällt selbsttätig auf startplasmamobile und dann auf XFCE zurück, damit
      ein Fehlschlag eindeutig Plasma zuzuordnen ist und nicht der Umgebung.
  S2  Mikrofon über PulseAudio mit OpenSL-Quelle. Misst den Pegel statt nur die
      Dateigröße — der typische Fehlschlag ist eine formal korrekte WAV-Datei
      voller Stille.
  S3  Virtuelle PipeWire-Kamera per GStreamer-pipewiresink, ohne Kernel-Modul.
      Setzt die Firefox-Einstellung vorab, damit der Test nicht an einem
      vergessenen Häkchen scheitert.
  S4  Intent-Handoff mit lauffähiger Mini-Bridge: xdg-open-Handler für geo:,
      tel: und sms:, Token-Authentifizierung, feste Liste erlaubter Schemata.

provision/provision.sh setzt die Hintergrundbeschränkungen per ADB und benennt,
was ADB nicht kann und von Hand erledigt werden muss.

Dokumentiert sind auch die sieben verworfenen Wege — Waydroid, AVF, QEMU, SIP,
APK-Daten-Redirect, Fenster-Durchreichung und der Android-Server — mit Belegen,
damit sie nicht erneut durchdacht werden müssen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Stefan
2026-08-09 17:25:36 +02:00
co-authored by Claude Opus 5
commit ad2c98443b
21 changed files with 2818 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
# Mitarbeiten
Das Projekt ist noch in **Phase 0** (Machbarkeits-Spike). Bis die vier Beweise S1S4
stehen, kann sich die Architektur noch grundlegend ändern — Beiträge sind trotzdem
willkommen, vor allem Geräte-Meldungen.
## Am hilfreichsten gerade jetzt
**Geräte-Meldungen.** Lauf die Skripte aus [`spike/`](spike/) auf deinem Gerät und
melde das Ergebnis, egal ob es funktioniert hat. Ein sauber dokumentierter Fehlschlag
ist genauso wertvoll wie ein Erfolg — beides geht in die Kompatibilitätsliste.
## Ehernes Gesetz
Zwei Regeln, die keine Ausnahme kennen. Ein Beitrag, der eine davon bricht, wird
abgelehnt, egal wie nützlich er sonst ist:
1. **Der Bridge-Layer auf der Android-Seite ist zustandslos.** Er speichert keine
Nutzdaten. Alles wird ins Linux durchgereicht und nur dort persistiert.
2. **Keine Serverabhängigkeit.** Das Telefon funktioniert vollständig ohne fremde
Infrastruktur. Ein externes Backup-Ziel ist optional und jederzeit abwählbar.
Dazu zwei Regeln, die den Alltag betreffen:
3. **Kein Root, kein entsperrter Bootloader.** Wenn etwas nur mit Root geht, geht es
in diesem Projekt nicht.
4. **Kein Privilegienkanal im Dauerbetrieb.** ADB ist ausschließlich für die einmalige
Ersteinrichtung vorgesehen. Alles Laufende kommt mit gewöhnlichen App-Berechtigungen aus.
## Bevor du etwas vorschlägst
Lies [`docs/verworfene-entscheidungen.md`](docs/verworfene-entscheidungen.md). Sieben
naheliegende Wege wurden bereits geprüft und begründet verworfen — Waydroid, AVF, SIP,
APK-Daten-Redirect und andere. Wenn du einen davon wiederbeleben willst: gern, aber mit
einem Argument, das dort noch nicht widerlegt ist.
## Stil
- Skripte: `bash`, `set -euo pipefail`, deutschsprachige Ausgaben, jeder Schritt protokolliert
- Kommentare erklären das *Warum*, nicht das *Was*
- Architekturentscheidungen kommen als ADR nach `docs/`, nicht in die Commit-Nachricht
- Keine Zugangsdaten, Tokens oder Zieladressen im Repo — auch nicht in Beispieldateien