# OrientOS / Osum — Weg zum alltagstauglichen Desktop

> **STAND 09.09.2026.** Die Statusspalten unten sind an diesem Tag gegen
> `/root/osum-merge9` (Zweig `merge9`, HEAD `8f19a97`) NACHGEPRUEFT worden —
> nicht dem Alter der Quelle geglaubt, sondern im Code, in den STATUS-Dateien
> und in den Testlaeufern nachgesehen. Der urspruengliche Text vom 28.08.2026
> ist unveraendert; geaendert wurden nur die Marker und die Belege dahinter.
> Die Fassung vom 28.08. liegt als `ROADMAP.md.bak-28082026` daneben.
>
> ## SO FINDET MAN ALLES
>
> | Datei | wofuer |
> |---|---|
> | **`OFFEN.md`** | **DIE WAHRHEIT — was noch fehlt.** 102 Punkte mit stabilen IDs (`K-001`, `P-014`, …), Status, Prioritaet, Beleg. Hier zuerst nachsehen. |
> | `ERLEDIGT.md` | was seit dem 28.08. fertig wurde, je Zeile mit Runde/Commit/Messwert |
> | `INVENTAR.md` | wo JEDES Dokument liegt (~190 Stueck), inkl. der Widersprueche zwischen den Quellen |
> | `recherche-2026-09-09/` | Explorer-Audit (verifiziert), Dateimanager-Vergleich, Basic-Needs, Linux-Messlatte |
> | **`KOMPATIBILITAET.md`** | **NEU 14.09.2026 — OrientOS gegen Arch Linux und Windows 11: was da ist, was fehlt, in welcher Reihenfolge es gebaut wird. Beantwortet „kann ich umsteigen" mit gemessenem Bestand.** |
> | `KERNEL.md` · `FREMDSOFTWARE.md` · `FIRN-ESCAPE-TIEFE.md` | Grundsatzpapiere |
> | `PROGRAMM-AUDIT.md` | *(kommt — Runde laeuft)* |
> | `alt/` | Kopien der losen Dateien aus `/root` (Originale bleiben liegen) |
>
> **Online:** https://store.fleitec.com/belege/orientos-roadmap/
>
> **Regel ab 09.09.2026:** Alle Osum/OrientOS-Roadmaps, Recherchen und
> Offen-Listen liegen NUR hier. Neue Runden tragen ihr Ergebnis in `OFFEN.md`
> ein (ID beibehalten, Status aendern, Beleg eintragen).


Stand 28.08.2026. Grundlage: eigene Tiefenrecherche (Rohdaten: /root/osum-research-raw.md)
plus gemessener Bestand im Repo /root/mg-osum.

LEGENDE Status (Stand 09.09.2026, gegen merge9 geprueft):
  [OK] gebaut UND gemessen · [TEILWEISE] Teil steht, Rest hat eine ID in OFFEN.md
  [OFFEN] noch nichts · [LAUF] Runde laeuft gerade
  Hinter jedem Marker steht der Beleg bzw. die OFFEN.md-ID zum Nachschlagen.
LEGENDE Aufwand: S klein · M mittel · L gross · XL eigenes Teilprojekt

---

## 0. Was bereits steht (gemessen, nicht behauptet)

[OK] Kernel: Speicherverwaltung, Prozesse, Scheduler, Syscalls, SMP (4 CPUs, ACPI-MADT)
[OK] Firn: eigene Sprache mit Selbst-Uebersetzung (K16 haengt noch: _F1.u_start)
[OK] VFS + eigenes Dateisystem OFS + FAT + devfs + procfs
[OK] Treiber: NVMe, virtio (Block/Netz/GPU), USB/xHCI, Tastatur/Maus
[OK] Netz: TCP/IP, TLS 1.3 mit Kettenpruefung, /bin/fetch
[OK] Fensterserver im Kernel (wm.fi), Taskleiste, Kacheln, Themes (Farb- UND Formtoken)
[OK] Anzeige: vmode.fi prueft echte Modi, ~20 Aufloesungen bis 2560x1080, 1920x1080 geht
[OK] Paketformat PLAN Fassung 2 mit Generationen (opk.py, noch Python auf dem Wirt)
[OK] Grafik-Grundlagen aus Runde PAINT: Alpha, Anti-Aliasing, Fensterschatten
[OK] KVM-Durchgriff auf dem Bauserver: Abnahme 4,6x schneller, deckt echte CPU-Fehler auf

---

## 1. BLOCK A — Sockel. Flaschenhals fuer alles andere.

| # | Baustein | Warum zuerst | Aufwand | Status |
|---|---|---|---|---|
| A1 | Ereignis-Multiplex (`poll`) + Threads + Futex | Keine GUI-App und kein Dienst kann sonst auf zwei Quellen warten | M | [OK] Runde POLL — SYS_POLL=7, 67 Zusagen; Faeden+Futex aus FREMDLAND (clone/futex/mprotect, 100 000 Sperrzyklen) |
| A2 | Init / Dienstverwaltung (pid 1) | Ohne Dienste kein Automount, Netzdienst, Zeitdienst | M | [OK] Runde INIT — kernel/user/init.fi 1072 Z., /etc/inittab, tools/init 78/0 |
| A3 | **Systembus / IPC mit Rechten (D-Bus-Aequivalent)** | Wichtigster Einzelposten. Zwischenablage, DnD, Benachrichtigungen, Energie, Sperrbildschirm haengen daran. Baust du ihn nicht, baust du ihn siebenmal | M-L | [OK] Runde SYSTEMBUS — kernel/bus.fi 1382 Z., 30/5. Rest: OFFEN.md S-003/S-004 |
| A4 | Sitzung + Anmeldung + Seat | Voraussetzung fuer Rechte, Sperrbildschirm, Mehrbenutzer | M | [OK] Runde MULTIUSER — 91/0. GUI-Login fehlt: OFFEN.md P-002 |
| A5 | Geraetemanager / Hotplug (udev-Aequivalent) | Voraussetzung fuer Stick, Kamera, Drucker, Monitor-Anstecken | M | [OFFEN] **P1** — OFFEN.md P-006 (blockiert Stick/Kamera/Drucker) |
| A6 | ACPI: Tabellen + S5 (Ausschalten) + Ereignisse | Ohne ACPI kein echtes Ausschalten, kein Standby, kein Akku. Voller AML-Interpreter waere XL — bewusst abkuerzen | M | [TEILWEISE] acpi.fi 634 Z. (Tabellen+S5). Kein AML, keine Ereignisse: OFFEN.md K-003 |
| A8 | Dateisystem-Robustheit: Journal/CoW, fsck, fsync | Datenverlust mit Zeitzuender | L | [OK] Runde FSROBUST/OFS3 — gemessen 128 GiB Traeger, 136 MB Datei (docs/OFS-LIMITS.md) |
| A9 | Statisch vs. dynamisch gelinkt — ENTSCHIEDEN: **STATISCH** (Justin, 29.08.2026) | PLAN-Format speichert inhaltsadressiert + dedupliziert, damit faellt das Hauptargument fuer dynamisch weg. Jede Generation in sich vollstaendig, kein ABI-Vertrag der bricht, Zurueckrollen kann nicht an fehlender Bibliotheksfassung scheitern. PREIS: Luecke in der libc = alle Programme neu bauen | M | [OK] entschieden |
| A10 | Speicherdruck: OOM-Auswahl, Reserve, Auslagerung | Sonst friert das System bei vollem RAM ein statt zu reagieren | M | [OFFEN] — OFFEN.md K-002 |
| A11 | Benachrichtigungen (Dienst + Leiste) | Update, Automount, Akku, Absturz brauchen es alle | S-M | [TEILWEISE] Bus traegt Meldungen. Sichtbare Toasts fehlen: OFFEN.md S-006 |
| A12 | Sicherheitsgrundlagen: ASLR, W^X, Stack-Schutz, Syscall-Argumentpruefung | Signierte Quellen sind da, die Laufzeit hinkt hinterher | M | [OK] Runde HAERTUNG-2 — Fuzzer Ring 3; Blech: smep=1 smap=1 |
| A13 | Kompositor mit Vsync / virtio-gpu 2D | Ohne Vsync sichtbares Reissen. Echte GPU waere XL | M | [OK] Runde VSYNC — Bildgrenze/Seitenwechsel. Tearing ohne GPU bleibt: OFFEN.md G-008 |

**Zwei Entscheidungen, die JETZT fallen muessen — spaeter kosten sie alles:**
1. **Barrierefreiheits-Baum im Fensterserver-Protokoll.** Nachtraeglich heisst: jedes Programm nochmal anfassen.
2. **Ein gemeinsames Typ-/Datenmodell fuer Zwischenablage + Drag-and-Drop + geteilten Speicher.** Ein Modell, drei Nutzer.

---

## 2. BLOCK B — Betriebstauglichkeit. Ohne das ist Fehlersuche auf echter Hardware blind.

| # | Baustein | Aufwand | Status |
|---|---|---|---|
| B1 | Protokollierung: Ringpuffer, strukturierte Eintraege, Rotation, Abfragewerkzeug. **Hoechster Nutzen pro Aufwand der ganzen Liste** | S-M | [OK] Runde PROTOKOLL — klog.fi 917 Z., 55/0, 40 000 Zeilen ohne Verlust, 14 ms |
| B2 | Absturzberichte: Speicherabbild, Rueckverfolgung mit Firn-Symbolen, Panik-Bildschirm mit Stapel | M | [OK] Runde PROTOKOLL — Panik-Bild 17 Symbole, /var/crash. Rest: OFFEN.md K-009/K-011 |
| B3 | Prozessverwaltung fuer den Nutzer (Task-Manager, "Beenden erzwingen") | S | [OK] taskmgr.fi + top.fi + assets/apps/taskmgr.osp |
| B4 | Update mit automatischem Rueckrollen (A/B, Bootzaehler), Ed25519-Signatur, /bin/opk nativ | M-L | [OK] Runden UPDATE+OTA — ota.fi 1971 Z., HTTPS Ende-zu-Ende, /bin/opk 1693 Z. Rest: OFFEN.md O-001..O-007 |
| B5 | Feedback aus dem System heraus, mit Screenshot, an das FleiTec-Dashboard | S-M | [TEILWEISE] Zweig `feedback` gebaut, NICHT gemergt: OFFEN.md A-012 |

---

## 3. BLOCK C — Hardware-Bruecke. Minimum, damit echtes Blech bootet.

| # | Baustein | Aufwand | Status |
|---|---|---|---|
| C1 | AHCI/SATA-Treiber — sonst findet Osum auf vielen PCs keine Platte | M | [OK] Runde AHCI — ahci.fi 1119 Z.; Blech: `disk AHCI 1022:43c8` |
| C2 | e1000-Netzwerkkarte + Treiberwahl nach PCI-ID | M | [OK] Runde HWNET (Zweig `hwnet`) |
| C3 | USB-Stick-Abbild BIOS+UEFI mit Hardware-Diagnose beim Start | M | [OK] Runden USBIMG/STICK — 46/2; Blech: UEFI-Start von Justins Stick |
| C4 | Wechseldatentraeger + Automount (USB-Massenspeicher ueber xHCI, FAT, sicheres Auswerfen) | M | [OFFEN] **P1** braucht A5 — OFFEN.md P-005 |
| C5 | EDID lesen, Modus setzen, mehrere Monitore, Skalierung | M-L | [TEILWEISE] CUSTOMRES/DISPLAY + EDID + `uiscale=`. Mehrschirm fehlt: OFFEN.md G-007 |
| C6 | Energieverwaltung Basis: HLT/C-States, Bildschirm dimmen, Akkuanzeige, CPU-Frequenz | M | [TEILWEISE] batt.fi 559 Z. Kein Dimmen/CPU-Frequenz: OFFEN.md K-005 |
| C7 | Audio: AC97 (Emulator, 300-600 Zeilen) → **Intel HDA fuer echte Hardware** (1000-2000 Zeilen) + Mischer | L | [OK] Runden MEDIA1/HDA/TON-2 — hda.fi 2570 Z., mix.fi 821 Z., /bin/play (WAV+MP3) |
| C8 | **Netzprofile + MAC-Datenschutz** — ein Profil je Netz, drei MAC-Stufen JE PROFIL (`geraet` / `netz` / `immer`), /etc/netprofile.conf 0o600, Aufrufe 1330/1331, virtio-Steuerwarteschlange und e1000-RAL/RAH | M | [OK] Runde NETPROFIL (Zweig `netprofil`, 30.08.2026) — 68 Zusagen, `docs/ROUNDNETPROFIL.md` |
| C9 | **WLAN (802.11)** — Firmware laden, Verwaltungsrahmen, Suchlauf, WPA2/WPA3-Handschlag, Regulierungsdomaene. Die Profile und die MAC-Stufen dafuer stehen seit C8; was fehlt, ist der Funk. Realistisch: eine Runde fuer den Rahmen + eine je Chipfamilie + eine nur fuer WPA, also grob das Fuenf- bis Zehnfache von C8. In QEMU nicht messbar (keine 802.11-Emulation) | XL | [TEILWEISE] Runde WLAN-2: Rahmen+Profile. KEIN Funktreiber: OFFEN.md N-005 |

---

## 4. BLOCK D — GUI-Kernstueck. Nachtraeglich alles teuer.

| # | Baustein | Aufwand | Status |
|---|---|---|---|
| D1 | **Zwischenablage** mit Besitzermodell, Typenliste, verzoegerter Uebergabe, grosse Daten ueber geteilten Speicher | S→M | [TEILWEISE] Unterbau gemessen (100 sets/gets). Ende-zu-Ende fehlt: OFFEN.md S-001 **P1** |
| D2 | **Drag-and-Drop** — zusammen mit D1 entwerfen, nicht danach | M | [TEILWEISE] drag_put da, DROP-ZIEL fehlt: OFFEN.md S-002 **P1** |
| D3 | Zwischenablage-Verlauf (Win+V-Aequivalent) | S-M | [TEILWEISE] clip_hist_* gebaut (20 Eintraege). Ohne GUI: OFFEN.md D-015 |
| D4 | Schriftverwaltung: Rasterung mit Hinting, Unterschneidung, Fallback-Kette, Unicode-Zeilenumbruch | M→L | [TEILWEISE] Rasterung+AA da, Text 100 % lesbar. Fallback-Kette/UAX-14: OFFEN.md G-009 |
| D5 | Tastaturlayouts (de/en), AltGr, tote Tasten, Compose, Umschalten in der Leiste | M | [OK] Runde TUERSCHLOSS — Layout folgt der Sprache. F-Tasten fehlen: OFFEN.md G-004 |
| D6 | Mehrsprachigkeit sauber: Katalog, Locale, Datum/Zahlen/Sortierung, **echte Umlaute** | M | [OK] Runde UMLAUT2 — wlibc.fit auf UTF-8-Zeichengrenze |
| D7 | Sperrbildschirm + Bildschirmschoner (Leerlaufzaehler, exklusive Eingabe, sicherer Ausfallzustand) | S-M | [TEILWEISE] lock.fi da, Schreibtisch laeuft als root: OFFEN.md P-002 **P1** |
| D8 | Papierkorb pro Datentraeger, Originalpfad, Wiederherstellen, Groessenbegrenzung | S | [OK] papierkorb.fi + korb.fi. Wiederherstellen-GUI: OFFEN.md D-016 |
| D9 | Dateisuche mit Index — eigentliche Arbeit ist die **Aenderungsbenachrichtigung im VFS** | M-L | [OK] locate.fi + nidx.fi; Starter sucht (treffer=4) |
| D10 | Barrierefreiheit Basis: Skalierung, Lupe, hoher Kontrast, Tastaturbedienung, Einrastfunktion | M | [OFFEN] — Zweig `a11y` gebaut aber UNGEMERGT: OFFEN.md S-007/S-008 |
| D11 | Theme-Vorlagen + Konto-Verknuepfung | S-M | [OK] Runde THEMESTORE — Farb- UND Formtoken. Laeufer nie zu Ende: OFFEN.md D-013 |

---

## 5. BLOCK E — Anwendungen. Was der Nutzer taeglich anfasst.

### Stufe 1 — ohne das ist das System unbenutzbar
| # | Anwendung | Aufwand | Status |
|---|---|---|---|
| E1 | Dateimanager mit Kontextmenue, Miniaturansichten, Papierkorb, Stick einbinden | L | [OK] Grundgeruest (explorer.fi), Ausbau offen |
| E2 | Terminal + Shell: UTF-8, Farben, Rueckblaettern, Kopieren/Einfuegen | M | [OK] Grundgeruest |
| E3 | Texteditor: Oeffnen/Speichern, Suchen/Ersetzen, Rueckgaengig, Kodierung | S-M | [OK] Grundgeruest (edit.fi) |
| E4 | Einstellungen: Anzeige, Ton, Tastatur, Zeitzone, Benutzer, Energie, Netz | L | [OK] Grundgeruest, waechst mit den Bloecken |
| E5 | Starter + Taskleiste + Alt+Tab + Statussymbole | L | [OK] Runde TUERSCHLOSS — taskbar.fi 4283 Z., Alt+Tab gebaut (`wm: fokus 13 -> 15 -> 7`), Startmenue stapelt nicht mehr |
| E6 | **Bildbetrachter** (PNG/JPEG/BMP/GIF, Zoom, Drehen, Blaettern, Miniaturen, EXIF-Drehung) | S-M | [TEILWEISE] viewer.fi/bild.fi/jpeg.fi im Baum, Zweig `viewer` UNGEMERGT: OFFEN.md P-014 |
| E7 | **Archiv-Werkzeug ZIP** — praktisch jeder Download ist ein ZIP. Packen UND entpacken | S-M | [OK] zip.fi — echtes ZIP mit deflate/inflate, CRC-32; dazu tar/gzip |
| E8 | Softwareverwaltung mit Oberflaeche (opk als GUI) | M-L | [OFFEN] opk nur CLI, keine GUI: OFFEN.md P-007 |
| E9 | **Webbrowser** — groesster Hebel und groesster Posten zugleich. Ersetzt Mail, Office, Karten, Medien. Eigenentwicklung unrealistisch | XL | [OK] Runde CERTUS-AUF-OSUM — /bin/certus 6 493 760 B laeuft als Ring-3-Programm |
| E10 | PDF-Anzeige: Blaettern, Zoom, Textsuche, Drucken | M | [OFFEN] — OFFEN.md P-008 |

### Stufe 2 — fehlt in den ersten Tagen schmerzhaft auf
| # | Anwendung | Aufwand | Status |
|---|---|---|---|
| E11 | **Snipping-Tool**: Ausschnitt/Fenster/Vollbild, Verzoegerung, direkt in Zwischenablage UND als Datei, Markieren/Pfeil/Verpixeln | S-M | [OK] Runde SNIP — snip.fi + SYS_OSUM_SHOT (1841) |
| E12 | **Medienwiedergabe**: siehe Block F | L | [TEILWEISE] media.fi/play.fi/mp3.fi. Video: OFFEN.md P-009 |
| E13 | Taschenrechner (Grund, Prozent, wissenschaftlich, Einheiten) | S | [OK] rechner.fi |
| E14 | Systemmonitor / Task-Manager | S-M | [OK] = B3, taskmgr.fi |
| E15 | Bildschirmtastatur | M | [OFFEN] — OFFEN.md P-010 |
| E16 | Datentraegerverwaltung: formatieren, auswerfen | M | [OFFEN] braucht A5 — OFFEN.md P-012 |
| E17 | Sicherung + **Wiederherstellung auf leeres Blech**, Zeitpunkte, Pruefung | M | [TEILWEISE] TRESOR: crypto erase 20 ms. Rueckweg auf leeres Blech: OFFEN.md P-013 |
| E18 | Schriften + Emoji + Sonderzeichen | S-M | [OFFEN] — OFFEN.md P-015 |

### Stufe 3 — Kuer
Bildbearbeitung leicht (S) · Bildschirmvideo + Webcam (M) · Kalender/Kontakte (M-L) ·
Uhr/Wecker/Timer (S) · Passwort-Speicher (M) · Scannen (M) · Solitaer (S) ·
Bildschirmleser mit Sprachausgabe (XL) · Office (XL, nur per Portierung)

---

## 6. BLOCK F — Medien. Eigener Plan, weil hier die meisten Illusionen sterben.

**Ehrliche Grenzen (recherchiert, mit Zahlen):**
- **Unrealistisch selbst zu schreiben:** AV1 (80k+ Zeilen, Personenjahre), VP9 (30-50k), Opus,
  H.264 (Patente bis 29.11.2027 aktiv, danach immer noch 6-18 Monate Vollzeit).
- **Kein echtes Vsync ohne GPU-Treiber** — Tearing einplanen, Rueckpuffer + schneller Blit mildert es.
- **1080p60 in Software: unrealistisch** (allein 500 MB/s Rahmenpuffer-Bandbreite).

**Was sicher funktioniert — der Weg:**
| Schritt | Inhalt | Aufwand |
|---|---|---|
| F1 | Eigenes Container-Format (ca. 200 Zeilen) statt MP4/MKV — liefert genau die Zeitstempel fuer Lippensync. Umwandlung auf dem PC per ffmpeg | S |
| F2 | AC97-Treiber im Emulator: erster hoerbarer Ton, testet Mischer/Ringpuffer/Timing | S |
| F3 | WAV-Wiedergabe (PCM 44,1/48 kHz) | S |
| F4 | **Intel HDA fuer echte Hardware** — auf jedem x86-PC seit 2005. 70-85 % Trefferquote, Problem ist die herstellerspezifische Codec-Topologie | M-L |
| F5 | Baseline-JPEG-Dekodierer + YUV→RGB. **Pflicht: MTRR/PAT auf Write-Combining**, sonst scheitert es an der Bandbreite (110 MB/s) | M |
| F6 | MJPEG-Video ueber F1 + A/V-Sync (Audio ist die Leituhr, Bilder auslassen/wiederholen, nie blockieren) | M |
| F7 | Ziel Stufe 1: **854x480 bei 24 Bildern/s, lippensynchron** (~35 % eines Kerns) | — |
| F8 | Danach: FLAC (1500-3000 Zeilen, <2 % CPU), Optimierung auf 720p30, optional MP3 | M |

**Was "wie VLC" realistisch heisst:** eigene Dateien abspielen, Wiedergabeliste, Lautstaerke,
Spulen, Untertitel aus Textdatei. **Nicht** realistisch: jedes Format der Welt, Hardware-Dekodierung,
Netzwerk-Streams in fremden Codecs.

---

## 7. BLOCK G — Erst nach echter Hardware, teuer

| Baustein | Bemerkung | Aufwand |
|---|---|---|
| WLAN | 802.11-Stapel + WPA2/WPA3 + Firmware + Regulierung + Treiber je Chip. **Groesster Einzelposten** | XL |
| Bluetooth | HCI + L2CAP + SDP + Paarung + Profile (HID, A2DP mit SBC) | XL |
| Standby S3 | Jeder Treiber braucht Anhalten/Wiederaufnehmen. **Vorschlag: S5 + Ruhezustand auf Platte statt S3** — 80 % des Nutzens, Bruchteil der Kosten | L-XL |
| Drucker | Billigster Weg: IPP-Everywhere ueber Netz, treiberlos | L |
| Kamera | USB-Video (UVC) ueber xHCI | M-L |
| Programm-Sandbox mit Berechtigungen | Passt zum Paketformat | L |
| Datentraegerverschluesselung + Schluesselbund | Passt zum Grundsatz "Sicherung ohne Geheimnisse" | M-L |

---

## 8. Reihenfolge der naechsten Runden (Warteschlange)

> **ERSETZT am 09.09.2026.** Die alte Liste (SNIP · MEDIA1 · VIEWER · BUS · CLIP ·
> LOG · HOTPLUG · ACPI · ZIP · HDA) ist **weitgehend abgearbeitet** — SNIP, MEDIA1,
> BUS, CLIP-Unterbau, LOG, ZIP und HDA sind gebaut und gemessen (siehe `ERLEDIGT.md`).
> Offen daraus geblieben sind nur **HOTPLUG** und **ACPI**.
>
> Die neue Reihenfolge folgt der **P1-Liste in `OFFEN.md`** — sortiert danach, was
> ein benutzbares Betriebssystem am staerksten blockiert:

| # | Runde | loest | warum zuerst |
|---|---|---|---|
| 1 | **BLECH-NACH** | `B-004`, `B-001`, `B-003` | Justin muss das Abbild `2b5fd03` booten und Tafelzeile 19+22 fotografieren. **Ohne seine Fotos raten wir.** Kostet nichts ausser seiner Zeit |
| 2 | **VEKTOR** | `K-001`, `B-002` | `CR4.OSXSAVE`/`XCR0` + `FXSAVE`/`XSAVE` im Kontextwechsel. Auf jeder AVX-512-CPU stirbt heute jedes Firn-Programm mit `#UD` — auch Justins |
| 3 | **HOTPLUG** | `P-005`, `P-006`, `P-012` | Geraetemanager + Automount. Ohne ihn ist kein USB-Stick benutzbar |
| 4 | **SITZUNG** | `P-002`, `P-001` | Grafischer Login + Installation auf Platte. Solange der Schreibtisch `root` ist und nichts den Neustart ueberlebt, ist es kein System, sondern eine Vorfuehrung |
| 5 | **CLIP-2** | `S-001`, `S-002`, `S-004`, `G-005` | Zwischenablage Ende-zu-Ende + Drop-Ziel. Der Unterbau steht seit SYSTEMBUS und wird von keinem Programm benutzt |
| 6 | **OBERFLAECHE-3** | `G-001`, `G-002`, `G-003`, `P-003`, `G-010` | Fenstergroesse, Kontrollzentrum, Strg+N, Ausschalt-Knopf. Vier Fehler, die im Emulator reproduzierbar sind |
| 7 | **GRUNDLINIE** | `A-001`, `A-008`, `A-002`..`A-007`, `D-013` | 25 rote Abschnitte seriell nachfahren und trennen: echter Fehler vs. Lastflake. Ohne saubere Grundlinie ist jede weitere Messung wertlos |
| 8 | **MERGE-10** | `A-011`, `A-012`, `F-003`, `S-007`, `P-014` | ~20 ungemergte Zweige einsammeln — darunter `a11y`, `viewer`, `explorer2`, `schleuse2` |
| 9 | **AB-BOOT** | `O-004` | Zwei Kernabbilder auf der EFI-Partition. **Spaetestens bevor das erste Update aus der Ferne auf ein Gerät geht, das keiner anfassen kann** |
| 10 | **NAME + ZEIT** | `N-001`, `N-003`, `N-004` | DNS-Resolver (~50 Z.), SNTP (~120 Z.), Zeitzonen. Billig, und ohne sie kann sich ein Geraet mit leerer Knopfzelle nie wieder aktualisieren |

**Laeuft bereits:** EXPLORER-2 (`P-004`, `P-018`..`P-021`, `G-004`, `G-011`, `D-016`) ·
PROGRAMM-AUDIT (22 Programme).

**Braucht eine Entscheidung von Justin, keine Runde:** `O-002` (wo liegt der geheime
Signierschluessel — Tresor, HSM, getrennte Maschine?) und `O-008` (wo liegt das
Helfer-Geheimnis — Tresor mit Passwort oder Datei nur fuer root? **Ohne TPM gibt es
keine gute dritte Antwort.**)

**Grundregel fuer alle Runden:** jede Zusage gemessen, kein Test entschaerft, Screenshots werden
gemessen statt angeschaut, jeder Fortschritt sofort committet, Zwischenstand in STATUS-<RUNDE>.md.

---

## 9. Getroffene Entscheidungen (28.08.2026)

- **Browser: CERTUS.** Kein Chromium-Port. Der eigene Browser-Unterbau im Firn-Repo ist real und gross
  (gemessen: browser 12.471 Zeilen, js 28.718, html 9.353, css 9.305, layout 7.236, dom 2.914,
  net 5.979, paint 3.283, font 1.910 = rund 81.000 Zeilen). Runde CERTUS-PORT bringt ihn ins OS.
- **MP4/MKV:** Container werden GELESEN (Parsen ist billig), Video-Codecs H.264/HEVC/AV1/VP9 werden
  NICHT dekodiert — stattdessen klare Meldung mit Codec, Aufloesung, Dauer. **Der Ton wird abgespielt**
  (MP3/AAC-LC). Damit ist es zugleich ein vollwertiger Musikspieler. Runde DEMUX.
- **Barrierefreiheit: JETZT ins Fensterserver-Protokoll.** Weil alle Programme dieselbe Widget-Schicht
  (wig.fi) benutzen, entsteht der Baum EINMAL zentral statt in jeder Anwendung. Runde A11Y.
- **Linken: STATISCH.** Begruendung: Das PLAN-Format speichert Generationen bereits inhaltsadressiert
  und dedupliziert; identische Bibliotheksteile kosten also nur einmal Platz, womit das Hauptargument
  fuer dynamisches Linken wegfaellt. Statisch bedeutet ausserdem: jede Generation ist in sich
  vollstaendig und bootet garantiert, es gibt keinen ABI-Vertrag, der bei einem Update bricht, und
  das Zurueckrollen auf eine alte Generation kann nicht an einer fehlenden Bibliotheksfassung
  scheitern. PREIS, ehrlich benannt: Eine Luecke in der libc erfordert das Neubauen ALLER Programme —
  vertretbar, solange das gesamte Userland aus einem Baum kommt und die Uebersetzung automatisiert
  ist. Dynamisches Linken bleibt spaeter moeglich, wird aber nicht vorbereitet.

---

## 10. Recherche 09.09.2026 (Explorer-Audit, Dateimanager-Vergleich, Basic-Needs, Linux-Messlatte)

Vollständig unter `recherche-2026-09-09/` (00 = von Jarvis gegen merge9 verifiziert, 01-04 = Sub-Agenten-Berichte mit Quellen).
Online: https://store.fleitec.com/belege/orientos-recherche/ · Programm-Audit folgt in PROGRAMM-AUDIT.md.

---

## 11. Wo der Rest steht

Diese Datei ist die **Landkarte**. Der geprüfte Arbeitsstand steht woanders:

- **`OFFEN.md`** — 102 offene Punkte mit stabilen IDs, davon 20 mit Prioritaet P1.
  **Das ist die Datei, in die eine neue Runde ihr Ergebnis eintraegt.**
- **`ERLEDIGT.md`** — was seit dem 28.08. fertig wurde, mit Runde, Commit und Messwert.
- **`INVENTAR.md`** — wo jedes der ~190 Dokumente liegt, und **15 Widersprueche**
  zwischen den Quellen (Abschnitt 10), z. B. „Roadmap sagt offen, Code sagt fertig".

*Zuletzt gegen merge9 (`8f19a97`) geprueft am 09.09.2026.*

---

## 12. Nachtrag 14.09.2026 — der Weg zu fremder Software

Vollstaendig in **`KOMPATIBILITAET.md`**. Die Kurzfassung, weil sie die
Reihenfolge der naechsten Monate bestimmt:

**Gemessener Stand:** SMP, ACPI inkl. Akku/Deckel/Einschalttaste, AHCI+IDE+NVMe,
xHCI/EHCI mit HID, eigener TCP/IP-Stack mit TLS 1.3, AC97/HDA, OFS mit Journal +
FAT, Benutzer/Rechte, Login + Sperrbildschirm, Installer **mit Dual-Boot**, Store
mit OTA, Fensterserver mit Kachelbaum und Themes, 135 gebundene Programme, seit
14.09. **virtio-gpu**. Rund 145.000 Zeilen Kern.

**Der kuerzeste Weg zu „richtiges OS" sind drei Bausteine, nicht ein Wine:**

| | Baustein | ID | Warum |
|---|---|---|---|
| 1 | **Dynamischer Lader + `auxv`** | `F-007` | statisch gelinkte Linux-Programme laufen bereits (Lua, SQLite, QuickJS gemessen); es fehlt nur `PT_INTERP` und der System-V-Startstapel |
| 2 | **Syscall-Luecken schliessen** | `F-009` | gemessen statt geschaetzt: unbekannte Syscalls protokollieren, dann genau die bauen |
| 3 | **Wayland-Server in Ring 3** | `F-008` | uebersetzt das Protokoll auf die vorhandenen `WM_*`-Syscalls; Wayland und nicht X11, weil kleiner — und weil `wm.fi` schon nach Wayland-Art gebaut ist |

Danach sind **Firefox, LibreOffice und tausende echte Programme** in Reichweite,
ohne dass eine einzige fremde API nachgebaut wird. Erst danach lohnen die teuren
Brocken: echter GPU-Treiber (`G-012`) → Vulkan → eventuell eine Windows-Schicht.

**Dazu am 14.09. gestartet:** `dynlader`, `wayland`, `wmplugin` (Erweiterungen
fuer den Fensterserver nach Hyprland-Vorbild, aber in Ring 3 statt im Kern),
`fremdfs` (ext4/NTFS lesen, `K-016`/`K-017`).

**Bewusst nicht gestartet: WLAN** (`N-005`). Auf dem Bauserver steckt keine
WLAN-Karte; jede Runde dort produziert Code, den niemand nachmessen kann. Das
wird sinnvoll, sobald OrientOS auf Justins eigenem Rechner laeuft.

**Was sich nicht wegprogrammieren laesst:** Kernel-Anti-Cheat (Vanguard, Faceit,
EAC/BattlEye im Kernelmodus) verlangt Treibersignierung und TPM-Attestierung.
Das ist fuer ein selbstgebautes System prinzipiell aus — auch unter Linux mit
Proton laeuft es nicht.

*Nachtrag geprueft gegen `main` `ce4a232` am 14.09.2026.*
