Steer WhatsApp ops short intents and clarify busy/CLI failures.

Inject English recipe hints for fiber/offline/excel/continue, ack the first queued follow-up, localize gate copy, and classify execManagedNe errors so agents stop blind retries.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-08-10 22:53:35 +08:00
parent 47fd83597e
commit f1d025ed60
8 changed files with 323 additions and 11 deletions

View file

@ -235,10 +235,19 @@ class WhatsappInboundSerialQueueTests(unittest.TestCase):
pending = self.store.list_pending_channel_outbound_messages(
channel="whatsapp", account_id="wa-default", limit=10
)
self.assertEqual(len(pending), 2)
self.assertEqual(len(pending), 3)
texts = " ".join(str(p.get("text") or "") for p in pending)
self.assertIn("ans:1", texts)
self.assertIn("ans:2", texts)
self.assertIn("Still working", texts)
kinds = []
for p in pending:
try:
kinds.append(json.loads(str(p.get("source") or "{}")).get("kind"))
except Exception:
kinds.append(None)
self.assertIn("inbound_progress", kinds)
self.assertEqual(kinds.count("inbound_reply"), 2)
if __name__ == "__main__":