من، وبأي دليل، سمح لوكيلٍ بإجراء هذا التغيير؟

Saphan Studio هو مستوى التحكم الذي يجعل هذا السؤال قابلًا للإجابة — لكل تغيير، مدوَّنًا في السجل.

يعمل أسطولك بلغة فريقك — والسجل يجيب المدقِّق بالإنجليزية. ENไทยPolski

معاينة Solo — الأسبوع المقبل

Saphan Studio لمطوّر واحد وعلى محطة عمل واحدة، مجانًا. اترك بريدك الإلكتروني وستصلك وصلة التنزيل يوم الإصدار — ولا شيء غير ذلك.

أرسل لي الوصلة ←

يتبع Team وEnterprise بحلول نهاية سبتمبر. مستضاف ذاتيًا: لا تغادر الشيفرة ولا السجل آلتك.

ما يقدّمه Saphan Studio للمؤسسة

الحوكمة ← كل قرار ذي أثر فعلٌ بشري مدوَّن في السجل — الصمت ليس موافقةً أبدًا، وحالات الرفض بيانات.

الأمن ← يُعامَل الوكلاء بوصفهم غير موثوقين حتى عندما لا يكونون خبيثين: عمليات تشغيل محصورة، وخروج شبكي بسياسة مسماة فقط.

التكلفة ← كل عملية تشغيل تُسعَّر قبل أن تبدأ وتُقيَّد بجانب القرار الذي وافق عليها.

المؤسسات ← يبقى مستوى التحكم والسجل والهوية في بنيتك التحتية، مع تصدير للتدقيق من اليوم الأول.

الضوابط ← ما هو قائم اليوم، ضابطًا بعد ضابط — ما يفعله كل ضابط، وما يرفضه، وما يحتفظ به السجل.

الامتثال ← الأدلة التي يتطلبها نظام إدارة أمن المعلومات (ISMS) القائم لديك — مُصمَّمة لتنطبق على ISO 27001 وISO/IEC 42001 وSOC 2 وNIST AI RMF وEU AI Act.

ميزات المنتج

Bench ← ما الذي يستطيع عتادك أنت تقديمه فعلًا — مُقاسًا على آلتك، لا مفترَضًا من بطاقة نموذج.

MCP server ← يجيب السجل عن الأسئلة حيث تدردش أصلًا: حالة الأسطول، والبوابات التي تنتظرك، والإنفاق على أي محور — للقراءة فقط، خلف OAuth القياسي، مع تسجيل كل وصول.

Discovery ← نظام قديم لا يفهمه أحد فهمًا تامًا، يعود فهمًا موقَّعًا مُسنَدًا بالأدلة — معرفةً، لا تغييرًا. مُثبَت في تكليفات؛ ويُعاد إجلاسه الآن على Saphan Protocol.

بيئات تشغيل خاضعة للحوكمة · تعمل اليوم

غيّر الوكيل، وأبقِ القانون نفسه.

يحكم Saphan العمل المحيط ببيئة التشغيل: القبول، والهوية المعزولة، والإرسال، والحصر، والتكلفة، والأدلة، والمراجعة، والفعل البشري. تغيير النموذج أو CLI لا ينشئ نظام تشغيل ثانياً.

01

وكلاء البرمجة من المورّدين

يعمل Claude Code وOpenAI Codex وQwen Code وFactory Droid كخلفيات مسماة ومعزولة لكل مقعد، تحت المسارات والبوابات والدفتر نفسها.

02

Saphan Agent-Loop

تقود حلقة الأدوات المدمجة النماذج المحلية خلف نقاط نهاية متوافقة مع OpenAI، ومنها Ollama وvLLM، من دون وضع CLI لمورّد على المسار الحرج.

03

أدوات حتمية

المترجمات ومشغلات الاختبار وأدوات التدقيق والتنسيق فاعلون مسجلون من الدرجة الأولى بلا تكلفة نموذج؛ عمل محكوم لا هروب غير مرئي إلى الصدفة.

04

التنفيذ عبر Docker وPodman

يمكن تشغيل الوكلاء وسلاسل الأدوات داخل صور OCI مثبتة بالبصمة، بجذر للقراءة فقط، ومستخدم غير جذري، وتركيبات محدودة، وحدود تشغيل. تُقاس الصورة المحددة على الآلة المحددة قبل الإرسال، ويُرفض التشغيل قبل البدء إذا كان الحصر غير كافٍ.

تصل موافقة الإنسان إلى Git forge

لا يتجاوز طلب السحب السجل.

يربط Saphan قرار الدمج البشري بالرأس المحدد لطلب السحب، وينقل تلك الصلاحية إلى forge، ولا يعتبر الدمج واقعًا إلا بعد ملاحظته في المستودع — لا بمجرد الوثوق باستجابة API ناجحة.

01

موافقة موقعة للرأس المحدد

تسجل البوابة الفاعل والقرار وSHA رأس طلب السحب. أي push جديد يجعل الصلاحية قديمة بدل أن يمددها بصمت إلى شيفرة مختلفة.

02

إنفاذ من جهة forge

تمنع حالة saphan/gate المطلوبة وحماية الفرع أي دمج غير مجاز على forge نفسه؛ ولا يعتمد Saphan على حسن تصرف الواجهة.

03

إسناد داخل كائن Git

ينشئ forge commit الدمج مع trailers الإسناد الخاصة بـSaphan. ولا ينتقل السجل إلى merged إلا بعد جلب ذلك commit والتحقق منه.

04

مُقاس على GitHub وGitea

اختُبر عقد API وضوابطه السلبية على مستودعات حقيقية في GitHub وGitea 1.26.4. أما مسار المنتج الكامل saphan merge --via pr فهو قيد التنفيذ النشط؛ ولا نعرض محولات forge الإضافية على أنها مسلَّمة.

ابدأ منفردًا. واحتفظ بمستوى التحكم نفسه مع نمو الأسطول.

نظام واحد، وثلاثة أحجام تشغيل.

Solo

مطوّر واحد. محطة عمل واحدة. مجاني — دائمًا.

محرك ووحدة تحكم ويب محليان، مع CLI وسير عمل داخل المحرر، بلا خادم مركزي. باب مفتوح إلى عمل وكلاء منضبط، لا تجربة تنتهي.

القدرات المتضمنة
  • محرك ووحدة تحكم ويب محليان
  • CLI وسير عمل داخل المحرر
  • حد هوية محلي
  • إرسال محكوم وبوابات وأفعال موقّعة
  • دفتر تكلفة ونتائج تحمل الأدلة
  • سجل وإسقاطات محلية
  • لا عدّاد لعدد الوكلاء أو حجم الأسطول
احصل على المعاينة ←

Team

سجل تشغيل واحد للأشخاص والآلات.

هوية تديرها Saphan كخدمة SaaS وإشارة هاتف بلا محتوى؛ ويبقى الأسطول والشيفرة والسجل التشغيلي على بنيتك التحتية.

كل ما في Solo، بالإضافة إلى…
  • saphan-oauth تشغّله Saphan ودورة حياة للهوية
  • الأسطول والشيفرة والأدلة والسجل لدى العميل
  • أشخاص وآلات ومقاعد مسماة ومعزولة
  • قنوات الفرق والرسائل المباشرة في Slack — مسلّمة، إرسال فقط
  • إشارة push للهاتف بلا محتوى السجل
  • عقد إنفاذ PR في GitHub وGitea — مختبر على forge حقيقي؛ ومسار المنتج قيد التنفيذ
  • مشغلات صور تمتد من صورة Saphan الأساسية — قيد التنفيذ
  • PostgreSQL محلي
  • Microsoft Teams — الموصل التالي، غير مسلّم
افهم Team ←

Enterprise

بنيتك التحتية. صلاحية موقَّعة. أدلة جاهزة للتدقيق.

تحكم تنظيمي مستضاف ذاتيًا، وهوية للآلات، وسياسة، وحصر، وتصدير أدلة للتسليم الخاضع للتنظيم.

كل ما في Team، بالإضافة إلى…
  • saphan-oauth محلي أو أي IdP محلي مقبول للعميل
  • مستوى التحكم والأسطول والشيفرة والأدلة والسجل لدى العميل
  • أي صورة مشغّل بعد قياس حصر الصورة المحددة — قيد التنفيذ
  • قبول الآلات وصلاحية محدودة ووصول مغلق عند الفشل
  • تصدير التدقيق ومواءمة أدلة الامتثال
افحص الضوابط المسلَّمة ←

الوثائق · الحالة المنفَّذة فقط

اقرأ ما يفعله المنتج اليوم.

تُكتب Saphan Docs انطلاقًا من الشيفرة القائمة وسلوك المنتج المتحقق منه. وتغطي النشر والإعداد والأمن والحوكمة والتدقيق والعمليات. بلا ادعاءات عن خارطة الطريق. وبلا وعود.

افتح Saphan Docs ↗
01 · النشر والإعداد02 · تشغيل الأسطول03 · الحوكمة والأمن04 · تدقيق السجل

ما هو

01

منضدة العمل

Saphan Studio هو حيث تشغّل أساطيل وكلاء الذكاء الاصطناعي: موجزات تخرج، وردود محمَّلة بالأدلة تعود، وقرارات بوابات من محررك. تقرأ نتائج، لا نصوص محادثات.

02

الضمانة

لا يمر العمل إلا بأدلة مرفقة وقرار بشري مسجَّل. الموافقة بلا إثبات غير قابلة للتمثيل — بحكم البناء، لا بحكم العُرف.

03

السجل

كل ما سبق يستقر ملفاتٍ عادية في git لديك — الذاكرة التشغيلية للعمل، مبنيةً لتتدفق إلى أدوات التدقيق التي تشغّلها مؤسستك أصلًا.

الحد الأدنى كما يُسلَّم اليوم

الضابطما هو قائمما يحتفظ به السجل
سجل حوكمة موقَّع الجهات الفاعلة والتفويضات والآلات والمقاعد والقدرات في سجل واحد تراكمي فقط، موقَّع بـ Ed25519. كل سجل مقروء للبشر مجرد إسقاط منه — قابل لإعادة التوليد، وليس مصدرًا أبدًا. تاريخ الحوكمة كاملًا، يمكن لطرف ثالث التحقق منه وهو لا يملك سوى المفتاح العام الجذري — من دون الوثوق بالآلة التي أنتجته.
بوابات بشرية، بلا استثناءات لا قبول تلقائي، ولا دمج تلقائي، ولا اعتبار انتهاء المهلة موافقة في أي موضع من المنتج. لا تملك البوابة قرارًا افتراضيًا، وترفض القرار إذا جاء خارج ترتيبه. المحرك ينقل؛ ولا يحكم أبدًا. صف واحد لكل قرار بوابة: الفاعل، والقرار من مفردات مغلقة، والوقت. لا يُعلَن «الدمج»؛ بل يُلاحَظ فقط من commit دمج حقيقي.
قرارات تكشف العبث كل قبول صفّ مقيَّد بمفتاح ومتحقَّق منه، ويُفحص ثانية عند الدمج. غيّر أي حقل لاحقًا فيفشل التحقق. الصف ونتيجة فحصه عند الدمج.
الاقتراح ≠ القرار تُسجَّل المشورة — من ذكاء اصطناعي أو إنسان — بوصفها رأيًا؛ والقرار فعل مستقل للإنسان؛ كما يُسجَّل تجاوز الاقتراح نفسه. صفان منفصلان للتوصية والقرار في كل بوابة — ليس فقط ما تقرر، بل ما أُوصي به ومن أوصى.
هوية الآلة بالشهادة لا نقطة تسجيل ولا رمز انضمام. تُقبَل الآلة بفعل صريح من المالك يربط شهادتها؛ ومستوى التحكم يتصل إلى الخارج فقط، ولا يحمل المشغِّلون بيانات اعتماد إليه. فعل القبول في السجل الموقَّع؛ وسلسلة الشهادات.
صلاحية مفوَّضة ومحدودة تفويضات موقَّعة بالجذر، لها نطاق ومسارات عمل ونافذة صلاحية. الانتهاء سقف لا مُشغِّل؛ وإحالة فاعل إلى التقاعد تسري فورًا مهما بقي من مدة أي منحة. التفويض وتوقيع يغطي كل حقل — من منح ماذا لمن، وحتى متى.
قواعد نافذة مصدَّق عليها تُوقَّع المستندات التي تحكم كيفية تنفيذ العمل بالمفتاح الجذري داخل بيان ذي رقم تسلسلي. يمكن ردّ التحقق من أي مستند إلى الجذر؛ ويعمل الوكيل تحت قواعد يمكن إثبات أنه تلقاها. البيان، وسجل كل تشغيل للقواعد التي حُقنت فيه — مع بصمتها.
حصر التشغيل على مستوى النظام — محليًا سياسة كتابة ترفض افتراضيًا من صندوق عزل نظام التشغيل نفسه — Seatbelt على macOS وBubblewrap على Linux — تُركَّب لكل تشغيل قبل بدء الوكيل. غياب وسيلة العزل يرفض التشغيل بدل إضعافه. يسمي سجل التشغيل الأداة التي حصرته والمجلدات التي بقيت قابلة للكتابة — ادعاء يستطيع فريقك إعادة إنتاجه.
حصر التشغيل على مستوى النظام — عن بُعد حصر تفرضه النواة (Landlock) للتشغيلات المرسلة عبر SSH. تُقاس قدرة الآلة على الحصر قبل توجيه العمل إليها؛ والآلة غير المقاسة أو المقاسة على أنها غير قادرة ترفض التشغيل. القدرة المقاسة في صف الآلة الموقَّع؛ وسجل التشغيل الذي يسمي ما فرض الحصر.
الوصول الصادر قائمة محددة لا يصل تشغيل يعلن سياسة خروج إلى الشبكة إلا عبر باب تحكمه تلك السياسة: لا تُقبل وجهة إلا إذا أجازت السياسة المضيف والمنفذ معًا، والافتراضي لا يجيز شيئًا. المضيف الذي لا يمكن عزله يرفض التشغيل بدل أن يبدأ مفتوحًا. الاشتراك لكل إرسالية في هذا الإصدار — لا يوجد افتراضي على مستوى الأسطول بعد، ونقول ذلك صراحة. بصمة السياسة المجمَّعة في صف التشغيل — أي قائمة حكمت هذا التشغيل. أحكام كل اتصال لا تُسجَّل بعد؛ وهذا حد معلن لهذا الإصدار، لا للتصميم.
لا قنوات جانبية بين الوكلاء لا يتنسق الوكلاء إلا عبر أسطح مسجَّلة — الأوامر، وملفات القنوات في شجرة عمل المسار التي تُضم إلى السجل، والبوابات، وصندوق إدراج فقط لتوجيهات المالك. لا توجد مراسلة وكيل إلى وكيل في المنتج. «من قال ماذا لمن ومتى» استعلام لا مقابلة — تاريخ تنسيق المسار قابل لإعادة التشغيل من السجل.
حالات الرفض كبيانات كل رفض — من المحرك أو التفويض أو المخطط أو السياسة — صف مسجَّل بلا تكلفة وله فئة مسماة. تُسجَّل أسباب المنع ولا تُعاد عبر الشبكة أبدًا. دفتر الرفض: الضوابط التي تعمل فعلًا، لا التي توجد فحسب.
المراقبة — هدف Prometheus يعرض خادم الخدمة GET /metrics بصيغة Prometheus النصية القياسية: التشغيلات حسب الحالة والخلفية، والرفض حسب الفئة، وقرارات البوابات حسب البوابة والقرار، وإصدار مخطط المخزن. قيم الوسوم أسماء فئات فقط — لا أسماء مسارات أو مسارات ملفات أو أسماء فاعلين. الرفض مقياس من الدرجة الأولى — في هذه البنية هو إشارة أمنية لا ضجيج. يجمعه Prometheus الذي تشغله بالفعل؛ لا شيء لتثبيته.
الأسرار لا تنتشر لا يخزن أي نظام فرعي قيمة سرية ولا ينقلها — أسماء المتغيرات والمسارات فقط، ويفرض ذلك نظام الأنواع. تُفحص حيازة ملفات المفاتيح قبل قراءة محتواها. تهيئة بالاسم. لا قيمة سرية في أي سجل أو سجل تشغيل أو تصدير.
OAuth 2.1 على سطح الإدارة محمي برمز حامل. يصادق Team عبر خدمة saphan-oauth التي تشغّلها Saphan كخدمة SaaS. ويشغّل Enterprise خدمة saphan-oauth محليًا أو يقبل أي IdP للعميل عبر قائمة مُصدِرين موثوقين ببوابة بشرية. فئات نطاق، وشرائح صفوف لكل مستأجر، وإغلاق آمن افتراضيًا. سجل وصول بدرجة تدقيق على كل وسيلة نقل — رموز حالة صادقة للرفض المغلَّف، ولا تُسجَّل قيم أو سلاسل استعلام أبدًا.
حوكمة التكلفة تقدير وسقف صارم لكل تشغيل يُحددان قبل الإرسال؛ وتُفحص السعة قبل البدء؛ وللمقاعد فئات فوترة. تقع التكلفة الفعلية والانحراف بجوار الأدلة، لا في فاتورة منفصلة. دفتر التكلفة، لكل مسار ولكل بوابة — يجيب «كم كلف هذا التغيير؟» في سطر واحد مثل «من وافق عليه؟».
تثبيت سلسلة التوريد تُسلَّم ملفات الوكلاء التنفيذية مع بصمة تُحسب على الآلة المستقبلة، وتُحل هويتها من جديد حيث تُنفَّذ. لكل تشغيل: بصمة الملف التنفيذي وإصداره وبصمة التهيئة والقواعد النافذة المحقونة وبصمتها.
مخزن سجلاتك أنت مخزن PostgreSQL على بنية تتحكم بها، يُهيأ بالاسم، وبيانات الاعتماد باسم المتغير فقط. لا تعبر الشيفرة ولا أدلة التشغيل ولا السجل التشغيلي بنية Saphan. يرسل Team الهوية إلى OAuth الذي تشغّله Saphan، ويحفظها Enterprise محليًا. ويمكن لكليهما استخدام إشارة هاتف تحمل معرّف بوابة معتمًا وعدد الشارة فقط. قاعدة بياناتك، إلى جانب ملفات عادية في git لديك. مقروءة من دون أدواتنا.
مطابقة لا ادعاء تعمل سيناريوهات طرف إلى طرف ضد الملف التنفيذي الحقيقي: انضباط البوابات، وقفل الإرسال، ومقاومة الحقن، والتعليمات الموجهة خطأ، وتدفق OAuth، وبوابة رمز الحامل، وتكافؤ الإسقاطات. نتائج المطابقة، قابلة لإعادة الإنتاج على نشرك.

الإغلاق الآمن هو نهجنا: قيمة تهيئة غير معروفة، أو صندوق عزل غائب، أو عنوان ربط ملتبس — كل منها يرفض بفئة مسماة بدل الرجوع إلى وضع أضعف. وحيث لا يفرض ضابطٌ ما بعد، تقول الوثائق ذلك صراحة وتسميه خارطة الطريق.

كيف تقابل هذه الصفوف ISO 27001 وISO/IEC 42001 وSOC 2 وإطار NIST AI RMF وقانون الاتحاد الأوروبي للذكاء الاصطناعي ←

Saphan Studio — منضدة العمل

الحوكمة هي الضمانة. وهذا هو العمل اليومي.

01

موجزات تخرج

يبدأ العمل أمرًا: موجز مكتفٍ بذاته بنطاق وقيود ومعيار إثبات. المحرك يوفده إلى وكلائك — بلا سياق يضيع في نافذة دردشة.

02

ردود تعود

يعود الوكلاء بردود محمَّلة بالأدلة — ادعاءات بإثبات مرفق. تقرأ النتائج وتحلل الفروقات، لا نصوص المحادثات. والفرق يومُ عمل.

03

قرِّر في محررك

إسقاط الأسطول يعيش في VS Code: ما الذي يعمل، وما الذي ينتظرك، وأمر واحد لكل قرار. بوِّب دمجًا دون مغادرة الملف الذي كنت تقرؤه.

04

الجسر

كل مشروع يحمل جسره: أوامر وقرارات واستنتاجات — الذاكرة التشغيلية للعمل، ملفاتٍ عادية في git لديك. يشحنه Studio، فتحصل قاعدة شيفرتك على جسرها من اليوم الأول. وللمنهجية بيتٌ قبل أن يعمل أول وكيل.

وهذا ما تبدو عليه الملفات نفسها — لا لقطات شاشة لوعد، بل الشكل الفعلي للعمل:

+ موجز — ما الذي يتلقاه الوكيل فعلًا
# ORDER — payments-refactor · wave 1
From: master · To: one executor · Stream: payments-refactor
Worktree: worktrees/payments-refactor · Base: main @ 4f21c09
Protocol: saphan-protocol v1.0 · pinned in PROTOCOL_BASELINE.md

## Context — read first
The payments module calls three providers (stripe, adyen, in-house
ledger) directly from checkout code. Retries are ad hoc; a network
blip on 06-24 double-charged three orders (postmortem PM-12).
ADR-0007 (attached below) ratified one provider interface at STOP-1.
This stream implements it. Nothing here asks you to design — the
design decisions are made and recorded; your job is the build.

## Scope
IN:
a. PaymentProvider interface exactly per ADR-0007 §Decision — the
   Charge/Refund signatures are frozen there; do not redesign them.
b. Three adapters: stripe, adyen, ledger. Existing behavior is
   preserved; parity proven call-for-call against recorded fixtures
   in tests/fixtures/providers/.
c. Retries with idempotency keys (key = order_id + attempt window),
   stored in pending_payments — migration 0042, up AND down.
d. Wire pin W-2: the public /payments API is FROZEN. Golden tests in
   tests/golden/payments_test.go must pass untouched — if a golden
   blocks you, STOP and report; never edit a golden.

OUT (recorded — do not touch): checkout UI · refund flows (wave 2)
· provider timeout policy (carry-forward on ADR-0007).

## Proof standard
build green · full suite, counts as passed-of-total with skipped
named · migration 0042 proven up+down on a schema copy, row counts
pre/post · adapter parity: fixture diff empty · goldens untouched
(git diff --stat on tests/golden = empty) · diff summary per file

## Stops
STOP-1 already passed (ADR-0007). STOP-2: full return per template
before merge. Merge is human-only, from the gate.

## If blocked
Write the blocker under "Open questions" in the return, flag the
stream, stop. Guessing past ambiguity is a protocol violation,
not initiative.

مكتفٍ بذاته حتى التواقيع المجمَّدة: سياق، وعقود، وتثبيتات أسلاك، وتعليمات لحال الانسداد. إذا اضطر الوكيل إلى التخمين كان الموجز هو العيب — لذلك لا يُترك شيء للتخمين.

+ ردّ — ما الذي يعود
# RETURN — payments-refactor · STOP-2
Executor: agent-7 · Commits: 6 (head a3f9e12) · Base: main @ 4f21c09

## Claims, with evidence
1. PaymentProvider extracted; 3 providers behind one interface.
   → diff: 14 files (+612 −208) · golden tests untouched, green
2. Retries are idempotent under duplicate delivery.
   → TestRetryIdempotency: 200 duplicate deliveries, 1 charge
3. Migration proven both ways on a copy of the production schema.
   → up 1.2s / down 0.9s · row counts identical pre and post

## Open questions for the gate
Provider timeout is 30s, inherited. Keep or tighten? Out of scope —
flagged, untouched.

## Not done
Refund flows: out of scope per order (recorded — wave 2).

كل ادعاء يسافر مع إثباته. تقرأ هذا في دقائق — لا في نص محادثة من ساعتين.

+ سجل قرار معماري (ADR) — لماذا هو هكذا، إلى الأبد
# ADR-0007 — one PaymentProvider interface; providers are adapters
Status: accepted · Date: 2026-06-30 · Actor: marcin · Gate: STOP-1

## Context
Three providers are called directly from checkout code. Each has its
own retry style and error mapping; the test surface triples; adding
or swapping a provider means surgery on callers. Incident 06-24:
a timeout retry double-charged three orders (postmortem PM-12).

## Decision
One interface, signatures frozen:
  Charge(ctx, Order, IdempotencyKey) → (Receipt, error)
  Refund(ctx, ReceiptRef, Amount)    → (Refund, error)
Providers become adapters behind it. Error taxonomy unified as
retryable / terminal / unknown — the mapping is owned by each
adapter and may not leak provider-specific errors upward.

## Consequences
+ one contract to test; parity provable against recorded fixtures
+ retries live in one place, above the adapters — idempotency
  enforced at a single seam, not three
− adapters gain a lint rule: no provider error types cross the seam
− migration 0042 required for idempotency-key storage

## Considered and passed
Per-provider services — triples the test surface, scatters retry
logic. Feature flags per provider — hides the seam from the record.

## Carry-forward
Timeout inherited at 30s. Decide at wave 2 — trigger: refund flows.

سياق مع الحادثة التي فرضته، وتواقيع مجمَّدة، وعواقب بسلبياتها، وطرق لم تُسلَك مع أسبابها. الموجز أعلاه يستشهد به — فالقرارات حاملة للأثقال، لا زخرفية.

+ استنتاج — كيف تتعلم المنهجية
# Finding 4.2 — a number without a definition is not evidence

Seen: a return claimed "tests: 124 passed" while 9 were skipped.
The count was true and the claim was false.
Rule: every number in a return carries its definition — passed of
total, skipped named and justified.
Applied: same cycle. All return templates updated; the gate now
asks for the definition when a bare number appears.

الإخفاق يصير قاعدةً في الدورة نفسها التي وُجد فيها. البروتوكول فقهُ سوابق، لا بيانٌ.

+ بيئة العزل — الآلة كلها على شاشة واحدة
# The sandbox — how the pieces talk

 you — the operator
  │ briefs out · gates · reads returns
  ▼
 editor / CLI (VS Code panel · saphan)
  │
  ▼
 saphan engine — self-hosted
  │ dispatch · fleet projection · refusals
  ▼
 worktrees — one isolated sandbox per stream
  ├─ agent-3   payments-refactor  running, wave 1
  ├─ agent-7   atrisk-push        stop-2 — awaiting you
  └─ agent-12  notification-svc   merged, observed
  │
  ▼
 the bridge — plain files in your git
  orders · returns · ADRs · findings · gate log
  │
  ▼
 main — merge is human-only

 The protocol is the language every arrow speaks.
 The record is what every arrow leaves behind.

يعمل الوكلاء معزولين في worktrees؛ والمحرك يتحدث البروتوكول في الاتجاهين؛ وكل قفزة تترك ملفًا. لا شيء ذو معنى يحدث خارج السجل.

+ المحرر — الأسطول نفسه، داخل VS Code
SAPHAN STUDIO: FLEET
● atrisk-push [running]
● payments-refactor [stop-2]
● notification-svc [merged]

payments-refactor ● awaiting-human

GATE

stop-2 — evidence attached · merge is yours, the engine only observes it

saphan gate payments-refactor --gate stop2 --actor you

EVIDENCE

▸ diff — 14 files (+612 −208) · goldens untouched
▸ tests — 124 of 124 passed, 0 skipped
▸ migration 0042 — proven up + down

إسقاط الأسطول في محررك: اختر مسارًا، واقرأ الأدلة، وبوِّبه — دون مغادرة الملف الذي كنت فيه.

من الطرفية

$ saphan fleet show
[awaiting-human] payments-refactor · stop-2 — evidence attached
→ run: saphan gate payments-refactor --gate stop2 --actor you

أنهى وكيلٌ عمله وأرفق الإثبات. لا شيء يُدمَج — المحرك يسلّمك، بالاسم، القرار المحدد الذي عليك اتخاذه.

+ الرفض — محاولة موافقة بلا إثبات كامل
$ saphan gate payments-refactor --gate stop2 --actor marcin
[refused] evidence incomplete — claims without proof cannot pass
nothing advanced · the gate holds · nothing was merged

الرفض هو المنتج. البوابة التي لا تستطيع قول «لا» ختمٌ مطاطي.

+ السجل — ما الذي يراه المدقِّق
$ saphan gate payments-refactor --gate stop2 --actor marcin
[recorded] stop-2 approved · actor: marcin · 2026-07-14 09:12 +07
evidence: build green · 124 tests passed · diff 6 files · bundle sha256:9f2c…

من، وبأي دليل، سمح به — مُجاب في سطر واحد، إلى الأبد.

+ الأسطول — ثلاثة وكلاء، ثلاث حالات
$ saphan fleet show
[running]        atrisk-push · wave B in progress
[awaiting-human] payments-refactor · stop-2 — evidence attached
[merged]         notification-service · observed on main

وكلاء كثيرون، إسقاط واحد — وكل حالة تخبرك دورُ من هو.

المحرك لا يدمج أبدًا. إنه يجعل قرارك قابلًا للتسجيل — وقابلًا للرفض.

لماذا إنسان في الحلقة

البوابة عجلةُ قيادة، لا مكبح. التوقف ليس لإبطاء الأسطول — بل هو أرخص مكان متبقٍّ لتغيير اتجاهه. ثلاثة أشياء تكسبها من الحلقة، واعتراف صادق واحد عن إيقافها.

01

التصحيح — حوِّل مسارًا واحدًا، لا أسبوعًا

تتغير المتطلبات في منتصف الطريق. المتطلب المتغيِّر إذا التُقط عند البوابة كلّفك مسارًا واحدًا يُحوَّل — لا أسبوعًا من نتاج السرب في سلة المهملات. البوابة هي حيث تحدث الانعطافات الرخيصة، قبل أن يتراكم الاتجاه الخاطئ عبر الأسطول.

02

الفهم — اشرح قبل أن أوافق

«اشرح لي هذا قبل أن أوافق عليه.» فيستدرك المشغِّل مواكبًا النظام بدل أن يوقّع أعمى — ومهمة الردّ كلها أن يجعل ذلك دقائق، لا أمسية كاملة. توافق وعيناك مفتوحتان، أو لا توافق.

03

السؤال المرتد — لماذا بهذه الطريقة؟

«لماذا بهذه الطريقة، لا بالأخرى؟» تجيب عنها وثائق — سجل قرار معماري (ADR)، والخيارات التي دُرست واستُبعدت — لا ذاكرة أحدهم عن قرار اتُّخذ قبل أسابيع. فالتعليل مدوَّن في السجل قبل أن يُطرح السؤال.

مخرج الطوارئ، بصراحة

$ saphan gate payments-refactor --gate stop2 --actor auto-approver
[recorded] stop-2 approved · actor: auto-approver · 2026-07-14 09:12 +07

أتريد تشغيل السرب بلا إنسان؟ ضع نموذجًا في --actor وسيوافق على كل شيء، إلى الأبد. لا شيء ينكسر. السجل يُظهر ببساطة، لكل قرار، أن آلةً وقّعت كل «نعم» — ويصير الفرق بين الإشراف والختم المطاطي حقيقةً قابلة للاستعلام بدل أن يكون جدلًا. نحن لا نحظر موافقة الطيار الآلي؛ نحن نجعلها موقَّعة.

الإنسان في الحلقة هو الوضع الافتراضي هنا، لا القانون. ما تضمنه الحلقة ليس أن شخصًا قرر — بل أن السجل يستطيع دائمًا أن يقول من الذي قرر.

التوجيه — مستوى التنفيذ

شركة من خمسين مهندسًا لا تملك ميزانية نماذج طليعة لعمل يستطيع سكربت أداءه. قاعدة التوجيه بسيطة: أرخص عامل لا يزال يستوفي معيار الإثبات.

01

الأوامر قبل النماذج

بناء iOS، وحزمة اختبارات، وتغليف المصنوعات — هذه أوامر، لا محادثات. وهي بموجب البروتوكول منفِّذون كغيرهم: تُوفَد بأمر، وتعيد أدلة، وتترك السجل نفسه. صفر رموز تُنفق على عمل تؤديه سلسلة أدوات على نحو أفضل.

02

نماذج محلية للوسط الميكانيكي

النماذج المستضافة ذاتيًا خلف عقد الحدود نفسه تتولى العمل التكراري: هجرات الأنماط، والملخصات، والهياكل الأولية. معدنك، وبياناتك، وفاتورة كهربائك — لا فاتورة لكل رمز.

03

نماذج الطليعة حيث تستحق مكانها

Claude أو Codex أو أيًا كان من تتعاقد معه — محجوزة بسياسة للعمل الذي يستحقها: التصميم، والتنقيح العسير، والمراجعة. السياسة ملف تكتبه وتديره بإصدارات، لا وضع افتراضي لم يختره أحد.

04

التكلفة تستقر بجانب الأدلة

يعرف السجل أي عامل خدم كل مسار — فالنسبة حقل في العقد، لا تخمين. والإنفاق مكانه بجانب الإثبات، لكل مسار ولكل بوابة: «كم كلّف هذا التغيير» يستحق الإجابة ذات السطر الواحد نفسها التي يستحقها «من وافق عليه».

05

مقاعد CLI وعدّادات API — حدٌّ واحد

أنت تدفع مرتين أصلًا: المهندسون يقودون الوكلاء من كونسولات CLI باشتراكات مقاعد، بينما تحرق خطوط الأنابيب رموزًا مقاسة بالاستهلاك عبر API — والأرصدة تتسرب حيث لا ينسبها أحد. يضع Saphan الاثنين خلف الحد نفسه: الأمر نفسه يدخل، والأدلة نفسها تعود، والسجل نفسه — سواء أكان المنفِّذ جلسة CLI تفاعلية أم استدعاء API بلا واجهة. فيكفّ الإنفاق عن كونه لغزًا موزعًا على فاتورتين.

يعمل مستوى التوجيه في حزمتنا نحن اليوم — سياسة واحدة، من خادم نماذج محلي إلى واجهات الطليعة، مع وكلاء يُقادون من CLI يعملون تحت Saphan الآن. ومسار API/بلا واجهة مُصمَّم في العقد نفسه؛ وسطح التكلفة يُستكمل مع شركاء التصميم — ودرز النسبة قائم في العقد أصلًا.

Bench — ما الذي يستطيع عتادك أنت تحمّله فعلًا

التوجيه يقرر أين ينتمي صنف من العمل. وBench هو كيف تكتشف ما تستطيع آلتك أنت تحمّله، فيستند ذلك القرار إلى قياس بدل افتراض. والفجوة بين الاثنين ليست صغيرة، ولا يمكن معرفتها سلفًا.

$ saphan-verdict
[verdict] class-120b — 120.99 GiB addressable · hot + large fit co-resident
→ note: glm-4.5-air rejected — dominated by gpt-oss-120b on this class
[critical] addressable memory is 63.3 of 125.5 GiB installed — raise the ceiling

الخطوة المجانية لا تثبّت شيئًا ولا تستدعي شيئًا. إنها تبلّغ عن الذاكرة القابلة للعنونة من GPU لا عن RAM المركّبة، لأنهما اختلفتا على الجهاز المرجعي بمقدار نصف الآلة — وكل قرار ملاءمة يتبع الرقم الأصغر.

أربعة نماذج قيست على عقدة واحدة بذاكرة 128 GB: تبيّن أن GLM-4.5-Air، النموذج الرائد الذي كنت ستختاره، أبطأ بمقدار 2.1× في معالجة الموجِّه وتوليد الرموز كليهما من gpt-oss-120b — وأثقل بمقدار 10 GiB. ولا تقول أيٌّ من بطاقتي النموذجين ذلك، لأن أيًا منهما ليست عن آلتك.

اقرأ موجز Bench — القياسات، وما كلّف تعلُّمها ←

أين يقع هذا

أطر الوكلاء — LangGraph وCrewAI والأساطيل الداخلية — تقرر كيف يعمل الوكلاء معًا.

حزم حوكمة الذكاء الاصطناعي تراقب النماذج والبيانات والسياسات من فوق.

بينهما — حيث يصير نتاج الوكيل تغييرًا يُساءل عنه إنسان — لا يوجد لاعب راسخ. Saphan هو تلك الطبقة: فوق الأطر، ومتعامدة مع الحزم. بدّل حزمة الوكلاء؛ يبقى مستوى الصلاحية.

المحوّلات — كيف يعمل «فوق الأطر»

عقد الحدود صغير عمدًا: يتلقى المنفِّذ أمرًا ويعيد أدلة. وكل ما يستطيع هذين الأمرين يستطيع العمل تحت Saphan.

01

ما الذي يعمل تحته اليوم

وكلاء برمجة يُقادون من CLI وأوامر حتمية — هكذا يبني Saphan نفسه، كل يوم، في الإنتاج. لا افتراض هنا: الأسطول الذي يشحن هذا المنتج يعمل خلف هذا العقد بعينه.

02

ما الذي يطلبه العقد من المنفِّذ

تلقَّ أمرًا مكتفيًا بذاته. أدِّ العمل في worktree معزولة. أعِد ادعاءات مع إثبات. هذه هي الواجهة كلها — لا SDK يُضمَّن، ولا إعادة كتابة لإطار: المحوِّل يترجم عند الحد وتبقى حزمتك حزمتك.

03

خارطة طريق المحوّلات، بصراحة

LangGraph وCrewAI وMicrosoft Agent Framework وA2A — سطح المحوّلات مُحدَّد؛ والمحوّلات المفردة تُبنى مع شركاء التصميم، بالترتيب الذي يحتاجه الشركاء فعلًا. نفضّل شحن محوِّل واحد يشغّله شريك على أربعة شعارات على شريحة عرض.

04

ما الذي يكسبك هذا

أطر الوكلاء تعيش لحظة موضة؛ وتاريخ حوكمتك لا ينبغي أن يتقلب معها. تبنَّ إطارًا، أو بدّله، أو شغّل اثنين جنبًا إلى جنب — تبقى الأوامر والبوابات والسجل متطابقة، لأنها لم تكن يومًا ملكًا للإطار أصلًا.

Saphan Protocol

المنهجية ليست محبوسة داخل الأداة. Saphan Protocol هو الانضباط المكتوب الذي يفرضه المحرك — أوامر، وبوابات، ومعايير أدلة، وسجلات قرارات — ذو إصدارات، مقروء بشريًا، ويُصلَّب يوميًا في مواجهة أساطيلنا نحن.

الآلات تنفّذه؛ والمدقِّقون والمهندسون يستطيعون ببساطة قراءته. يُنشر البروتوكول v1.0 مع الإصدار.

اقرأ موجز البروتوكول ←

لماذا Saphan

Saphan كلمة تايلاندية تعني الجسر — สะพาน. أبني هذا في هوا هين بتايلاند، والعلامة في هذه الصفحة هي جسر راما الثامن في بانكوك: سارية واحدة على ضفة واحدة، تحمل السطح كله على كابلات تستطيع عدّها. أعجبني ذلك الصدق. لا شيء مخفي داخل البنية — كل خط قوة مرئي، وتستطيع تتبّع ما يحمل ماذا بالضبط. ذلك هو المنتج كله، مرسومًا في الفولاذ: العمل يعبر، ولا شيء يسقط بصمت، وتستطيع دائمًا رؤية ما يحمل الحِمل.

وهناك سبب أقدم أيضًا. كل نظام أدرته في عقود من العمل في البنية التحتية أخفق في نهاية المطاف في الموضع نفسه — لا في الشيفرة، بل في العبور: اللحظة التي انتقل فيها العمل من جانب إلى آخر ولم يستطع أحد لاحقًا أن يقول من الذي سمح بمروره، أو لماذا. لم يخلق الوكلاء تلك المشكلة؛ بل ضاعفوها إلى ما يفوق ما تستوعبه الذاكرة البشرية. لذا سُمّيت الأداة على اسم الشيء الذي كان مفقودًا دائمًا. لا جدارًا، ولا بوابة لذاتها — بل جسرًا يتذكر كل عبور.

الحالة

البروتوكول والمحرك يعملان في الإنتاج على مشاريعنا نحن — النظام بنى نفسه ويحكم نفسه.

الإطلاق العام مُمرحَل: البروتوكول v1.0 والمحرك وحزمة التدقيق تُشحن معًا.

نختار حاليًا شريكين إلى ثلاثة شركاء تصميم (فرقًا من 50 إلى 500 مهندس ذات التزامات امتثال حقيقية).

الآلية الكامنة وراء السجل موضوعُ طلب براءة اختراع في الولايات المتحدة — patent pending.

الشركاء

بولندا — IP Partner، وارسو. تمثّل IP Partner شركة Saphan في بولندا: محادثة أولى باللغة البولندية، ونشر على بنيتك التحتية، وفريق محلي للمؤسسات التي تُدخل وكلاء الذكاء الاصطناعي إلى هندسة منظَّمة. تواصل مع المؤسس Łukasz Bederski, MBA — ippartner.pl · LinkedIn.

هل ترغب في تمثيل Saphan في سوقك؟ hello@saphan.ai

شركاء التصميم — الصفقة، بوضوح

01

المشكلة التي لديك أصلًا

نتاج الوكلاء يسبق مراجعتك. طلبات السحب تتكدس، والمراجعة تنزلق إلى مسرحية — والآن يسأل عملاؤك من المؤسسات ومدقِّقوك من الذي يشرف على ما يغيّره الوكلاء. «نظر إليه مهندس متمرس» لا تجيب عن أيٍّ من المشكلتين.

02

اليوم 30: ما الذي بين يديك

فريق تجريبي يمارس المنهجية يوميًا: موجزات تخرج، وردود محمَّلة بالأدلة تعود، وقرارات بوابات من المحرر — وقاعدة شيفرتك تحمل جسرها من اليوم الأول، فيكون للانضباط بيتٌ قبل أن يعمل أول وكيل.

وعائد التدقيق، مجانًا: لأن كل تغيير يحمل أصلًا أدلة وقرارًا مسجَّلًا، تصير إجابة استبيان الأمن وثيقةً ترفقها، لا فقرةً ترتجلها.

وادعاءٌ يستطيع فريق مبيعاتك تقديمه لعملائك، مع الإيصالات: «أساطيل الذكاء الاصطناعي لدينا تعمل تحت طبقة صلاحية قابلة للتدقيق.» أنت تبيع الثقة؛ وهذه ثقة بسجل.

03

ما الذي يكلّفه، في أسوأ الأحوال

فريق واحد، ومستودع واحد. المؤسِّس يتولى النشر — أولى البوابات على عملك الحقيقي في الأسبوع الأول. مستضاف ذاتيًا على بنية تحتية تتحكم فيها أنت: لا يضيف Saphan مكانًا جديدًا تذهب إليه شيفرتك. ساعة واحدة في الأسبوع. لا رسوم ترخيص طوال مرحلة التصميم كلها. انسحب متى شئت واحتفظ بكل ما ورد أدناه.

04

لو اختفينا غدًا

السجل ملفات عادية في git لديك — مقروءة بلا أدواتنا، إلى الأبد. والبروتوكول يُنشر علنًا عند v1.0: الانضباط الذي تعلّمه فريقك لا يموت بموت مورّد. والمنظومة التي تستضيفها ذاتيًا تواصل العمل. هذا نقيض الاحتجاز لدى مورّد، بحكم البناء.

05

ما الذي نحصل عليه — وما الذي يكسبك ذلك

حالاتك الحدّية تصير قواعد بروتوكول (مجرَّدةً، لا دواخلك أبدًا)، واحتكاكك يرسم خارطة الطريق، وشريحة Team — بوابات على مستوى المؤسسة، وإسقاط مشترك، وعروض تدقيق — تأخذ شكل مؤسستك، لأنك في الغرفة. شروط تأسيسية مكتوبة قبل أن توجد أي قائمة أسعار علنية.

استفسارات شركاء التصميم

تواصل معنا — hello@saphan.ai