trading-system-docs/red-queen-architecture/AGENT_CONTRACTS.md

8 KiB

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: <id>
GOAL: <Ziel der Mission>
SCOPE: <Umfang>
WORK_PACKAGES:
  - WP_ID: <id>
    DESCRIPTION: <Beschreibung>
    CLASSIFICATION: SMALL|MEDIUM|LARGE|CRITICAL|DIFFICULT|SELF-MOD
    DEPENDENCIES: <[WP_ID]>
    ESTIMATE: <Aufwand>
    OWNER_ROLE: <MAKER|DEBUGGER|...>
ORDER / SEQUENCING: <Reihenfolge>
RISKS / OPEN QUESTIONS: <Liste>

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: <id>
IMPLEMENTATION_SUMMARY: <Kurzfassung der Umsetzung>
FILES_CHANGED: [<Pfad> ...]
TESTS_RUN: [<Beschreibung> ...]
TEST_RESULTS: [<PASS|FAIL ...>]
KNOWN_RISKS: [<Liste>]
UNRESOLVED_ISSUES: [<Liste>]

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: <id>
VERDICT: PASS|FAIL|BLOCKED
FAIL_REASON: <bei FAIL>
EVIDENCE: <objektive Belege>
REQUIRED_CORRECTION: <bei FAIL, konkrete Anweisung>

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: <id>
ROOT_CAUSE_HYPOTHESIS: <vermutete Ursache>
EVIDENCE: <Belege für die Hypothese>
NEW_STRATEGY: <neuer Ansatz, anders als bisherige>
RISKS: <Liste der Risiken der neuen Strategie>
RECOMMENDED_NEXT_ATTEMPT: <konkreter nächster Schritt>

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: <id>
TEST_NAME: <Name>
COMMAND: <exakter auszuführender Befehl>
EXIT_CODE: <0|1|...>
EXPECTED: <erwartetes Ergebnis>
ACTUAL: <tatsächliches Ergebnis>
PASS/FAIL: <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: <id>
BASIS_TASKS: <validierte TASK_IDs>
ACTIONS_TAKEN: [<z.B. dokumentiert, konsolidiert, konflikt gemeldet>]
NEW_KNOWLEDGE: <Pfad/Beschreibung>
CONFLICTS_DETECTED: [<Liste>]
NEEDS_HUMAN_DECISION: <ja|nein>

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.