e5f546a72f
Sackgasse behoben: ein Worker blockte eine Aufgabe mit einer Frage (kanban block --kind needs_input), aber die Zentrale zeigte nur den roten Status "haengt - braucht dich" - ohne die Frage und ohne Eingabefeld. Der Worker blieb so dauerhaft stehen. Backend (services/ideen.py): - _blocker_frage(): liest die Worker-Frage aus dem juengsten blocked-Event (payload.reason/kind), Fallback: BLOCKED:-Kommentar. - list_queue() reichert blockierte Karten mit frage + frage_kind an (max 6 Extra-show-Aufrufe pro Poll). - answer_task(): unblock --reason schreibt die Antwort als Kommentar und stellt die Karte auf ready -> Dispatcher spawnt den Worker neu, der die Antwort im Kontext vorfindet. Mit ID-/Laengen-Validierung. Router: POST /api/ideen/antwort. Frontend (AuftragsbuchView): blockierte Karten zeigen die Frage (je nach Grund "Die Box hat eine Frage:" / "kam hier nicht weiter:") plus Antwortfeld + "Antworten & weiter". Fallback-Text ohne Grund. Vertraegt sich mit dem Live-Log-Blick (nur triage/running). Verifiziert: E2E gegen die echte Box-Kanban-CLI (Frage auslesen, answer_task entsperrt + protokolliert, Fehlerpfade), py_compile + Frontend-Build gruen, Antwort-UI im Dev-Server gerendert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
17 lines
589 B
HTML
17 lines
589 B
HTML
<!doctype html>
|
|
<html lang="de" class="dark">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="theme-color" content="#0d1117" />
|
|
<link rel="manifest" href="/manifest.webmanifest" />
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
<title>Mission Control 2.0</title>
|
|
<script type="module" crossorigin src="/assets/index-CgQUayy8.js"></script>
|
|
<link rel="stylesheet" crossorigin href="/assets/index-Bpukq9Y7.css">
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
</body>
|
|
</html>
|