feat(harvester): enforce strict tool invocation rejection on conversational comments

This commit is contained in:
operator
2026-10-05 05:30:11 +00:00
parent f2f57b3b4e
commit 0e5138069e
+6 -4
View File
@@ -1060,12 +1060,14 @@ def maybe_nudge_untagged_sidechat(agent, thread_id, thread_name, mid, text, dry_
if rec.get("nudged_for_mid") == mid or rec.get("nudge_count", 0) >= 1: if rec.get("nudged_for_mid") == mid or rec.get("nudge_count", 0) >= 1:
return return
# Inject terse nudge footer with runtime & tool directive # Inject strict tool directive footer
thread_url = f"https://box.muse-dev.online/thread/{thread_id}" thread_url = f"https://box.muse-dev.online/thread/{thread_id}"
nudge_msg = ( nudge_msg = (
f"[Nudge: Work thread active at {thread_url}]\n" f"[STRICT ENFORCEMENT: Conversational commentary is rejected. Work requires active execution.]\n"
f"Available Tools: [TOOL <op> <args>] or curl to https://box.muse-dev.online/exec\n" f"Thread Console: {thread_url}\n"
f"Reply with [TOOL <op> <args>] to execute or close with [RESULT {matching_job_id}] <outcome>." f"You must emit an executable tool call: [TOOL <op> <args>] or curl command against https://box.muse-dev.online/exec\n"
f"Example: [TOOL service.status {{\"unit\": \"board.service\"}}] or [TOOL followup.create {{\"in_m\": 10, \"prompt\": \"continue\"}}]\n"
f"When all operations are finished, close strictly with [RESULT {matching_job_id}] <outcome>."
) )
try: try:
import muse_hybrid import muse_hybrid