Connector calls, semantic rules, and DuckDB memory keep long runs stable, and stream retry stops chats from stalling. Co-authored-by: Cursor <cursoragent@cursor.com>
3.2 KiB
3.2 KiB
Didar Semantic Guidance — compact provider guidance
این فایل برای تزریق کامل به System Prompt نیست. Runtime باید فقط بخش کوتاه و مرتبط را inject کند.
قواعد قطعی
- وضعیت فعلی معامله فقط از
Statusخوانده میشود:Pending= جاریWon= موفقLost= ناموفق
IsDeletedیک بعد جدا است. حذفشده را باLostیکی نکن.- از
ChangeToWonTime،PipelineStageId،Probabilityیا Label برای استنتاج Won/Pending استفاده نکن. Response.Listدرsearch_dealsفقط صفحه فعلی است. برای شمارش کل از aggregateهای Response مانندWonDealsCountاستفاده کن.- «فروش در بازه» یعنی معاملات موفقشده در آن بازه، نه معاملات ایجادشده در آن بازه.
- «معاملات ثبتشده/ایجادشده در بازه» بر اساس
RegisterTimeاست و وضعیت نمایشدادهشده باید وضعیت فعلیStatusباشد. - «معاملات موفق در بازه» بر اساس
ChangeToWonTimeاست. - «معاملات ناموفق در بازه» بر اساس
ChangeToLossTimeاست. - برای نام کاربران
OwnerIdرا باget_usersresolve کن؛ قرارداد اتصال را با Golden Test واقعی کنترل کن. - برای نام کاریز/مرحله از
get_deal_pipelinesاستفاده کن.
تاریخ
- ورودی فارسی مثل «مهر ۱۴۰۵» را در
Asia/Tehranو تقویم جلالی resolve کن. - بازه را
[start, end)نگه دار و سپس به UTC تبدیل کن. - در پاسخ مدیریتی مبنای تاریخ را صریح کن: «مبنای بازه: تاریخ موفقشدن» یا «مبنای بازه: تاریخ ثبت».
پول
- بدون mapping معتبر
CurrencyIdهرگز اسم واحد پول را حدس نزن. - مبالغ چند CurrencyId را خام با هم جمع نکن.
- گزارشهای پنل دیدار از قابلیت چندارزی و ارز مبنا استفاده میکنند؛ برابری aggregate API با پنل باید با Golden Reconciliation برای اکانت تأیید شود.
- تا قبل از Reconciliation،
FinalAdjustmentPriceفقط انتخاب موقت رکوردی است و نباید بهعنوان تعریف ابدی «فروش خالص دیدار» hard-code شود.
Lead
- Function مستقلی مثل
get_leadsیاsearch_leadsوجود ندارد؛ آن را اختراع نکن. - API فیلدهای lead/contact را در Person/Contact نشان میدهد، اما یک فرمول عمومی و قطعی برای «تعداد لیدها» در مستندات عمومی تعریف نشده.
lead_countتا زمانی که با پنل واقعی حساب reconcile نشده disabled بماند.
Recovery
- اگر raw function validation failed شد، همان function را با schema برگشتی اصلاح کن.
- اگر semantic operation accuracy guard داد، به endpoint دیگری نپر تا فقط عددی تولید شود؛ دلیل عدم قطعیت را حفظ کن.