Trend-Radar + Pruefstand: Box beobachtet Modell-/Engine-Trends und testet Kandidaten selbst

- trend-radar-feed.sh (Cron Sa 05:15): Live-Puls ALLER Rollen mit Vorwochen-Vergleich,
  Engine-A/B gegen neuen llama.cpp-Build (Fruehwarnung vor So-Auto-Update), mechanische
  Watch-Liste (MMQ-Issue, ROCm-Releases, Community-Grid), HF-Kandidaten-Suche mit
  Zitat-Gate -> max. 1 Pruefstand-Kandidat/Woche
- pruefstand.sh + harness.py (Cron So 01:00, no-agent): volles Programm je Kandidat -
  6 Coding-Aufgaben mit echten Unit-Tests, 4 Agenten-Aufgaben (Tool-Loop + Endzustand),
  4 Recherche-Fragen mit Zitat-Ehrlichkeits-Gate, Deutsch-Richter, Vision-Testbild,
  Tempo kurz+lang; Baseline der Amtsinhaber als Vergleichsmassstab
- Leitplanken (User-Entscheid 17.07.): Download-Deckel 35 GB (drueber -> Karte),
  1 Kandidat/Woche, Cache mit Auto-Aufraeumen, RAM-/Platz-Wache, Bench-Port :5899,
  Radar/Pruefstand EMPFEHLEN nur - Rollen-Wechsel bleibt Commander-Klick
- E2E bewiesen (Mock-LLM): coding 6/6, recherche 4/4 inkl. Zitat-Gate, Agent-Roundtrip,
  Richter-Parsing; Suiten-Selbsttest mit Referenzloesungen 6/6

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-17 14:56:58 +02:00
parent 8579fe9934
commit b0dce954e9
34 changed files with 1786 additions and 1 deletions
@@ -0,0 +1,37 @@
#!/usr/bin/env python3
# Erzeugt das Prüfstand-Testbild deterministisch OHNE Zusatz-Pakete (reines
# zlib/struct-PNG): weißer Grund 256x256, rotes Rechteck links oben,
# blaues Rechteck rechts unten. Die Vision-Suite prüft genau diese Aussagen.
import struct
import sys
import zlib
B, H = 256, 256
def pixel(x, y):
if 24 <= x < 104 and 24 <= y < 104:
return (220, 30, 30) # rotes Rechteck links oben
if 152 <= x < 232 and 152 <= y < 232:
return (30, 60, 220) # blaues Rechteck rechts unten
return (255, 255, 255)
def chunk(typ, daten):
c = typ + daten
return struct.pack(">I", len(daten)) + c + struct.pack(">I", zlib.crc32(c))
roh = b""
for y in range(H):
roh += b"\x00" + b"".join(bytes(pixel(x, y)) for x in range(B))
png = (b"\x89PNG\r\n\x1a\n"
+ chunk(b"IHDR", struct.pack(">IIBBBBB", B, H, 8, 2, 0, 0, 0))
+ chunk(b"IDAT", zlib.compress(roh, 9))
+ chunk(b"IEND", b""))
ziel = sys.argv[1] if len(sys.argv) > 1 else "testbild.png"
with open(ziel, "wb") as f:
f.write(png)
print(f"Testbild geschrieben: {ziel}")