Technische Abnahme nach 10.3 am 01.11.2026 in Testing gefahren und bestanden:
n_ctx_slot=131072, kein OOM (14,4/14,8 GiB von je 16 GiB), Prefill-Leiter
7,6k/29k/59,5k/121,9k Tokens mit 624/591/503/396 t/s, langer Request mit
finish=stop, sauberer Kontext-Negativtest (138k Tokens -> HTTP 400) und
62 Minuten gemischte Stabilitätslast ohne Neustart (NRestarts=0).
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Technische Abnahme nach 10.1/10.2 am 31.10.2026 in Testing gefahren und
bestanden: SHA-256 und System-Fingerprint des gepinnten Builds, kein
PublishPort, Unit stabil, n_ctx_slot=65536, GPU-Offload über beide Karten
(12,7/13,1 GiB von je 16 GiB, kein CPU-Offload), Health 200 OK, korrekter
Alias, Thinking-Request mit getrenntem Reasoning und finaler Antwort,
syntaktisch gültiger Tool-Call (get_weather/Berlin). Offen: 128k-Abnahme
(10.3), Wiederanlauf-/Profilwechseltests (10.4), Unsloth-Wiederholung.
Hinweis dokumentiert: load_tensors-Verteilzeilen bei Verbose 3 nicht
gedruckt.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
conmon schreibt mit dem Journald-Treiber ins System-Journal (Syslog-Identifier
= Container-Name, _COMM=conmon); lesbar als root, podman logs bleibt für das
Workload-Konto leer (Journal-Dateirechte, bewusst keine systemd-journal-
Gruppe). Lesewege in GNAI-010 Abschnitt 8.1; 64k-Bring-up-Startlogs sind
protokollfähig (n_slots=1, n_ctx_slot=65536, Listening, MTP-Tensoren nicht
geladen). Zusätzlich dokumentiert: LLAMA_ARG_HOST-Default des Images und die
bewusst akzeptierte API-Key-Lücke des internen Testing-Netzes.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Erster produktiver Start des llama.cpp-Testing-Stacks auf ghostnet-ki
(31.10.2026). Fix-Liste aus den Live-Läufen:
- Quadlet-Exec ohne Binärnamen (AMD-Image hat ENTRYPOINT /app/llama-server;
GNAI-010 v0.6 dokumentiert den Befund)
- Deterministischer daemon-reload vor Unit-Zugriff (Handler allein griff nicht,
wenn ein vorheriger Lauf die Quadlets gerendert hatte)
- Netz-Abhängigkeit Wants/After im Container-Quadlet (Netzwerk-Unit wurde
nie mitgestartet -> network not found)
- Stopp-Bedingung für Profilwechsel korrigiert (nur aktive Units stoppen)
- Health-Tool-Kette curl/wget/bash-/dev/tcp mit Pfad-Normalisierung; curl -f
als Gesundheitssignal (Statuszeile stand nie im stdout)
- chdir für alle runuser-Aufrufe der Health-Checks
Nachweise: Health 200 OK, /v1/models Alias korrekt, Idempotenz changed=0,
VRAM 12,6/13,0 GiB von je 16 GiB auf beiden Karten (Layer-Split 1:1),
echte Chat-Completion mit System-Fingerprint des gepinnten Builds,
Reasoning getrennt von der Antwort.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Betreiberentscheidung 31.10.2026 (GNAI-002 Abschnitt 6): Der KI-Host wird
kohärent IPv4-only betrieben. host_baseline verwaltet
/etc/sysctl.d/99-ghostnet-disable-ipv6.conf (all+default), wendet es bei
Änderung an und verifiziert den Laufzeitwert. Anlass: hängender get_url-
Download durch AAAA-Antworten ohne nutzbare IPv6-Route (Messungen im
Dokument; Pi-hole filtert AAAA nicht, der Host nutzt Pi-hole nicht).
model_store nach Live-Befunden: Swift-Repin auf Repository-Revision
98a6100 (alte Revision entfernt, Datei laut Herausgeber-SHA256SUMS
unverändert; GNAI-010 v0.5) und Download über wget -4 mit expliziter
SHA-256-Verifikation vor dem atomaren Move.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Betreiberentscheidungen 31.10.2026: Umgebungen Production, Testing und
Experimental mit exklusivem GPU-Scheduling; Umschaltoperation
ai_environment_switch für kurze Downtimes mit kommunizierten Zeitfenstern;
Wartungsseite oder transparenter Endpunktwechsel für nutzerseitige Dienste;
model_store als Kernrolle für gepinnte Weights in /var/lib/ghostnet-ai/shared;
verallgemeinerte inference_engine-Rolle; Gitea-Actions-Kette mit Runner-Scope
Experimental/Testing und Production ausschließlich über Promotion-Tag;
Strata als erster Experimental-Kandidat (Abschnitt 7.6) mit gfx1030-Vorbehalten.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Grundkonfiguration des Servers liegt nun unter llm-server/host/ansible/
(vorher llm-server/ansible/), der LLM-Stack-Platzhalter unter llm-server/llm/
und der Encoding-Workload unter llm-server/encoding/. Dokumentation und
Pfadverweise (ansible.cfg roles_path, .venv-Tiefe, Markdown-Links) angepasst;
Linkvalidator meldet broken_local_links=0.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>