Commit graph pi_coder_2/tests/extension-guards.test.mjs
Author SHA1 Message Date
2acfc85482 fix: Loop-Erkennung meldet bei „Blocker: Keine“ keinen falschen Schleifenabbruch
Zwei Judge-Runden mit „Blocker: Keine“ und verschiedenen Major-Punkten galten
als „gleicher Blocker zweimal“. loopKey() vergleicht jetzt die Blocker, bei
leerem Blocker-Abschnitt die Major-Punkte, sonst den ganzen Judge-Text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 02:42:30 +02:00
a608f1dda8 feat: Modell der Coder/Judge-Schleife per PI_CODER_MODEL wählbar
PI_CODER_MODEL=<provider>/<id> setzt das Modell für beide Rollen; ohne
Variable bleibt es bei llama-cpp-single/coding_model. Die Bereitschafts-
prüfung nutzt baseUrl des Modells statt fest Port 8001. Neuer Provider
strata (lokaler Strata-Server, 127.0.0.1:9090) in models.json.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 02:24:01 +02:00
bba630cbbb fix: before_agent_start-Hook nur bei aktivem Coding-Workflow Persona injizieren
currentRole erhält dritten Zustand "idle" (Initialwert + Reset nach jedem Kommando).
Der Hook injiziert nur noch eine Persona wenn currentRole "coder" oder "judge" ist —
im freien Chat bleibt der System-Prompt unverändert, sodass andere Extensions
(z. B. research-web.ts) nicht durch die Coding-Persona gestört werden.

Alle Kommando-Handler (/coder, /judge, /fix, /shipit, /optimize, /patch,
/quick_check, /plan, /continue) und runUpdateDoku setzen currentRole am
Ende auf "idle" zurück.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 06:27:14 +02:00
485ab30265 docs: LICENCE.md-Feature, .gitignore, Single-GPU-Doku
- pi-coder-judge-extension.ts: licenceMd() + writeLicenceMd() — erzeugt
  proprietäre LICENCE.md in der Doku-Phase (nur wenn noch nicht vorhanden)
- tests: Guards und pure-logic-Tests für LICENCE.md ergänzt (38 Tests, alle grün)
- .gitignore: Node, TypeScript-Artefakte, Backups, Editor-Dateien, OS-Metadaten
- README.md + BEDIENUNGSANLEITUNG.md: vollständig auf Single-GPU-Architektur
  aktualisiert (ein Server, System-Prompt-Rollen, kein Quick-Judge,
  PASS WITH CONCERNS-Verhalten, LICENCE.md in /update_doku, start-single.sh)
- SINGLE_SERVER_PLAN.md: entfernt (umgesetzt, kein Mehrwert mehr)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 05:03:50 +02:00
ba733fe684 test: Test-Suite für Single-Server-Konfig, Loop-Logik und Skripte
Node-eigener Test-Runner (keine Dependencies). 35 Tests:
- pure-logic: parseVerdict/parseBlockers/normalizeForComparison (real aus
  der Extension extrahiert), inkl. PASS-WITH-CONCERNS-Abgrenzung
- config: models.json/settings.json-Invarianten (kein Port 8002, nur
  llama-cpp-single/qwen3.5-single), Querkonsistenz
- extension-guards: Regression-Schutz fuer jeden Fix (select positional,
  kein switchModel, before_agent_start-Hook, passed-Logik, Loop-Fallback)
- scripts: bash -n + Single-Server-Invarianten

Start: ./run-tests.sh

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 02:58:21 +02:00