الانتقال إلى المحتوى الرئيسي
شحنت سياسة pii-shield أصرم يوم الاثنين، ووسّع زميل regex يوم الأربعاء، والآن حركة المرور الحقيقية تلقي إيجابيات كاذبة. تحتاج رؤية ما تغيّر، ومن غيّره، والتراجع — دون تخمين JSON السابق ولا إعادة نشر أي شيء. هذا ما تمنحك إصدارات حاجز الحماية: صف تاريخ لكل تغيير، وdiff بين أي اثنين، وتراجع بنقرة واحدة. هذه الصفحة هي صفحة الهبوط المركّزة لسطح الإصدارات. لمحرك حواجز الحماية نفسه — أنواع القواعد، المراحل، الإجراءات — ابدأ من نظرة عامة على حواجز الحماية أو مرجع حواجز الحماية الكامل.

1. ماذا تسجّل إصدارات حاجز الحماية

كل تعديل على حاجز حماية — create، update، delete، وrevert — يكتب صف تاريخ للإلحاق فقط في نفس المعاملة كالتغيير. يلتقط الصف لقطة من التكوين المرئي للمستخدم في تلك اللحظة:
  • اسم حاجز الحماية،
  • ما إذا كان مفعّلاً،
  • ما إذا كان افتراضي مساحة العمل،
  • كتلة rules الكاملة.
كل صف يحمل رقم version رتيباً (يبدأ من 1)، وoperation الذي أنتجه، والمؤلف، وطابعاً زمنياً. ولأن الصف يُكتَب بشكل معاملاتي مع التحرير، لا يمكن للتاريخ أبداً أن ينحرف عن السياسة الحية — إذا التزم التحرير، التزم صف تاريخه.
التاريخ للإلحاق فقط. التراجع لا يُرجِع أو يعيد كتابة الصفوف الماضية؛ يلحق إصداراً جديداً (انظر §4). ترى دائماً التسلسل الكامل لمن فعل ماذا، بالترتيب.

2. مثال واحد ملموس — اعثر على التحرير السيئ وتراجع عنه

لنقل إن حاجز الحماية 42 انحرف. تؤلّف كل هذا من وحدة التحكم على جلستك الخاصة — مفتاح الترحيل sk-orca-... مخصص لاستدعاءات /v1/* فقط، وليس أبداً لقراءة أو تغيير السياسة.
1

اسرد التاريخ

افتح History على صف حاجز الحماية في /console/guardrails. التغذية الأحدث أولاً. ترى v5 update (الأربعاء، بواسطة زميل)، v4 update (الاثنين، بواسطتك)، v3 update، وهكذا رجوعاً إلى v1 create. قراءة التاريخ مفتوحة لأي Member في مساحة العمل.
2

قارن التغيير المشتبه به

اختر الإصدارين اللذين يحيطان بالتراجع — v4 وv5 — وانظر الـ diff. تُعرَض كتلة rules جنباً إلى جنب، فيبرز الـ regex الموسّع كالسطر الذي تغيّر.
3

تراجع

استعد v4. يُعاد ضبط اسم حاجز الحماية الحي، وراية التفعيل، وراية الافتراضي، وrules إلى تلك اللقطة، ويُلحَق صف v6 revert جديد. يصبح التغيير حياً على الطلب التالي — بدون إعادة نشر، بدون تغيير في SDK. التراجع يتطلب دور Developer+.
نفس التدفق عبر REST API، كله على جلستك / رمز وصولك (وليس أبداً مفتاح الترحيل)، ضمن نطاق مساحة العمل عبر X-Workspace-Id:
# 1. List versions (Member)
curl https://api.orcarouter.ai/api/guardrail/42/history \
  -H "Authorization: Bearer <session-token>" \
  -H "X-Workspace-Id: <ws-id>"

# 2. Diff v4 against v5 (Member) — returns both snapshots to render side by side
curl "https://api.orcarouter.ai/api/guardrail/42/history/diff?from=4&to=5" \
  -H "Authorization: Bearer <session-token>" \
  -H "X-Workspace-Id: <ws-id>"

# 3. Revert to v4 — appends a new "revert" version (Developer+)
curl -X POST https://api.orcarouter.ai/api/guardrail/42/revert \
  -H "Authorization: Bearer <session-token>" \
  -H "X-Workspace-Id: <ws-id>" \
  -H "Content-Type: application/json" \
  -d '{"to_version": 4}'
تعيد استجابة التراجع حاجز الحماية الحي بعد التراجع بحيث يمكن لواجهتك التحديث دون رحلة ذهاب وإياب إضافية. أول استدعاء /v1/* يفحصه هذا حاجز الحماية يرى السياسة المستعادة.

3. التاريخ، diff، وتغذية الإصدارات

GET /api/guardrail/:id/history يعيد أثر الإصدارات، الأحدث أولاً. كل مدخل لقطة واحدة برقم إصدارها، والعملية (create / update / delete / revert)، والمؤلف، والطابع الزمني. التغذية ضمن نطاق مساحة العمل — مستدعٍ في مساحة عمل أخرى يحصل على نفس مظروف عدم-الوجود كحاجز حماية مفقود، فلا يتسرب الوجود أبداً.
GET /api/guardrail/:id/history/:version يجلب لقطة واحدة برقم إصدارها — مفيد لفحص كتلة rules الدقيقة التي كانت حية في نقطة زمنية قبل أن تقرر ما إذا كنت ستتراجع إليها.
GET /api/guardrail/:id/history/diff?from=N&to=M يعيد كلتا اللقطتين — from وto — بحيث تستطيع وحدة التحكم تصيير مقارنة جنباً إلى جنب للاسم والرايات وrules. يجب أن ينتمي الإصداران إلى مساحة عملك، وإلا يعيد الاستدعاء مظروف عدم-الوجود الموحّد.
القراءات — سرد التاريخ، الإصدار الواحد، والـ diff — مفتوحة لأي Member في مساحة العمل. إنها فحص نقي: لا شيء يتغير في حركة المرور، ولا يُجرى استدعاء نموذج أو مزود.

4. التراجع يستعيد كإصدار جديد

التراجع ليس إرجاعاً. POST /api/guardrail/:id/revert بجسم to_version:
  1. يحمّل لقطة الإصدار الهدف.
  2. يستعيد اسم حاجز الحماية الحي، وراية التفعيل، وراية الافتراضي، وrules إلى تلك اللقطة — ذرّياً، في معاملة واحدة.
  3. يلحق صف تاريخ revert جديداً يلتقط الحالة الحية الآن.
فالتراجع من v5 إلى v4 ينتج v6 جديداً محتواه يساوي v4. يقرأ تاريخك v1 → v2 → … → v5 → v6(revert) — كل خطوة محفوظة، لا شيء معدّل. تراجع عن تلك اللقطة الأقدم مجدداً لاحقاً فتحصل على v7، وهكذا.
حالة معطّلة أو غير افتراضية مستعادة تعود سليمة. إذا كان الإصدار الذي تتراجع إليه enabled: false أو لم يكن افتراضي مساحة العمل، يعيد التراجع ضبط حاجز الحماية الحي إلى ذلك بالضبط — لا يبقي السياسة مشغّلة صامتاً. قارن بـ diff أولاً لتعرف ما إذا كان التراجع سيقلب تلك الرايات أيضاً.
ولأن الربط يعيش على البوابة، ينقل التراجع كل مفتاح API مربوط بهذا حاجز الحماية دفعة واحدة — وافتراضي مساحة العمل، إن كان هو — في الاستدعاء التالي. انظر اربط بمفتاح و افتراضي مساحة العمل لكيف يُحَل الربط.

5. الأدوار والاحتفاظ

الإجراءالمسارالدور
سرد / قراءة الإصدارات، diffGET …/history، …/history/diff، …/history/:versionMember
التراجع إلى إصدارPOST …/revertDeveloper+
كل مسارات التاريخ هي /api/guardrail/* وتصادق بـ جلستك / رمز وصولك تحت X-Workspace-Id — وليس أبداً مفتاح ترحيل sk-orca-.... التراجع يحمل نفس بوابة Developer+ كإنشاء أو تحديث حاجز حماية، لأنه يغيّر حركة المرور الحية.
يُحتفَظ بالتاريخ عند أحدث 50 إصداراً لكل حاجز حماية. تُقلَّم الصفوف الأقدم تلقائياً كلما واصلت التحرير، فسير عمل بحلقة تحرير ثرثارة لا ينمي الأثر بلا حدود. تعيد نقطة نهاية السرد حتى أحدث 50، الأحدث أولاً.
اقرن الإصدارات بـ الضبط بالتعليم أولاً: اشحن قاعدة جديدة كـ flag، راقب تغذية المطابقات، وإن أساءت التصرف، قارن بـ diff وتراجع في ثوانٍ بدلاً من إعادة بناء السياسة القديمة يدوياً.

6. إلى أين تذهب بعد ذلك

الاختبار والتقييم قبل أن تشحن

أثبت سياسة في الـ sandbox ومقابل مجموعة قبل أن تصبح إصداراً ستضطر للتراجع عنه.

ضبط الإيجابيات الكاذبة

حلقة التعليم ثم الترقية التي تجعلها الإصدارات آمنة.

الإجراءات: block، mask، flag

ماذا تفعل كل قاعدة بمجرد أن يصبح إصدار حياً.

مرجع حواجز الحماية

المحرك الكامل — أنواع القواعد، المراحل، الإعدادات المسبقة، وواجهة API الكاملة.
الإصدارات هنا تغطي سياسة محتوى حاجز الحماية. لجدار الحماية سطح تغيير خاص به لسياسة الأدوات؛ لكيف تختلف طبقتا الفرض، انظر حواجز الحماية مقابل جدار الحماية.