← الرجوع للنظام

SMART LAYER HR · DEVELOPER CONTROL ROOM

معمارية النظام وحالة التشغيل

مرجع حيّ للديفلوبر والأوديت: ما الذي يعمل فعليًا، ما الذي يعمل داخل النظام فقط، وما الذي ينتظر API أو Connector أو قرارًا بشريًا.

قاعدة الحقيقة

إنشاء Run أو Case أو Receipt داخلي لا يعني أن الإجراء الخارجي تم. لا نعتبر Email أو ERP write أو Calendar event منفذًا إلا بوجود Provider Receipt حقيقي.

WORKFLOWS13Contracts مسجلة
AGENTS52مسجلة؛ التشغيل الفعلي يحتاج Runtime/Tools
OPERATIONAL CASES0محفوظة في MySQL
WAITING APPROVAL0قرار بشري مطلوب
PROVIDER RECEIPTS0لا يوجد تنفيذ خارجي مثبت

آخر فحص: · كل APIs المقروءة استجابت

01

الصورة التكنيكال الحالية

Node.js + Next.js + MySQL، تشغيل ذاتي بدون Cloudflare Workers.

UI / JarvisNext.js Clientapp/page.tsx
API GatewayCatch-all Node Route/api/[[...path]]
HR CoreWorkflows + Governancecore/*
PersistenceMySQL 8 + Local/S3server/*
Smart Layer Core

الاتصال غير مثبت من آخر status

SMART_LAYER_CORE_URL
ERP HR

ينتظر credentials / base URL

ERP_HR_BASE_URL
Database

MySQL compatibility layer مع migrations

DATABASE_URL
External Executors

API lifecycle موجود؛ providers لازم تنفذ وترجع receipts

EXTERNAL_TASK_API_KEY
02

كل الـWorkflows وحالتها

افتح أي Workflow لرؤية كل جزء وحالته ودليل التشغيل الخاص به.

WorkflowالنتيجةOwnerالحالةالتفاصيل
WF-HR-01تخطيط القوى العاملةخطة عدد موظفين وتكلفةCEO / COOشغال جزئيًا
WF-HR-02الاستقطاب والتوظيفمن الاحتياج حتى قرار التعيينHiring Managerشغال جزئيًا
FULL BUSINESS CYCLE

الاستقطاب والتوظيف

1 شغال4 منتظر إغلاق
  1. 01 · الإدخالمسجل فقط

    استقبال البيانات والتحقق منها

    الوظيفة، الموقع، نطاق الراتب

    POST /api/hr/workflows/v3/WF-HR-02/execute · validate requiredInputs
  2. 02 · بدء التنفيذمسجل فقط

    إنشاء Run وHR Case وحفظ Correlation

    الـWorkflow مسجل، لكن Operational Contract لم يصل من الـAPI.

    workflow_runs + hr_records(type=hr_case)
  3. 03 · Agentsغير مكتمل

    سلسلة الـAgents

    لم ترجع سلسلة Agents من الـRegistry API.

    catalog.workflows[].chain
  4. 04 · عمل داخليمسجل فقط

    إنشاء ومتابعة Work Items

    Job، Candidate، Interviews، Offer intents

    hr_records(type=work_item)
  5. 05 · القرارشغال

    بوابة القرار البشري

    لا توجد موافقة بشرية إلزامية مسجلة لهذا الجزء.

    decisionGate.required=false
  6. 06 · إجراء خارجيمنتظر Connector

    تنفيذ القنوات والأنظمة الخارجية

    Job boards، Sourcing، Calendar، Email، WhatsApp، Documents، ERP

    external_task → claim → complete(providerReceipt)
  7. 07 · الإثباتغير مكتمل

    Provider Receipt والتحقق من التنفيذ

    لا يوجد Provider Receipt حقيقي لهذا الـWorkflow حتى الآن؛ الـInternal Receipt وحده لا يثبت التنفيذ الخارجي.

    action_receipts + workflow_receipt
  8. 08 · النتيجةغير مكتمل

    من الاحتياج حتى قرار التعيين

    لم تُغلق النتيجة التجارية End-to-End. المطلوب: ربط providers وإثبات receipts؛ قرار التعيين بشري

    businessOutcomeCompleted + verified_outcome
CURRENT END-TO-END BLOCKER

ربط providers وإثبات receipts؛ قرار التعيين بشري

WF-HR-03التعيين وفترة التجربةخطة جاهزية 30/60/90HR + Managerمنتظر خارجي
WF-HR-04الحضور والإجازات واستثناءات المرتباتحل الاستثناء مع أثر مالي موثقPayroll Ownerمنتظر خارجي
WF-HR-05الأداء وخطة التحسينPIP موثق وقابل للمتابعةManager + HRمنتظر خارجي
WF-HR-06التطور والترقيةخطة مهارات وقرار ترقيةPromotion Committeeمنتظر خارجي
WF-HR-07علاقات الموظفين والشكاوىحالة سرية بمسار تصعيدHR / Legalمنتظر خارجي
WF-HR-08الارتباط والثقافةThemes وخطة تدخل تحافظ على الخصوصيةHRشغال جزئيًا
WF-HR-09الاحتفاظ بالمواهبخطة احتفاظ للحالات الحرجةHead of HRمنتظر خارجي
WF-HR-10السياسات والامتثالسياسة موزعة وإقرارات قابلة للتدقيقPolicy Owner / Legalمنتظر خارجي
WF-HR-11إنهاء الخدمةإغلاق آمن للموظف والأصول والصلاحياتHead of HRمنتظر خارجي
WF-HR-12تحليلات الأفراد للإدارةExecutive people brief قابل للتصرفExecutive Teamشغال جزئيًا
WF-HR-13غرفة التحكم اليومية للـHRقائمة أولويات يومية ومتابعة الفشلHR Operationsشغال جزئيًا
03

External Task API

القنوات الخارجية لا تستدعيها الواجهة مباشرة. النظام ينشئ Task، يمر على Approval، ثم Executor خارجي يعمل Claim وينفذ ويرجع Provider Receipt.

ready_for_approvalapprovedin_progresscompleted
job.publishcandidate.sourcecandidate.importemail.sendwhatsapp.handoffform.collectcalendar.meeting.createcalendar.reminder.sendinterview.attendance.confirmdocument.senderp.hr.create
الفجوة الحالية

الـoperational workflow العام ينشئ Action Intent، لكن تحويل كل intent إلى External Task مطابق، ثم تشغيل Provider حقيقي، يحتاج mapping وconnector adapter وreceipt validation.

04

Jarvis الداخلي

الـUI يعمل keyword routing للرحلات المعروفة، وما لا يتطابق يذهب إلى POST /api/core/jarvis. الـbackend يدعم readiness، data audit، workflow review/test، approvals وadvisory.

  • شغال: الاستعلام عن الجاهزية والمراجعات وحفظ run/audit داخلي.
  • جزئي: Advisory عبر model gateway عند وجود AI key.
  • غير مثبت: تنفيذ أي طلب حر عبر كل الـ13 workflows والقنوات الخارجية.
05

قاعدة البيانات والأثر

لا يوجد dump إنتاج داخل الـrepo؛ الجداول تُنشأ من migrations.

Orchestration

workflow_definitions، workflow_runs، workflow_steps، workflow_evaluations

Governance

approval_requests، action_requests، action_receipts، audit_events، dead_letters

Agents & AI

agent_definitions، agent_registry_versions، model_usage_ledger

HR Operations

hr_records: cases، work items، action intents، external tasks، candidates، interviews، documents

Data & ERP

dataset_registry، erp_hr_snapshots، erp_hr_sync_runs، app_migrations

06

تفسير الـStatus للديفلوبر

شغال داخليًا

المنطق، الـvalidation، الحفظ، الـcase/work items والـaudit تعمل داخل MySQL.

شغال جزئيًا

جزء داخلي يعمل، لكن اكتمال النتيجة يحتاج بيانات Production أو Approval أو Provider receipt.

منتظر خارجي

الـcontract موجود، لكن التنفيذ التجاري يعتمد على API/credentials/connector خارج النظام.

P0 · غلق التنفيذ الحقيقي

Action Intent → External Task mapping، connector adapters، provider receipts، idempotency واختبارات failure/retry.

P1 · تشغيل الـAgents

تفعيل tools للـagents وربط invoke runtime بالـworkflows بدل تخزين خطوات queued فقط.

P1 · نتيجة كل Workflow

صفحة run detail تعرض steps، approvals، artifacts، external tasks والreceipts بدل التوجيه لصفحة عامة.

P2 · قياس Business Value

Before/after metrics من Production وربطها بـverified outcomes؛ التقديرات وحدها لا تُحسب savings محققة.