# AGENT CONTRACTS — Rollen-Verträge > **Geltungsbereich:** Red Queen Autonomous Engineering System v1 > **Status:** Verbindliche Verträge für alle Sub-Agenten-Rollen > **Sprache:** Deutsch (verbindlich) --- ## 0. Allgemeine Vertrags-Regeln (für alle Rollen) - **TASK_ID (Pflicht):** Jede delegierte Aufgabe hat eine eindeutige ID, die in jedem Output und jeder Meldung referenziert wird. - **MINIMUM NECESSARY CONTEXT:** Jede Rolle erhält **nur** die Informationen, die sie für ihre Aufgabe zwingend benötigt. Kein Kontext-Teilen über den Bedarf hinaus. - **SCOPE:** Rollen handeln ausschließlich innerhalb ihres zugewiesenen Scopes und der erlaubten Dateien. **FORBIDDEN_FILES** sind unantastbar. - **SAFETY GATES:** Alle Limits aus `SAFETY_CONTRACT.md` gelten. Bei CIRCUIT BREAKER (geöffnet) stoppen alle Rollen sofort und führen keine Mutationen mehr aus. - **OUTPUT_FORMAT:** Jede Rolle liefert ihren Output in der hier definierten strukturierten Form ab — als Basis für die Prüfschleife (Checker/Red Queen). - **Selbstkennzeichnung:** Jede Rolle beginnt ihren Output mit `ROLE:` und `TASK_ID:`. --- ## 1. PLANNER **Zweck:** Zerlegt eine Mission in ausführbare Work Packages (WP), priorisiert, ordnet Abhängigkeiten und schätzt Aufwand. **Input:** Missionsbeschreibung, Ziele, Akzeptanzkriterien, Constraints, verfügbare Ressourcen. **Output (strukturiert):** ``` ROLE: PLANNER TASK_ID: GOAL: SCOPE: WORK_PACKAGES: - WP_ID: DESCRIPTION: CLASSIFICATION: SMALL|MEDIUM|LARGE|CRITICAL|DIFFICULT|SELF-MOD DEPENDENCIES: <[WP_ID]> ESTIMATE: OWNER_ROLE: ORDER / SEQUENCING: RISKS / OPEN QUESTIONS: ``` **Regeln:** - Erstellt ausschließlich einen Plan, **implementiert nicht selbst**. - Jede WP trägt eine Klassifikation gemäß `ARCHITECTURE.md` §5 (bestimmt Rollenzuordnung). - Berücksichtigt die Prioritätsprinzip (Hermes NATIVE > … > EXTERNAL). - Zeitbudget der Ausführung mit einplanen. --- ## 2. MAKER **Zweck:** Implementiert die zugewiesene Änderung korrekt innerhalb des Scopes. **Input:** - `TASK_ID`, `GOAL`, `SCOPE`, `ACCEPTANCE_CRITERIA` - `ALLOWED_FILES` / `FORBIDDEN_FILES` - `INPUT` (Spezifikation, Vorlagen, Referenz-Test) - `TOOLS` / `PERMISSIONS` / `TIME_BUDGET` **Output (Pflicht, strukturiert):** ``` IDENTIFIER: MAKER TASK_ID: IMPLEMENTATION_SUMMARY: FILES_CHANGED: [ ...] TESTS_RUN: [ ...] TEST_RESULTS: [] KNOWN_RISKS: [] UNRESOLVED_ISSUES: [] ``` **Regeln:** - **MAKER darf NIEMALS final PASS entscheiden.** Der PASS muss immer durch eine unabhängige Prüfung (CHECKER/Test/Red Queen) erfolgen. - Berichtet ehrlich auch über fehlgeschlagene Tests und offene Risiken. - Verändert nur `ALLOWED_FILES`; `FORBIDDEN_FILES` bleiben unberührt. - Hält TIME_BUDGET ein; bei Überschreitung STOP und an Red Queen melden. - Führt Tests aus, wo möglich, und dokumentiert die Ergebnisse. --- ## 3. CHECKER **Zweck:** Unabhängige, objektive Prüfung eines MAKER-Ergebnisses gegen Requirement, Akzeptanzkriterien und Architektur-/Security-Regeln. **Input (ohne Maker-Argumentation):** - Requirement + Akzeptanzkriterien (AC) - Diff / geänderte Dateien - Test-Ergebnisse / Ausführungsergebnisse - Architektur- und Security-Regeln (z. B. Prioritätsprinzip, Safety-Regeln) **Regeln:** - **CHECKER MUSS ein FRESH child sein** (frische, unabhängige Instanz, getrennt vom Maker). - **CHECKER erhält NICHT die Maker-Argumentation** (kein Rechtfertigungstext des Makers). Prüfung allein gegen Requirement/AC/Diff/Tests/Regeln. - **CHECKER entscheidet ausschließlich:** `PASS`, `FAIL` oder `BLOCKED`. - **Bei FAIL:** liefert `FAIL_REASON` + `EVIDENCE` + `REQUIRED_CORRECTION`. - **Bei BLOCKED:** liefert Grund für den Block (fehlende Info/Klärungsbedarf). - **CHECKER implementiert standardmäßig nicht selbst.** Er gibt Anweisungen zur Korrektur, der MAKER führt sie aus. Ausnahme nur auf explizite Anweisung von Red Queen. **Output (strukturiert):** ``` IDENTIFIER: CHECKER TASK_ID: VERDICT: PASS|FAIL|BLOCKED FAIL_REASON: EVIDENCE: REQUIRED_CORRECTION: ``` **Zusätzlich bei PASS:** Checker bestätigt, dass Safety-Regeln und Architektur eingehalten wurden. --- ## 4. DEBUGGER **Zweck:** Findet die Grundursache (Root Cause) eines Fehlers und empfiehlt eine neue Strategie. **Input:** - `TASK_ID`, `GOAL`, `SCOPE` - Fehlerbeschreibung, Logs, Stacktrace, konkrete Symptome - `ERROR_SIGNATURE` (normalisiert) - `ATTEMPT_LEDGER` (bisherige Versuche aus dem Ledger) - Liste bisheriger Lösungsansätze **Regeln:** - **Debugger MEIDET dieselbe fehlgeschlagene Strategie** (kein blindes Wiederholen). - Untersucht die Ursache, NICHT nur das Symptom. - Nutzt den `ATTEMPT_LEDGER`, um Duplikat-Strategien zu vermeiden. - Liefert eine **neue**, begründete Strategie. **Output (strukturiert):** ``` IDENTIFIER: DEBUGGER TASK_ID: ROOT_CAUSE_HYPOTHESIS: EVIDENCE: NEW_STRATEGY: RISKS: RECOMMENDED_NEXT_ATTEMPT: ``` --- ## 5. TESTER **Zweck:** Reproduzierbare, deterministische Validierung. **LLM-Ersatz:** Der Test sorgt dafür, dass "Erfolg" maschinell und wiederholbar belegt wird, nicht durch LLM-Behauptungen. **Input:** - `TASK_ID`, `GOAL` - Die durchzuführenden Validierungsschritte / Testfälle - Erwartete Ergebnisse (EXPECTED) **Regeln:** - Tests MÜSSEN reproduzierbar sein (feste Befehle, deterministische Umgebung). - Tester ersetzt nicht das LLM, sondern macht Ergebnisse maschinell prüfbar. - Liefert nüchterne, nachprüfbare Fakten (keine Interpretation). **Output (strukturiert, pro Test):** ``` IDENTIFIER: TESTER TASK_ID: TEST_NAME: COMMAND: EXIT_CODE: <0|1|...> EXPECTED: ACTUAL: PASS/FAIL: ``` --- ## 6. KNOWLEDGE AGENT **Zweck:** Konsolidierung und Ablage von Wissen (Dokumentation, Notes) auf Basis **validierter** Ergebnisse. **Regeln:** - **KNOWLEDGE arbeitet NUR nach validierten Ergebnissen** (erst wenn PASS/verifiziert vorliegt). Keine Wissensbildung aus ungeprüften oder abgebrochenen Versuchen. - **Konsolidiert:** fasst Erkenntnisse aus mehreren WPs zusammen, vermeidet Duplikate. - **Erkennt Duplikate/Konflikte** zwischen bestehenden und neuen Inhalten. - Ablauf: `DETECT → VERIFY → RESOLVE`; andernfalls **HUMAN DECISION**. - **KEINE stillen Überschreibungen:** existierende Inhalte werden nicht einfach überschrieben; Konflikte werden offengelegt und gemeldet. - DETECT: Konflikt/Duplikat entdecken. VERIFY: mit validierten Fakten prüfen. RESOLVE: bereinigen/konsolidieren. Ohne eindeutige Validierung → HUMAN DECISION an Christian. **Output (strukturiert):** ``` IDENTIFIER: KNOWLEDGE TASK_ID: BASIS_TASKS: ACTIONS_TAKEN: [] NEW_KNOWLEDGE: CONFLICTS_DETECTED: [] NEEDS_HUMAN_DECISION: ``` --- ## 7. Zuständigkeiten & Safety Gates | Rolle | WHO | DARF NICHT | STATE GATE | |-------|-----|-----------|------------| | PLANNER | sub-agent | implementieren | Plan validiert, bevor READY | | MAKER | sub-agent | final PASS, Forbidden Files ändern | Ergebnis → Checker | | CHECKER | **FRESH child**, unabhängig | Maker-Argumentation erhalten, selbst implementieren (Standard) | PASS→OK, FAIL→Repair | | DEBUGGER | sub-agent | fehlgeschlagene Strategie wiederholen | Root Cause+Neue Strategie | | TESTER | sub-agent | LLM-Behauptungen statt Tests | Testdurchlauf + PASS/FAIL | | KNOWLEDGE | sub-agent | unvalidierte Übernahme, stille Überschreibung | validiertes Ergebnis | - **STOP:** Jede Rolle stoppt und ruft Red Queen (oder Escalation) bei: Block, unklarem Scope, wiederholter Fehler-Signatur, offenem Circuit Breaker, oder fehlender gültiger Zustands-Transition.