58 Commits
Author SHA1 Message Date
Robert RappandClaude Opus 5.5 4a1bda3409 Merge main in plan/aufbau-2026-10-12: KNOW-Analyse, Ontologie, cpu_roles
ci / test (push) Failing after 22s
main (bis 13.10.) enthielt eine parallele Fassung von Task 0.4 (c81e372) sowie
KNOW-Befunde und die Ontologie. Konflikte zugunsten des Plan-Branches gelöst
(ausgerollter Stand); übernommen aus main: Ontologie (core/src/knaster/ontology,
ontology/, Tests, Router-Image), KNOW-Doku, cpu_roles im Placement samt
Kennzeichnung von pve61 und gode-pc-05/06 im Inventar und Test.
infra-stack kopiert jetzt auch ontology/ nach infra (Router-Build braucht es).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 19:23:22 +02:00
Robert RappandClaude Opus 5.5 c4ae5b2494 docs: Notfall-Übergabe der Verwaltung (für die Geschäftsführung)
ci / test (push) Failing after 23s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 19:14:55 +02:00
Robert RappandClaude Opus 5.5 50acfa6a95 Verwaltung durch Personen (Weg 1), AGENTS.md, project-map.md, known-issues.md
ci / test (push) Failing after 24s
Admin-Schlüssel je Person auf ops (Bastion) aus sites/knaster/proxmox.yaml
(access.ops_ssh_keys/_revoked), Playbook admins.yml, Test, Übergabe in
BETRIEB §15. Einstieg für Agenten und neue Admins: AGENTS.md, Projektkarte,
bekannte Probleme. Weg 2 (Verwaltung über NEX) als Entwurf in Phase 9.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 18:54:02 +02:00
Robert RappandClaude Opus 5.5 039f57a435 Plan 6.6: Namespace nex mit Pod Security, Sprachdienste nach nex-speech
ci / test (push) Failing after 25s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 18:00:57 +02:00
Robert RappandClaude Opus 5.5 f9036934c3 docs: llama.cpp in k3s (Task 6.1), Device Plugin nur M4000, VRAM-Befund
ci / test (push) Failing after 22s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 17:49:12 +02:00
Robert RappandClaude Opus 5.5 24f4066aaf Plan 0.2: offene Reservierungen am 19.10. erneut angefragt
ci / test (push) Failing after 22s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 17:20:39 +02:00
Robert RappandClaude Opus 5.5 d875a9620e Plan 0.2: Laptop im Dock mit .181 bestätigt
ci / test (push) Failing after 22s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 17:12:58 +02:00
Robert RappandClaude Opus 5.5 a6d598be76 Plan 6.5: Prüfung Pod-Monitoring und Alert-Test eingetragen
ci / test (push) Failing after 21s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 17:10:57 +02:00
Robert RappandClaude Opus 5.5 4ac251715e k3s: Pod-Monitoring in Grafana (Task 6.5)
ci / test (push) Failing after 23s
kube-state-metrics (NodePort 30808) und ServiceAccount prometheus-infra (nur
nodes/metrics) im Cluster; Prometheus auf infra liest kubelet/cAdvisor per TLS
gegen die k3s-CA. Ziele per file_sd aus kubectl get nodes, cAdvisor auf die
nötigen Reihen begrenzt. Dashboard "k3s – Pods" (Vorgabe nex), Alerts K3s*
nur mit notify. Playbook monitoring-k3s.yml.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:31:03 +02:00
Robert RappandClaude Fable 5.1 abf4a75063 Plan Phase 6.0: Agenten im Cluster (nex-admin mit k3s-Laufzeit)
ci / test (push) Failing after 24s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-19 15:09:55 +02:00
Robert RappandClaude Fable 5.1 287a4a2c73 Brücke nex-know: Host-Port 14200 auf appsrv08
ci / test (push) Failing after 22s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-19 14:46:04 +02:00
Robert RappandClaude Fable 5.1 31f6435c2f Namespace nex: Brücke zu appsrv08, Zugang für nex-admin, Pull-Secret
ci / test (push) Failing after 22s
Vorbereitung für Agenten im Cluster (nex-Spec 2026-10-19, D259/D263/D265):
Services ohne Selector auf die Host-Ports von appsrv08, ServiceAccount mit
Role nur für den Namespace nex, Pull-Secret aus einer Datei auf ops.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-19 13:45:18 +02:00
Robert RappandClaude Fable 5.1 02adb2f4b2 docs: Portainer CE im Cluster, Übernahme der Datenbank, offene Admin-Schritte
ci / test (push) Failing after 25s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-15 18:48:49 +02:00
Robert RappandClaude Fable 5.1 26e1079f3d docs: Zuteilung der GPU-VMs (8 vCPU / 20 GB), ARC 2 GB, Vorgehen bei Änderung
ci / test (push) Successful in 29s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-15 17:30:25 +02:00
Robert RappandClaude Fable 5.1 4cd3fb87ed docs: RustDesk in k3s (BETRIEB §14, README, Plan), SearXNG-Cutover Weg 2
ci / test (push) Successful in 28s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-15 14:47:58 +02:00
Robert RappandClaude Fable 5.1 eafebaab94 docs: SearXNG-Umzug in BETRIEB §14 und Plan
ci / test (push) Successful in 27s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-15 12:37:15 +02:00
Robert RappandClaude Fable 5.1 9c4e3f1a2f docs: k3s/Portainer (D6) in BETRIEB §14 und Plan; nex-speech.yml abgesichert; k3s-VM DHCP-Client-ID=MAC
ci / test (push) Successful in 28s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-15 12:03:56 +02:00
Robert RappandClaude Fable 5.1 6cccc01d14 docs: ops und infra mit festen Adressen, DHCP-Reservierungsliste und VLAN-Ausblick im Plan
ci / test (push) Successful in 29s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-14 19:11:52 +02:00
Robert RappandClaude Fable 5.1 414d020e9d docs: zweite Laptop-Adresse (.181, Dock) in Firewall- und Anmeldedoku
ci / test (push) Successful in 32s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-14 19:01:40 +02:00
Robert RappandClaude Fable 5.1 d278cb38bb docs: Anmeldung und Vertretung (ANMELDUNG.md), Password Depot als Quelle für TOTP, Bitwarden-Hinweis
ci / test (push) Successful in 30s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-13 18:06:55 +02:00
Robert RappandClaude Fable 5.1 97bbb58433 docs: Betriebshandbuch §8–§13 (Zugang, Benachrichtigungen, Firewall, Zertifikat, Netzwerk, Testvorgehen), healthcheck.sh, Plan Phase 4 erledigt
ci / test (push) Successful in 27s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-13 17:12:51 +02:00
rorappandClaude Opus 5.5 9442cc49d1 ontology: Ontologie als Quelle im Repo, Abgleich mit n8n/KNOW in der Service-Routine
ci / test (push) Successful in 27s
- ontology/know.yaml: 49 Klassen, 66 Beziehungen, 12 Vokabulare (72 Konzepte);
  erzeugt: know.ttl (OWL + SKOS), Ansicht aus viewer.html.tmpl
- knaster.ontology: Modell + Prüfung, Export, Momentaufnahme der n8n-Workflows
  (nur GET; KNOW-Spezifikation aus dem Workflow-Code, Aufrufe inkl. Laufzeit-
  Operationen, direktes SQL), Abgleich, Übernahme von Entscheidungen
- Service-Routine Schritt 8: Verstöße als Befunde, Ontologie-Änderungen als
  Vorschläge ontology_change (immer Freigabe); „ordne P-x <konzept> zu“;
  Entscheidungen in ontology_decisions, `knaster ontology apply` schreibt sie
  in die YAML (Version +1)
- CLI: knaster ontology validate|export|snapshot|check|apply; knaster validate
  prüft Modell und Aktualität der Turtle-Datei
- Gegen echten n8n-Export geprüft: neue Befunde B31–B33 (verified/confirmed,
  KAN ruft unbekannte Operation, MPA ordnet Projektereignisse nie ein)
- SPEC-ontology, BETRIEB §6, Router-Image enthält die Ontologie

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 02:54:49 +02:00
rorappandClaude Opus 5.5 525b29aa6d docs: Vollanalyse der KNOW-Datenhaltung, Befunde B11–B30
ci / test (push) Successful in 28s
Vier Ebenen (Schema, SQL der 80 Operationen, Payloads der Aufrufer,
Ablagen außerhalb von KNOW), jeder Befund am Code nachgeprüft:
keine Fremdschlüssel, zwei Kontakt-Schlüsselschemata, zwei Projekt-Kennungen,
zu enge/fehlende Eindeutigkeit, Upserts frieren Fachdaten ein, veraltende
abgeleitete Werte, nie geschriebene Felder, Kategorie-Vokabulare (Safety-Floor
über CAT unerreichbar), uneinheitliche Normalisierung, Schema-Drift,
gemeinsamer DB-Zugang, staticData, unverschlüsselte Browser-Sessions,
LLM-Aufrufe am PSE-LiteLLM vorbei. Schema-Referenz und Ontologie um
fehlende Spalten ergänzt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 02:34:42 +02:00
rorappandClaude Opus 5.5 d9d8d4e38b docs: KNOW-Befund B10 (Absender-Report liest eingefrorene Statistik aus contacts)
ci / test (push) Successful in 25s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 02:21:07 +02:00
rorappandClaude Opus 5.5 d0f1d31918 docs: KNOW-Befunde B1–B9 festgehalten, Ontologie als OWL/Turtle
ci / test (push) Successful in 26s
- KNOW-befunde.md: Aufrufe unbekannter Operationen (CANCEL, KAN-Learn, IN-Sync),
  direktes SQL in CAT, 12 Tabellen ohne aktiven Schreibweg mit Ursache (keine
  Operation / kein Aufrufer / Seed), DDL im KAF-Bestätigungspfad, Lösch-Operation
  über KGW, fehlende Löschfristen; jeweils Beleg, Folge, Vorschlag
- know-ontology.ttl: 49 Klassen, 66 Beziehungen, 39 Individuen (rdflib-geprüft)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 02:15:48 +02:00
rorappandClaude Opus 5.5 fdaa5a5694 docs: Referenz der n8n-Wissensdatenbank KNOW/KGW (Tabellen, Zugriffe, Auffälligkeiten)
ci / test (push) Successful in 25s
Aus den Workflow-Definitionen abgeleitet (n8n-API, nur lesend, keine DB-Inhalte):
33 Tabellen im Schema knowledge, welche Workflows über welche Operation schreiben
und lesen, KGW-Freigaben, Aufrufe unbekannter Operationen (CANCEL, KAN-Learn,
IN-Sync) und Bezug zu Task 6.4 (find_active_llm_workers über KGW).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 02:05:10 +02:00
rorappandClaude Opus 5.5 c81e372c49 sites: Inventar und Zielbild an echte Knoten (pve44–pve61) angepasst; ADR-0001/0002/0006 ergänzt
ci / test (push) Successful in 25s
Aufbauplan Task 0.4:
- inventory.yaml: pve44/46/48/52/61 und GODE-PC-05/06 (Ada, Windows, cpu_roles: false)
- proxmox.yaml: eine GPU-VM pro Knoten mit allen Karten (D2), local-lvm/tank (D1 B),
  192.168.100.0/24 ohne VLAN, Gast-IPs .220–.239 (ANNAHME bis Task 0.2)
- registry.yaml/prometheus.yml: ops-Labels auf gpu-pve44/46/48, Ada ohne pve_node/vmid
- tofu: dynamische hostpci, Speicher je Gast; Ansible: pve_gpu_hosts/pve_kiosk,
  Replikation auf mehrere Ziele
- Placement: cpu_roles=false schließt Arbeitsplätze/Kiosk von CPU-Rollen aus
- PLAN §1.3/§1.4/§9 und ADR-Nachträge (D1 entschieden, D2/D3 Bestätigung offen)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 01:39:49 +02:00
Robert RappandClaude Opus 5.5 d8797a9433 benchmark: Compose-Kartenwahl und Rerank-Bedingung in ADR-0006 ergänzt
ci / test (push) Successful in 26s
- count: 1 in gpu-llamacpp greift die M4000 (geprüft), für die P2000 device_ids setzen
- Empfehlung pve44/46/48 unter der Bedingung, dass Embedding + Rerank gemeinsam auf die P2000 passen
- 8B-VRAM: 7,73 GiB gemessen, im Katalog auf 7,8 aufgerundet

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:21:11 +02:00
Robert RappandClaude Opus 5.5 cdf0bb63e3 benchmark: Task 3.3 auf gpu-pve48 gemessen (llama.cpp, whisper.cpp, Piper), ohne Strommessung
ci / test (push) Successful in 28s
- Katalog: vram_gb für Qwen3-Embedding, Qwen3-4B und Qwen3-8B gemessen, Messwerte als note
- ADR-0006: Nachtrag „Benchmark“ mit Tabellen und Empfehlung zur M4000
  (ja für STT auf pve52, auf pve44/46/48 vorerst nein)
- Plan: Task 3.3 abgehakt, Strommessung, Dialektsätze und D131/D133 offen

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:19:28 +02:00
Robert RappandClaude Opus 5.5 cd7f9308f1 docs: Rückmeldung 6.2 – VRAM-Angabe präzisiert, Energiesparen ergänzt
ci / test (push) Successful in 29s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:07:11 +02:00
Robert RappandClaude Opus 5.5 b9eb55bf44 docs: Rückmeldung Sprachdienste NEX (Task 6.2) mit Messwerten, Betrieb und Plan-Fortschritt
ci / test (push) Successful in 27s
Erkennung 10 s → 2,94 s, 60 s → 8,63 s (M4000, Median), TTS-TTFB < 1 s,
Autostart getestet, Stufe 2 geprüft (torch 2.9.1+cu126 letzte Version mit sm_50).
Offen: feste IP (D5), Abnahme von appsrv08, Slot stt-de.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:05:18 +02:00
Robert RappandClaude Opus 5.5 365549b1f4 plan: Task 5.2 – Infra-Stack mit Monitoring erledigt, n8n-Anbindung offen
ci / test (push) Successful in 25s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 20:57:47 +02:00
Robert RappandClaude Opus 5.5 456fce2386 infra-stack: Schutz gegen veralteten ZFS-Seiten-Cache nach HA-Umzug, Betriebsabschnitt 7
ci / test (push) Successful in 28s
Bei der HA-Probe startete dockerd auf pve48 nicht (bbolt „invalid freelist page“): Nach zfs receive
liefert der Zielknoten für früher gemappte Dateien alten Inhalt aus dem Seiten-Cache. Ein oneshot-Dienst
im LXC verwirft vor containerd/docker den Cache aller Dateien (posix_fadvise DONTNEED).
BETRIEB.md Abschnitt 7: URLs, Geheimnisse (ohne Werte), file_sd auffrischen, Wiederherstellung.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 20:49:49 +02:00
Robert RappandClaude Opus 5.5 fd48fd1c7f plan: Phase 4 – 4.5 und 4.7 erledigt, 4.1 teilweise
ci / test (push) Successful in 29s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 20:07:31 +02:00
Robert RappandClaude Opus 5.5 4bdfd205fa betrieb: rollierende Update- und Neustart-Routine für den Cluster (Task 4.7)
ci / test (push) Successful in 29s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 20:07:18 +02:00
Robert RappandClaude Opus 5.5 bbe9236792 plan: GPU-VMs (3.2), HA/Replikation (2.2) und infra-LXC erledigt und getestet
ci / test (push) Successful in 29s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 20:04:19 +02:00
Robert RappandClaude Opus 5.5 47816bda68 plan: Task 3.1 erledigt, 3.2 vorbereitet; Sprach-Auftrag NEX als 6.2, HDD-Befund in 5.1
ci / test (push) Successful in 28s
ops-LXC, vfio auf allen GPU-Knoten (Bildschirm danach schwarz), Templates
9044/9046/9048/9052, API-Benutzer tofu@pve. Auftrag Sprachmodelle mit
Abgleich gegen den echten Cluster unter docs/auftraege/. Die 4-TB-HDD ist
die Toshiba BACKUP und scheidet für den Cluster aus.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 19:10:36 +02:00
Robert RappandClaude Opus 5.5 e88e0ea46b sites: Inventar und Registry an echte Knoten (pve44–pve61) angepasst; ADR-0001/0002/0006 und PLAN §1.3/1.4/9 ergänzt
Inventar mit pve44–pve61 und den Ada-Rechnern gode-pc-05/06 (M4000 weiter
disabled). Registry-ops auf gpu-pve44/gpu-pve48/infra laut Placement, bei
den Ada-Slots entfallen pve_node und vmid (Worker-Registry v2, Task 6.4).
Tests: neuer test_site_knaster_matches_real_nodes, Konsistenztest auf
gpus-Liste umgestellt. ADR-Nachträge zu D1 (Variante B), D2 (eine GPU-VM
pro Knoten) und D3 (Ada bleibt Windows, vorgeschlagen).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 19:04:55 +02:00
Robert RappandClaude Opus 5.5 dfb2630517 plan: Ausgangslage und Plattenregel an den Stand nach dem Löschen angepasst
ci / test (push) Successful in 27s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:39:01 +02:00
Robert RappandClaude Opus 5.5 4cfa31bc3e plan: Windows-Platten gelöscht, ZFS-Pool tank auf pve44/pve48/pve52 (Task 1.2)
ci / test (push) Successful in 27s
Freigabe vom 12.10. umgesetzt: zweite SSD per Seriennummer gelöscht,
tank angelegt und im Cluster eingetragen, ARC 4 GiB, Neustart-Probe
auf pve48 (Legacy) und pve44 (UEFI) bestanden. Nebenbefund: pve44 ohne
/boot/efi in fstab.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 18:37:40 +02:00
Robert RappandClaude Opus 5.5 983b39f238 docs(plan): Erst-Update auf PVE 9.2.21 / Kernel 7.0.14 und Cluster knaster mit 5 Knoten erledigt
ci / test (push) Successful in 29s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:45:09 +02:00
Robert RappandClaude Opus 5.5 640e79dbe8 feat(platform): bootstrap-node.sh für Proxmox-Knoten (Schlüssel, Paketquellen, full-upgrade)
Idempotent, läuft vom Admin-Laptop in Git-Bash. Hostschlüssel wird nur mit
--reinstall verworfen, das Update läuft per systemd-run abgekoppelt von der
SSH-Sitzung. .gitattributes hält Shell-Skripte auf LF.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:35:07 +02:00
Robert RappandClaude Opus 5.5 bc0f3d8f91 docs(plan): D2 entschieden, D5 zurückgestellt (Gäste vorerst DHCP)
ci / test (push) Successful in 27s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:25:03 +02:00
Robert RappandClaude Opus 5.5 6876e63983 docs(plan): Abhängigkeitsübersicht (D1 blockiert wenig), tank nach dem Cluster, ops auf pve46
ci / test (push) Successful in 27s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:18:49 +02:00
Robert RappandClaude Opus 5.5 c6b0b4e380 docs(plan): Ada-Worker bestätigt: je RTX 4000 Ada 20 GB und 64 GB RAM
ci / test (push) Successful in 27s
ci / test (pull_request) Successful in 28s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:08:14 +02:00
Robert RappandClaude Opus 5.5 cbc41e9e67 docs(plan): Ada-Worker je eine RTX 4000 Ada (20 GB) laut mygodel/scripts
ci / test (push) Successful in 27s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:05:02 +02:00
Robert RappandClaude Opus 5.5 e9c0c2c933 docs(plan): pve52 nur mit M4000, 3× P2000 im Einsatz
ci / test (push) Successful in 27s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:03:03 +02:00
Robert RappandClaude Opus 5.5 d46037272a docs(plan): D1 als Variante B entschieden, Löschfreigabe nach Prüfung der Windows-Platten
ci / test (push) Successful in 27s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 14:38:26 +02:00
Robert RappandClaude Opus 5.5 3fdc581561 docs(plan): pve48 inventarisiert (vierter GPU-Knoten, drei Platten), Platzierung und D1 angepasst
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 14:32:27 +02:00
Robert RappandClaude Opus 5.5 c3020eafa8 docs(plan): Platten-Bestandsaufnahme vom 12.10. eintragen, Platzangaben in D1 und Task 3.2 korrigieren
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 14:12:37 +02:00