feat: Urteilsregeln für den Judge (PASS gegen TASK/SPEC, Abschnitt Hinweise)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
65555b25f1
commit
75ad2be498
1 changed files with 67 additions and 27 deletions
|
|
@ -51,6 +51,28 @@ function coderKickoff(task: string): string {
|
|||
].join("\n");
|
||||
}
|
||||
|
||||
// Urteilsregeln und Ausgabeformat beider Judge-Prompts. Ohne feste Regeln fand der Judge (Strata, 15.10.) in jeder
|
||||
// Runde neue Härtungen über die Anforderungen hinaus und urteilte nie PASS, auch bei erfüllter SPEC.
|
||||
function judgeVerdictSection(): string[] {
|
||||
return [
|
||||
"Urteilsregeln (verbindlich; Maßstab ist TASK.md und, falls vorhanden, SPEC.md):",
|
||||
"- FAIL: eine Anforderung ist nicht erfüllt, Tests schlagen fehl, oder ein reproduzierbarer Fehler im geforderten Verhalten.",
|
||||
"- PASS WITH CONCERNS: alle Anforderungen erfüllt, aber mindestens ein Major: ein konkretes Risiko im geforderten Einsatz, mit Reproduktion (Befehl oder Eingabe → falsches Ergebnis).",
|
||||
"- PASS: alle Anforderungen erfüllt, Tests grün, kein Blocker und kein Major. Minor-Punkte und Hinweise ändern daran nichts.",
|
||||
"- Härtung über die Anforderungen hinaus, Skalierung, Stil, Wünsche und Risiken in nicht geforderten Umgebungen gehören unter „Hinweise“. Sie ändern das Urteil nicht und sind keine Fix-Aufträge.",
|
||||
"- Ein Major ohne Reproduktion ist ein Hinweis.",
|
||||
"",
|
||||
"Ausgabeformat:",
|
||||
"- Urteil: PASS | PASS WITH CONCERNS | FAIL",
|
||||
"- Blocker",
|
||||
"- Major",
|
||||
"- Minor",
|
||||
"- Fehlende Tests",
|
||||
"- Hinweise (ändern das Urteil nicht)",
|
||||
"- Konkrete Fix-Aufträge an den Coder (nur für Blocker, Major, Minor und fehlende Tests)",
|
||||
];
|
||||
}
|
||||
|
||||
function judgePrompt(extra: string): string {
|
||||
const suffix = extra?.trim() ? "\n\nZusätzlicher Fokus des Users:\n" + extra.trim() : "";
|
||||
return [
|
||||
|
|
@ -65,14 +87,7 @@ function judgePrompt(extra: string): string {
|
|||
"4. Bewerte Korrektheit, Robustheit, Fehlerbehandlung, Sicherheit, Logging, Wartbarkeit und Produktionsreife.",
|
||||
"5. Wenn etwas fehlt, sage es klar und direkt.",
|
||||
"",
|
||||
"Ausgabeformat:",
|
||||
"- Urteil: PASS | PASS WITH CONCERNS | FAIL",
|
||||
"- Blocker",
|
||||
"- Major",
|
||||
"- Minor",
|
||||
"- Fehlende Tests",
|
||||
"- Produktionsrisiken",
|
||||
"- Konkrete Fix-Aufträge an den Coder",
|
||||
...judgeVerdictSection(),
|
||||
"",
|
||||
"Wenn du etwas behauptest, nenne die Datei, den Befehl, den Test oder den Reproduktionshinweis."
|
||||
].join("\n") + suffix;
|
||||
|
|
@ -98,14 +113,7 @@ function judgeWithTestsPrompt(testOutput: string, extra: string): string {
|
|||
"3. Versuche weitere Fehler im Code aktiv zu finden (Randfälle, Sicherheit, Robustheit).",
|
||||
"4. Wenn du etwas behauptest, nenne die Datei, die Zeile oder den Reproduktionshinweis.",
|
||||
"",
|
||||
"Ausgabeformat:",
|
||||
"- Urteil: PASS | PASS WITH CONCERNS | FAIL",
|
||||
"- Blocker",
|
||||
"- Major",
|
||||
"- Minor",
|
||||
"- Fehlende Tests",
|
||||
"- Produktionsrisiken",
|
||||
"- Konkrete Fix-Aufträge an den Coder",
|
||||
...judgeVerdictSection(),
|
||||
].join("\n") + suffix;
|
||||
}
|
||||
|
||||
|
|
@ -115,7 +123,7 @@ function fixPrompt(extra: string): string {
|
|||
"Wechsle in den Reparaturmodus.",
|
||||
"Lies TASK.md als Referenz — stelle sicher, dass nach den Fixes alle Anforderungen erfüllt bleiben.",
|
||||
"Nutze den letzten Judge-Bericht als verbindliche Aufgabenliste.",
|
||||
"Behebe zuerst Blocker, dann Major, dann Minor.",
|
||||
"Behebe zuerst Blocker, dann Major, dann Minor. Der Abschnitt „Hinweise“ ist kein Auftrag.",
|
||||
"Lies jede betroffene Datei unmittelbar vor dem Editieren erneut ein.",
|
||||
"Wenn du mehrere Stellen in derselben Datei änderst: Erzeuge einen unified diff und nutze das apply_patch-Tool — nicht mehrere edit-Aufrufe.",
|
||||
"Fallback: Datei komplett neu schreiben wenn apply_patch nicht möglich.",
|
||||
|
|
|
|||
Loading…
Reference in a new issue