fix(kanban): wake the origin on review handoffs and triage escalations
`review_requested` and `block_loop_detected` are terminal event kinds that hand a decision back to the origin subscriber, but neither was listed in the gateway notifier's `_WAKE_KINDS`. A `notify+wake` subscription therefore got the passive ping only and the origin agent never took a turn — so an agent that delegated implementation work slept through the "ready for review" handoff and through a task being routed to triage, while the equivalent `blocked` event woke it. Add both kinds to the wake set, add their status strings to the synthetic wake message in every locale, and document which events wake.
This commit is contained in:
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -189,6 +189,8 @@ gateway:
|
||||
crashed: "تعطّل (خرج العامل)؛ سيعيد المُوزّع المحاولة"
|
||||
timed_out: "انتهت المهلة؛ سيعيد المُوزّع المحاولة"
|
||||
blocked: "محجوبة؛ تحتاج إلى انتباه"
|
||||
review_requested: "أُحيلت للمراجعة؛ اكتمل التنفيذ"
|
||||
block_loop_detected: "أُحيلت إلى الفرز بعد تكرار الحجب؛ تحتاج إلى قرار"
|
||||
status_default: "تغيّرت الحالة"
|
||||
status_joiner: "، "
|
||||
message: "[kanban] المهمة {task_id} {status}.\nالعنوان: {title}\nالمُكلَّف: @{assignee}\nاللوحة: {board}\n\nراجع النتيجة أو قرّر الخطوة التالية."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -181,6 +181,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -170,6 +170,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "crashed (worker exited); dispatcher will retry"
|
||||
timed_out: "timed out; dispatcher will retry"
|
||||
blocked: "blocked; needs attention"
|
||||
review_requested: "handed off for review; the implementation is done"
|
||||
block_loop_detected: "routed to triage after repeated blocks; needs a decision"
|
||||
status_default: "status changed"
|
||||
status_joiner: ", "
|
||||
message: "[kanban] Task {task_id} {status}.\nTitle: {title}\nAssignee: @{assignee}\nBoard: {board}\n\nCheck the result or decide the next step."
|
||||
|
||||
@@ -166,6 +166,8 @@ gateway:
|
||||
crashed: "崩溃(worker 异常退出),dispatcher 将重试"
|
||||
timed_out: "超时,dispatcher 将重试"
|
||||
blocked: "被阻塞,需要处理"
|
||||
review_requested: "已交付评审;实现已完成"
|
||||
block_loop_detected: "反复阻塞后被转入待分诊,需要做出决定"
|
||||
status_default: "状态变化"
|
||||
status_joiner: ","
|
||||
message: "[kanban] 任务 {task_id} {status}。\n标题: {title}\n执行者: @{assignee}\n看板: {board}\n\n请检查结果或决定下一步动作。"
|
||||
|
||||
Reference in New Issue
Block a user