Commit graph

10 commits

Author SHA1 Message Date
Michael
070ebc3edd fix: validate.py epilog --type-json, index.html wasViewModalOpen überschreibt nicht
- validate.py: --json durch --type-json im epilog aktualisiert
- index.html: closeModal() setzt wasViewModalOpen nur wenn noch nicht gesetzt
2026-05-03 14:12:36 +02:00
Michael
d808013395 fix: 5 letzte 'niedrig'-Priorität Probleme aus Review behoben
- serve.py: explizite if/else Content-Type (GET), PUT antwortet mit passendem CT
- index.html: Original-Indent speichern/wiederverwenden, View-Modal-Status nach Edit
- smoke_test.sh: $$ statt $PORT für Log-PID, pkill mit TERM+Retry+SIGKILL
- agent_verify.sh: try/except FileNotFoundError für node-Check
- validate.py: re.fullmatch statt re.match für Pattern-Validierung
2026-05-03 14:10:03 +02:00
Michael
f3a91e940e fix: 7 verbleibende Probleme aus Batch-1-Review behoben
- serve.py: TOCTOU in do_GET (urlparse), MAX_BODY vor content_length check
- index.html: Hover-CSS dark-theme, empty-state categories entfernt, extractInputValue JSON.parse safe
- validate.py: enum values-Leercheck, Exit-Code 2 für Validierungsfehler, ALLOWED_DIRS korrigiert
- smoke_test.sh: stderr durchreichen (2>&1), dynamische Endpunkt-Zahl
- README.md: --type-json, Schema-Sektionen bereinigt
2026-05-03 14:05:55 +02:00
Michael
c294336058 fix: 26 kritische + 29 wichtige Sicherheits- und Robustheitsprobleme behoben
- serve.py: URL-Encoding fix, Body-Limit (10MB), Port-Reuse, TOCTOU-Race, Logging
- index.html: XSS in renderTemplates geheilt, Escape-Key für Edit-Modal, Accessibility
- templates.json: Pfade ohne ../, leere Descriptions ergänzt
- validate.py: categories/ entfernt, CLI-Flags umbenannt, zu mutually_exclusive_group
- smoke_test.sh: set -euo pipefail, Port-Validation, Timeout 5s, code-Fallback
- cleanup_server.sh: lsof statt pgrep, Graceful-Term + SIGKILL-Fallback
- agent_verify.sh: set -euo pipefail, ROOT-Pfade, dynamischer Port, grep-Crash fix
- AGENTS.md: history/ entfernt, Pfad-Schema präzisiert
- README.md: categories/ entfernt, Web-Ansicht + API-Endpunkte hinzugefügt
2026-05-03 14:00:55 +02:00
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
1f59b384be feat: scripts/agent_verify.sh fuer dual_agent-Pipeline
Drei Verifikations-Schichten fuer den Planner-Executor-Workflow aus
~/idea/dual_agent:

1. Statisch: node --check auf allen <script>-Bloecken in index.html.
2. Dynamisch: smoke_test.sh auf Port 8088.
3. Semantisch: Funktions-Doppeldeklarationen + Platzhalter-Leichen
   in der Datei und in der letzten Commit-Message.

Die semantischen Checks adressieren konkret die No-Op-Muster, die
frueher als Pseudo-Fixes durchgerutscht sind.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 17:47:48 +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
Michael
870d6a2b1d fix: /templates.json-Bug, AGENTS.md neu strukturiert, fehlende Stubs angelegt
- serve.py: /templates.json mappt nun auf web/templates.json (GET + PUT).
  Zuvor lieferte der Endpoint 404, weil der Handler nach ROOT/templates.json
  suchte, die Datei aber in web/ liegt.
- AGENTS.md als Verhaltensregeln fuer Agenten umgebaut (statt defensive
  Selbstbehauptung in Projektdoku). Erfundene/nicht existente Artefakte
  aus der Doku entfernt, Commit-Tabelle aktualisiert, Tippfehler und
  nicht gerenderter date-Ausdruck korrigiert.
- docs/{GETTING_STARTED,ARCHITECTURE,API_REFERENCE,DEPLOYMENT,DEBUGGING,
  SECURITY}.md als Stubs angelegt (waren in docs/INDEX.md verlinkt, aber
  inexistent).
- history/CHANGELOG.md als Stub angelegt.
- scripts/cleanup_server.sh angelegt (war in AGENTS.md als 'integriert'
  beschrieben, fehlte aber).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 13:01:07 +02:00
Michael
b17858444d feat: Minimale Webansicht für Templates hinzugefügt
- web/index.html: GitLab-ähnliches Dark-Theme UI
- web/templates.json: Dynamische Template-Metadaten
- web/serve.py: Python Dev-Server (Port 8080)
- Templates werden automatisch gescannt und angezeigt
- Features: Suche, Filter, Kopieren von Pfaden
- Styling angelehnt an server_tool frontend

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-24 09:31:50 +02:00
Michael
8198164d09 feat: Initiales Projekt-Setup für Prompt-Templates
- Verzeichnisstruktur: templates/{system,user,custom}, categories, scripts
- Beispiel-Templates: Code Reviewer, Summarizer (JSON), Email Draft, Brainstorming (MD)
- Validierungsskript: validate.py für JSON/MD Templates
- Dokumentation: README.md mit Workflow und Beispielen

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-24 09:16:29 +02:00