Phase 1: IPC-Verbindungsschicht + Build-first-Strategie (ADR-0008)

- ADR-0008: Build-first, gesammelte Windows-Validierung (Auftraggeber-Freigabe)
- ADR-0004 vorläufig: Rust auf GStreamer-D3D11-Elementpfad
- ADR-0005 vorläufig: Nuitka Onefolder
- hms_protocol: IpcServer/IpcClient mit Handshake (hello/welcome),
  Capabilities-Austausch, Heartbeat 500 ms bidirektional, Snapshot/Delta,
  Loopback-only-Enforcement, Re-Sync nach Reconnect, Version-Mismatch-Fehler
- 9 Integrationstests: echter TCP-Loopback, kein Mock
This commit is contained in:
HMS MediaEngine Agent
2026-09-11 00:50:03 +02:00
parent b0599d8b86
commit 9536e08748
11 changed files with 753 additions and 27 deletions
+14 -6
View File
@@ -1,17 +1,25 @@
# Architecture Decision Records
Vorlage: `_template.md`. Nummerierung fortlaufend. Abweichungen vom Bauplan nur mit ADR und Freigabe (PLAN.md §1).
Vorlage: `_template.md`. Nummerierung fortlaufend. Abweichungen vom Bauplan nur
mit ADR und Freigabe (PLAN.md §1).
## Angenommen
- ADR-0001: Python-Version-Pin 3.13
- ADR-0002: GStreamer-Pin 1.28.6 (Windows)
- ADR-0003: IPC lokales TCP + length-prefixed MessagePack v1
- ADR-0008: Build-first-Strategie verzögerte Hardware-Validierung
(Auftraggeber-Freigabe 2026-09-11)
## Offen (Phase 0 entscheidet, §32 / §7.1)
## Vorläufig angenommen (Bestätigung im Windows-Durchlauf, ADR-0008)
- ADR-0004: Nativer Renderkern Rust vs. C++, eigenständige Bridge vs. GStreamer-Plugin
- ADR-0005: Packaging Nuitka vs. PyInstaller (Onefolder)
- ADR-0006: Frontend React vs. Svelte
- ADR-0004: Nativer Renderkern Rust auf dem GStreamer-D3D11-Elementpfad
- ADR-0005: Packaging Nuitka Onefolder (Fallback PyInstaller)
## Offen
- ADR-0006: Frontend React vs. Svelte (Entscheidung zu Beginn Phase 5)
- ADR-0007: Typprüfung mypy vs. pyright
- weitere gemäß Bauplan §32 (Persistenz, Preview, Show-Codec, Ownership, Display-Abstraktion, Adaptive-Quality-Policy, Discovery, Clusterprotokoll, Paarung/TLS, Clock-Sync, UI-Design-Tokens)
- weitere gemäß Bauplan §32 (Persistenz, Preview, Show-Codec, Ownership,
Display-Abstraktion, Adaptive-Quality-Policy, Discovery, Clusterprotokoll,
Paarung/TLS, Clock-Sync, UI-Design-Tokens)