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>
This commit is contained in:
parent
42d8e921fa
commit
bba630cbbb
2 changed files with 19 additions and 6 deletions
|
|
@ -41,8 +41,11 @@ test("Loop-Erkennung greift auch ohne Blocker-Abschnitt (Fallback auf Gesamttext
|
|||
assert.match(extSource, /parseBlockers\(judgeText\)\s*\|\|\s*judgeText/);
|
||||
});
|
||||
|
||||
test("currentRole wird nach jedem optimize-Lauf auf 'coder' zurückgesetzt", () => {
|
||||
assert.match(extSource, /currentRole\s*=\s*"coder"/);
|
||||
test("currentRole wird nach jedem Kommando auf 'idle' zurückgesetzt (kein Persona-Leak in freien Chat)", () => {
|
||||
// Initialwert und alle Reset-Stellen müssen "idle" sein, nicht "coder".
|
||||
assert.match(extSource, /currentRole:\s*"coder"\s*\|\s*"judge"\s*\|\s*"idle"/);
|
||||
assert.match(extSource, /=\s*"idle"/);
|
||||
assert.doesNotMatch(extSource, /currentRole\s*=\s*"coder"/);
|
||||
});
|
||||
|
||||
test("LICENCE.md: deterministisch in der Doku-Phase, nur wenn nicht vorhanden, proprietär", () => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue