Commit graph

2 commits

Author SHA1 Message Date
Michael
625a2b72c7 fix: smoke_test - Pre-Compile-Gate, Connect-Timeout, JSON-Inhalts-Check
Drei Maskierungs-Bugs: kaputtes serve.py liess curl auf localhost
auf einen unbenutzten Port unter WSL2 ~2 min pro Iteration haengen
(Polling-Loop bis 40 min); status-only-Tests sahen ein zerschossenes
templates.json nicht.

- python3 -m py_compile vor Server-Start: Syntax-Fehler scheitern in
  <100ms mit klarer Meldung statt nach 22s Timeout-Polling.
- 127.0.0.1 + --connect-timeout 1 ersetzt localhost-Polling: umgeht
  Resolver/IPv6-Falle, kappt jeden Versuch nach 1s.
- Endpoint-curls bekommen --max-time 5: ein einzelner haengender
  Endpunkt killt nicht mehr die Suite.
- Inhalts-Gate prueft nach den 8 HTTP-Checks, dass /templates.json
  parsable JSON ist - Pseudo-Fix-Schutz (kaputtes Manifest = HTTP 200
  + JSON.parse stirbt im Frontend).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 01:57:40 +02:00
Michael
3f35cff338 feat: scripts/smoke_test.sh + AGENTS.md R4 verankert
Ein Aufruf startet den Server temporaer auf eigenem Port, prueft alle
bekannten Endpunkte und raeumt sich selbst auf. Agenten muessen nichts
ueber Hintergrund-Jobs, nohup oder Port-Cleanup wissen.

- scripts/smoke_test.sh: trap-basierter Cleanup, setsid-unabhaengig
  via prozessgruppen-fremdem pkill-Fallback, eindeutiger Marker-Name
  in sys.argv[0], 20x100ms Wartezeit aufs Port-Binding.
- AGENTS.md R4: verweist statt auf manuelle curl-Aufrufe auf
  ./scripts/smoke_test.sh; TL;DR und Einstiegs-Block aktualisiert.

Verifiziert: exit 0, Port nach Durchlauf frei (kein Leak).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 16:46:13 +02:00