تُنشأ القضية، يُرفَق العقد، ويعمل المسار القياسي، وتنزل النتائج في مجلد القضية.
طبقة القضايا
إدارة قضايا مبنية للمالية المُنظَّمة.
كل تحليل يعيش داخل قضية. للقضايا دورة حياة صريحة، وworkflow موافقة بأربع أعين، وعزل على مستوى الصف لكل مؤسسة، وaudit trail append-only، وcron أسبوعي لإعادة فرز الأطراف المقابلة. هذه هي الطبقة التشغيلية بين محرّك العقود ولجنة المخاطر في بنك حقيقي.
دورة الحياة
ثلاث حالات صريحة. تصعيد تلقائي حسب الشدة مدمج.
تُفتح القضية وتُراجَع وتُغلَق. كل نتيجة يُظهرها المحرّك تحمل شدة ترثها القضية — فعَلَم حرج واحد قد يُصعّد القضية تلقائياً إلى under_review ويُثبتها في قائمة الشريك الأقدم دون توجيه يدوي.
تُطلَق تلقائياً بنتائج حرجة أو يدوياً من قِبَل maker. على الـreviewer (المختلف عن الـmaker) أن يعتمد أو يرفض قبل الإغلاق.
اعتُمدت من الـchecker أو رُفضت رسمياً. تجمّد audit trail. يُطلَق webhook صادر. تصبح القضية للقراءة فقط.
فصل الواجبات
أربع أعين افتراضياً. النظام يفرضها.
يُفرَض فصل Maker / Checker على مستوى قاعدة البيانات: المستخدم الذي يُنشئ قضية أو يُقدم نتيجة لا يمكن أن يكون نفسه الذي يعتمدها. يرفض المحرّك العملية إذا اكتشف هوية مستخدم نفسها على الجانبين — لا يوجد التفاف عبر الواجهة.
Maker
يقدّم التحليل ويُرفق العقد ويرفع النتائج ويُحرّر التوصية. لا يمكنه الاعتماد.
Checker
يراجع قضية الـmaker ويقبل أو يرفض النتائج ويعتمد أو يُعيد. لا يمكن أن يكون مؤلِّفاً لما يراجعه.
RBAC + RLS
أدوار داخل المؤسسات، عزل بين المؤسسات.
تُمثِّل الـOrganizations حدود التعدد المستأجري. ينتمي المستخدمون إلى منظمة أو أكثر عبر org_members مع دور. وRow-Level Security على مستوى قاعدة البيانات مُطبَّقة بحيث لا يستطيع مستخدم في المنظمة A قراءة صف يخصّ المنظمة B — يرفضه مُخطِّط SQL بصرف النظر عن كود التطبيق.
| الدور | الصلاحيات |
|---|---|
owner | كل شيء داخل المنظمة. يدير الفوترة والأعضاء والتكاملات. |
admin | يدير الأعضاء والإعدادات. لا يمكنه نقل الملكية. |
member | يقدّم قضايا ويُشغّل التحاليل ويرفع النتائج. المشغّل القياسي. |
viewer | وصول قراءة فقط للقضايا. للمدقّقين والمراقبين الخارجيين بموجب NDA. |
تُقيَّم الأدوار وRLS من جانب الخادم في كل استعلام. لا يوجد gating من الواجهة فقط.
القدرات التشغيلية
ما تقوم به طبقة القضايا خارج الـworkflow.
قائمة شروط مسبقة (Conditions Precedent)
متعقّب CP قياسي داخل كل قضية. حالة ثنائية لكل شرط — وحدها أدلة [L1] تنقله إلى 'مستوفى'. تُستخدم في صفقات الائتمان حيث يعتمد الإغلاق على استيفاء جميع الـCPs.
إعادة فرز أسبوعية للأطراف المقابلة
cron يُعيد كل أسبوع تشغيل فرز OFAC SDN / العقوبات على الأطراف المقابلة لكل قضية نشطة. تُعيد المطابقات الجديدة فتح قضية مغلقة سابقاً تلقائياً.
إدخال دفعي للأطراف المقابلة
رفع CSV أو JSON حتى 50 طرفاً مقابلاً دفعة واحدة للفرز. تستخدمه فرق KYC عند إدخال محفظة عملاء جدد في تمريرة واحدة.
Webhooks صادرة HMAC
كل تغيير حالة (فتح قضية، رفع نتيجة، تغيير حالة، إغلاق قضية) يُطلق webhook موقَّع HMAC-SHA256 إلى أنظمتك التالية. جدول إعادة محاولة آمن من الإعادة.
Audit Export JSON
تصدير بنقرة واحدة لملف القضية الكامل — مخرَج المسار والنتائج والشدة وهويات maker / checker والأختام الزمنية وبصمة السلامة. مصمَّم للتفتيش التنظيمي.
Backtesting للـprompts
مجموعة بيانات ذهبية من قضايا تاريخية بنتائج متوقعة. تُستخدم لتقييم أي تغيير في الـprompts قبل الإطلاق. تسجيل Jaccard / JSON-divergence.
تريد تشغيل قضية من البداية إلى النهاية؟
أحضر صفقة تمثيلية ونفتح قضية عليها، ونمشي workflow الـmaker / checker، ونُصدِّر ملف التدقيق، ونعرض trigger إعادة الفرز الأسبوعي. العرض ذاته كباقي Finance.