refactor: Single-GPU-Betrieb + System-Prompt-Rollen + /optimize-Bugfixes

Single-GPU-Umstellung:
- models.json auf ein Modell qwen3.5-single kollabiert; tote Provider
  (llama-cpp, llama-cpp-coder, llama-cpp-judge) entfernt
- Coder/Judge-Rolle via before_agent_start-Hook (Persona als System-Prompt)
  statt Modellwechsel; switchModel -> ensureSingleModel + selectRole
- Dual-GPU-Skripte entfernt (start-coder/judge/servers.sh); stop/status auf
  Single-Container reduziert

/optimize-Bugfixes:
- Crash behoben: ctx.ui.select positional aufrufen (verursachte
  "Cannot read properties of undefined (reading 'length')" bei SHIP/version)
- PASS WITH CONCERNS loest jetzt eine Coder-Fix-Runde aus; nur sauberes PASS
  gilt als bestanden (--approve-concerns bleibt Opt-out)
- Quick-Judge abgeschafft: immer voller Judge ab Runde 1
- Loop-Erkennung greift auch ohne Blocker-Abschnitt

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-15 02:28:42 +02:00
commit ca85c45a39
5 changed files with 129 additions and 273 deletions

View file

@ -16,28 +16,6 @@
]
},
"llama-cpp": {
"baseUrl": "http://127.0.0.1:8000/v1",
"api": "openai-completions",
"apiKey": "none",
"compat": {
"supportsDeveloperRole": false,
"supportsReasoningEffort": false,
"maxTokensField": "max_tokens",
"thinkingFormat": "qwen-chat-template"
},
"models": [
{
"id": "qwen35b-uncensored",
"name": "Qwen3.6 35B Uncensored (llama.cpp :8000)"
},
{
"id": "qwen35b-moe-tools",
"name": "Qwen3.6 35B MoE Tools (llama.cpp :8000)"
}
]
},
"llama-cpp-single": {
"baseUrl": "http://127.0.0.1:8001/v1",
"api": "openai-completions",
@ -50,78 +28,13 @@
},
"models": [
{
"id": "qwen3.5-coder",
"name": "Qwen3.6 27B Single-Server Coder (llama.cpp :8001)",
"id": "qwen3.5-single",
"name": "Qwen3.6 27B Single-Server (llama.cpp :8001)",
"reasoning": true,
"input": ["text"],
"contextWindow": 262144,
"maxTokens": 16384,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
},
{
"id": "qwen3.5-judge",
"name": "Qwen3.6 27B Single-Server Judge (llama.cpp :8001)",
"reasoning": true,
"input": ["text"],
"contextWindow": 262144,
"maxTokens": 16384,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
}
]
},
"llama-cpp-coder": {
"baseUrl": "http://127.0.0.1:8001/v1",
"api": "openai-completions",
"apiKey": "none",
"compat": {
"supportsDeveloperRole": false,
"supportsReasoningEffort": false,
"maxTokensField": "max_tokens",
"thinkingFormat": "qwen-chat-template"
},
"models": [
{
"id": "qwen3.5-coder",
"name": "Qwen3.6 27B Coder (llama.cpp :8001)",
"reasoning": true,
"input": ["text"],
"contextWindow": 262144,
"maxTokens": 16384,
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
}
}
]
},
"llama-cpp-judge": {
"baseUrl": "http://127.0.0.1:8002/v1",
"api": "openai-completions",
"apiKey": "none",
"compat": {
"supportsDeveloperRole": false,
"supportsReasoningEffort": false,
"maxTokensField": "max_tokens",
"thinkingFormat": "qwen-chat-template"
},
"models": [
{
"id": "qwen3.5-judge",
"name": "Qwen3.6 27B Judge (llama.cpp :8002)",
"reasoning": true,
"input": ["text"],
"contextWindow": 262144,
"maxTokens": 16384,
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
}
}
]
},