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>
27 lines
1.9 KiB
JavaScript
27 lines
1.9 KiB
JavaScript
import{c as a}from"./index-CgQUayy8.js";/**
|
|
* @license lucide-react v0.460.0 - ISC
|
|
*
|
|
* This source code is licensed under the ISC license.
|
|
* See the LICENSE file in the root directory of this source tree.
|
|
*/const t=a("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/**
|
|
* @license lucide-react v0.460.0 - ISC
|
|
*
|
|
* This source code is licensed under the ISC license.
|
|
* See the LICENSE file in the root directory of this source tree.
|
|
*/const s=a("Compass",[["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
|
|
* @license lucide-react v0.460.0 - ISC
|
|
*
|
|
* This source code is licensed under the ISC license.
|
|
* See the LICENSE file in the root directory of this source tree.
|
|
*/const o=a("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/**
|
|
* @license lucide-react v0.460.0 - ISC
|
|
*
|
|
* This source code is licensed under the ISC license.
|
|
* See the LICENSE file in the root directory of this source tree.
|
|
*/const p=a("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/**
|
|
* @license lucide-react v0.460.0 - ISC
|
|
*
|
|
* This source code is licensed under the ISC license.
|
|
* See the LICENSE file in the root directory of this source tree.
|
|
*/const y=a("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);export{t as C,p as L,y as Z,s as a,o as b};
|