Feedback worker notify to origin chat

Why this matters: if the coordinator says "I'll spawn a worker for X and surface the result here," and the result lands in the @forge_notify_outbound_bot chat instead, Justin doesn't see it where he's already looking. He thinks the worker silently died. The conversational thread breaks and Justin has to chase the result manually. Happened 2026-04-29 with the food-logging worker.

The architecture (post-fix): - tool_spawn_worker defaults notify_target="coordinator" (was "ava"). - The dispatcher (forge_dispatcher.sh::notify_completion) reads the task's notify field and calls forge_telegram_push.sh <target>. With target="coordinator", push.sh routes to ~/.forge-secrets/telegram-lifeos-coordinator.env so the message arrives via @forge_lifeos_coordinator_bot, in the same chat where Justin spawned the work. - Justin sees the worker output as a fresh message bubble from the coordinator bot. The brain doesn't see it (bot-sent messages aren't in the brain's input stream), but Justin reads it directly.

Brain awareness: - The coordinator system prompt now says: "When the worker's completion message arrives, you (the brain) won't see it directly. If Justin asks for the result later, call get_worker_results to fetch it from the dispatcher's task history. NEVER spawn another worker just to look up a past worker's output." - Tool get_worker_results(limit, name_filter) reads forge/tasks/completed/*.json + forge/comms/results/*.md and returns recent worker outputs. Use it for retrieval, not spawn_worker-of-spawn_worker.

Other valid notify_targets (per forge_telegram_push.sh): - coordinator (default for spawned-by-coordinator workers) - capture (for @forge_inbox_capture_bot chat) - notify (for @forge_notify_outbound_bot, system-priority alerts) - legacy aliases ava/inbox/manager/updates/chat all map to notify

When to override the default: - If a worker is spawned for a system-wide alert (cron-driven, not user-requested) → use notify - If a capture-bot user-flow spawns a worker → use capture - Otherwise leave at default

[Claude Code, bot-refiner-v2, 2026-04-29]