fix(briefing): Work-Loop als Hintergrundprozess — und kein hartkodiertes timeoutSec mehr

Zwei selbstverschuldete Fehler, vom CEO an den echten Agenten-Logs entdeckt:

1) Das Briefing schrieb `timeoutSec=50` vor. codex uebergab den Wert brav —
   und ein explizites Argument sticht die Roster-Einstellung. Der gerade
   gebaute per-Agent-Timeout (codex 240s) war damit wirkungslos. Jetzt steht
   dort ausdruecklich: OHNE timeoutSec aufrufen, der Roster entscheidet.

2) Der eigentliche Unterschied zwischen den Agenten stand die ganze Zeit im
   kimi-Log: kimi startet den Loop als HINTERGRUNDPROZESS
   ("bash task started in background"), codex als Tool-Call mitten im Turn.
   Ein Hintergrundprozess ueberlebt das Turn-Ende, ein Tool-Call nicht —
   deshalb war codex nach jedem leeren Aufruf still und kimi nicht. Das
   Briefing verlangt jetzt fuer alle den Hintergrundprozess
   (`agenthub work --agent <name>`), der Tool-Call ist nur noch Notnagel.

Damit ist der Unterschied strukturell adressiert statt agentenspezifisch
umgangen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
chahinebrini 2026-07-29 21:26:05 +02:00
parent 55606eddc8
commit 178883cd2e

View File

@ -32,9 +32,15 @@ export function agentBriefing(agent: string, role: string): string {
`Du bist "${agent}" im AgentHub (Rolle: ${role}).`,
'',
'SO ARBEITEST DU:',
`1. Ruf JETZT agenthub_work(agent="${agent}", role="${role}", timeoutSec=50) auf.`,
' Danach nach JEDEM abgeschlossenen Schritt erneut — auch nach agenthub_task_review.',
' Beende deinen Turn nie, ohne agenthub_work neu gestartet zu haben.',
'1. Starte den Work-Loop als HINTERGRUNDPROZESS, nicht als Tool-Call im Turn:',
` agenthub work --agent ${agent} --role ${role}`,
' im Hintergrund laufen lassen. Ein Hintergrundprozess ueberlebt das Ende',
' deines Turns — ein Tool-Call nicht. Genau daran ist die Erreichbarkeit',
' bisher gescheitert: nach einem leeren Tool-Call war der Agent still.',
' Faellt der Prozess weg, starte ihn neu — auch nach agenthub_task_review.',
` (Notfalls geht auch das Tool agenthub_work(agent="${agent}", role="${role}");`,
' dann OHNE timeoutSec — die passende Wartezeit steht im Roster und ein',
' explizites Argument wuerde sie ueberschreiben.)',
'2. Deine Aufgabe steht IMMER im Handoff des Tasks. Lies ihn, bevor du baust.',
`3. Logge nach jedem Teilschritt: agenthub_task_log(id, text, agent="${agent}").`,
'',