نظام Arxi - اختبار وبنية التحقق
Audience: Engineers maintaining release confidence, deterministic الجمهور: المهندسون الذين يحافظون على ثقة الإصدار، والتحقق الحتمي، وقطع الاختبار الجاهزة للتدقيق.
جدول المحتويات
- نظرة عامة تنفيذية
- عقد اختبار النظام
- جرد مدفوع بالسجل
- مصفوفة التغطية ونموذج الفجوة
- عقد الأثر والنصوص
- أدوات التنفيذ
- هيكل المجموعة
- مرجع متقاطع ملف بملف
نظرة عامة تنفيذية
نظام Arxi-اختبارات النظام يتحقق من السلوك من خلال حدود الإنتاج الحقيقية (CLI و adapter ingest)، ويصدر مواد منظمة، ويتتبع التغطية باستخدام ملفات registry + gaps TOML. تم تصميم الحزمة للحفاظ على تشغيلات حتمية وقابلة للتفتيش.
F:system-tests/README.md L12-L39 F:system-tests/AGENTS.md L12-L35
عقد اختبار النظام
اختبارات النظام تتطلب:
- تأكيدات الفشل المغلقة،
- لا توجد دقة تعتمد على النوم،
- أوامر الإنتاج وواجهات البيانات،
- إصدار الأرتيفكت لكل اختبار إلزامي.
F:system-tests/AGENTS.md L14-L37
تساعد ميزة التحكم في الوصول على إبقاء اختبارات النظام واضحة في CI والتشغيلات المحلية. F:system-tests/README.md L34-L45
جرد مدفوع بالسجل
system-tests/test_registry.toml هو المرجع المعتمد لـ:
- الفئات،
- بيانات التعريف لكل اختبار،
- نقاط دخول الأوامر،
- العناصر المطلوبة،
- الوقت المقدر للتشغيل.
F:system-tests/test_registry.toml L5-L14 F:system-tests/test_registry.toml L15-L480
مصفوفة التغطية ونموذج الفجوة
system-tests/TEST_MATRIX.md يحدد لقطات تغطية الأهداف P0/P1/P2. F:system-tests/TEST_MATRIX.md L12-L42
system-tests/test_gaps.toml تتبع الفجوات المفتوحة/المغلقة مع معايير قبول واضحة وتخطيط الفئات/الأولويات. F:system-tests/test_gaps.toml L4-L74 F:system-tests/test_gaps.toml L75-L190
اعتبارًا من 2026-02-07، تم إغلاق جميع فجوات P1 الأساسية المتعقبة (إزالة التكرار لمحدد المركب، نقاط تثبيت جزئية، فشل الإغلاق المتقاطع بين المقاطع، فشل إغلاق التعلق، توازن SQLite/في الذاكرة). تظل تغطية الضغط/الأداء P2 مفتوحة عمدًا. اعتبارًا من نفس التاريخ، تم تأمين نتائج أمان OSS Launch 0 من خلال اختبار النظام لحدود/سياسات CLI، ومسارات التلاعب الهيكلي في البيان، وتجسيد فساد SQLite، وإنفاذ المقاطع المفتوحة الواحدة. اعتبارًا من نفس التاريخ، يتم تأمين دورة حياة HTTP لجهاز sidecar واستمرارية إعادة التشغيل من خلال اختبار النظام مع عمليات فرعية حقيقية لجهاز sidecar + سير عمل نقل TCP. اعتبارًا من 2026-02-08، يتم عكس متابعة توسيع CLI OSS من الطراز العالمي بالكامل في اختبارات النظام: التحقق من شكل recorder-id، وفحوصات فشل الإغلاق المدخلات العدائية لتسجيل التعلق، ومدة الإغلاق التلقائي/مسارات دورة الحياة المجمعة، وتجزئة JSON للاستعلام + حواجز الحماية فوق الحد، ومسارات أوامر ingest-fixture لفشل/نجاح صارم في Decision Gate CLI. اعتبارًا من 2026-02-08، يتم أيضًا تأمين تعبئة حاوية Docker عبر اختبار النظام من خلال مجموعة sidecar_docker (فحوصات تعزيز الأصول + مسار e2e لـ Docker Compose مع سياسة تخطي/فشل صريحة عبر ARXI_REQUIRE_DOCKER). اعتبارًا من 2026-02-08، يتحقق مسار Docker Compose أيضًا من سلوك بدء التشغيل/استعداد الحاويات (/startup، /ready) قبل وبعد انتقالات دورة الحياة لفتح المقاطع.
عقد الأثر والنصوص
كل تشغيل اختبار يصدر على الأقل:
summary.json,summary.md,tool_transcript.json.
TestReporter و TestArtifacts ينشئان جذور تشغيل حتمية، يفرضان سياسة إعادة استخدام جذور التشغيل، وينتجان مستندات ملخص موحدة.
F:system-tests/tests/helpers/artifacts.rs L65-L131 F:system-tests/tests/helpers/artifacts.rs L133-L214 F:system-tests/tests/helpers/cli.rs L19-L107
أدوات التنفيذ
Python المساعدات:
test_runner.py: registry-based execution with optional parallelism,test_runner.py: تنفيذ قائم على السجل مع إمكانية التوازي الاختياري، جذور الأثر لكل اختبار، وتوليد البيان.coverage_report.py: ينشئ مستندات من السجل + الفجوات.gap_tracker.py: يسرد/يعرض/يغلق الفجوات ويولد مطالبات التنفيذ.
F:scripts/system_tests/test_runner.py L64-L112 F:scripts/system_tests/test_runner.py L119-L199 F:scripts/system_tests/coverage_report.py L43-L101 F:scripts/system_tests/gap_tracker.py L92-L140
هيكل المجموعة
تغطي وحدات المجموعة:
smoke: بدء تشغيل CLI وفحوصات المساعدة/الإصدار،bundle: بناء/تحقق/تفتيش واكتشاف التلاعب،persistence: إعادة التشغيل، الحتمية، وفحوصات التوافق بين SQLite/الذاكرة.operations: query ordering/cursor plus JSON pagination/limit guardrails andoperations: ترتيب الاستعلامات/المؤشر بالإضافة إلى ترقيم JSON/حدود الحماية و recorder-id + التحقق من التوافق في تكوين ختم تلقائي.security: bounded CLI input surfaces, malformed-identifier rejection, secure signer-file policy, signer-rotation recovery/corruption behavior, contract path safety, hostile bundle parse-boundary checks, and hostilesecurity: أسطح إدخال CLI المحدودة، رفض المعرفات غير الصحيحة، سياسة ملف الموقّع الآمن، سلوك استرداد/فساد دوران الموقّع، سلامة مسار العقد، فحوصات حدود تحليل الحزم العدائية، وفحوصات حدودrecord-with-attachmentsالعدائية،recorder: lifecycle plus auto-seal count/duration/combined behavior andrecorder: دورة الحياة بالإضافة إلى عدد/مدة الإغلاق التلقائي/السلوك المدمج و فحوصات استمرارية تسجيل المرفقات عبر الحدود الحقيقية لواجهة سطر الأوامر،sidecar: real sidecar process lifecycle over HTTP (record/seal/build/verify)sidecar: دورة حياة عملية sidecar الحقيقية عبر HTTP (تسجيل/إغلاق/بناء/تحقق) وفحوصات الاستمرارية المتعلقة بإعادة التشغيل والتكرار/الصراع.sidecar_docker: Dockerfile/Compose/config hardening checks and Docker Compose build/up/down with containerized sidecar startup/readiness probesidecar_docker: فحوصات تعزيز الأمان لملف Dockerfile/Compose/التكوين وبناء/تشغيل/إيقاف Docker Compose مع فحوصات بدء/جاهزية الحاوية الجانبية بالإضافة إلى سير العمل المفتوح/التسجيل/الاستعلام،integration_openclaw: fixture-driven OpenClaw gateway/CLI ingest, signed/unsigned verification lanes, sequence-gap policy checks, sensitiveintegration_openclaw: بوابة/واجهة سطر الأوامر OpenClaw المدفوعة بالمكونات، مسارات التحقق الموقعة/غير الموقعة، فحوصات سياسة فجوات التسلسل، حذف الحقول الحساسة، وفحوصات التعامل مع الحمولة المحدودة.integration_decision_gate: fixture-driven Decision Gate MCP runpack flow ingest through the productionarxi-decision-gate-adaptercrate, signed/unsigned verification lanes, runpack-integrity strict-vs-anomaly policy checks (including manifest self-integrity recomputation), sensitive transcript-field redaction, bounded transcript payload handling checks, CLIdecision-gate ingest-fixturecommand-path validation, and a fixture conformance gate that enforces canonical Decision Gate tool request/response shapes (including export-vs-verifychecked_filesالدلالات).
F:system-tests/tests/suites/smoke.rs L15-L43 F:system-tests/tests/suites/recorder.rs L20-L678 F:system-tests/tests/suites/bundle.rs L64-L684 F:system-tests/tests/suites/persistence.rs L24-L468 F:system-tests/tests/suites/operations.rs L23-L570 F:system-tests/tests/suites/security.rs L19-L1024 F:system-tests/tests/suites/sidecar.rs F:system-tests/tests/suites/sidecar_docker.rs F:system-tests/tests/suites/integration_openclaw.rs L1-L200 F:system-tests/tests/suites/integration_decision_gate.rs L1-L1161 F:Docs/architecture/arxi_openclaw_integration_architecture.md L1-L160 F:Docs/architecture/arxi_decision_gate_integration_architecture.md L1-L170
مرجع متقاطع لكل ملف
| المنطقة | الملف | الملاحظات |
|---|---|---|
| العقد والمعايير | system-tests/AGENTS.md | متطلبات سلوكية وفنية للاختبارات النظامية. |
| نظرة عامة على التنفيذ | system-tests/README.md | كيفية تشغيل وتوسيع الحزم. |
| لقطة تغطية | system-tests/TEST_MATRIX.md | مصفوفة P0/P1/P2. |
| سجل الاختبارات | system-tests/test_registry.toml | جرد موثوق وأوامر التشغيل. |
| بيانات تتبع الفجوات | system-tests/test_gaps.toml | فجوات التغطية ومعايير القبول. |
| مساعد الأرتيفكت | system-tests/tests/helpers/artifacts.rs | عقدة توليد الجذر والملخص. |
| مساعد CLI | system-tests/tests/helpers/cli.rs | تنفيذ أوامر CLI الحقيقية والتقاط النصوص. |
| مساعد Sidecar | system-tests/tests/helpers/sidecar.rs | بدء/إيقاف عملية Sidecar الحقيقية والتقاط النصوص HTTP. |
| مساعد Docker | system-tests/tests/helpers/docker.rs | استكشافات Docker daemon/compose ومساعدات الأوامر للمسارات المعبأة. |
| حزمة Sidecar | system-tests/tests/suites/sidecar.rs | دورة حياة HTTP لـ Sidecar والتحقق من إعادة التشغيل. |
| حزمة Docker لـ Sidecar | system-tests/tests/suites/sidecar_docker.rs | تعزيز تعبئة حاوية Sidecar والتحقق من سير العمل Docker Compose، بما في ذلك استكشافات بدء التشغيل/الجاهزية. |
| حزمة تكامل OpenClaw | system-tests/tests/suites/integration_openclaw.rs | تحقق من إدخال المحول المدفوع بالترتيبات لتدفقات البوابة + CLI الوهمية. |
| ترتيبات OpenClaw | system-tests/tests/fixtures/openclaw_gateway_mock_events.json | ترتيب حدث تدفق وهمي للبوابة متماشي مع مخطط أحداث OpenClaw. |
| ترتيبات OpenClaw | system-tests/tests/fixtures/openclaw_cli_mock_events.json | ترتيب حدث تدفق بأسلوب التراجع لـ CLI متماشي مع مخطط أحداث OpenClaw. |
| بنية تكامل OpenClaw | Docs/architecture/arxi_openclaw_integration_architecture.md | خريطة إصدار، حذف، وعقدة سياسة الحمولة المحدودة. |
| محول إنتاج Decision Gate | crates/arxi-decision-gate-adapter/src/adapter.rs | تنفيذ خريطة Decision Gate إلى Arxi القياسية التي تم اختبارها بواسطة الاختبارات النظامية. |
| حزمة تكامل Decision Gate | system-tests/tests/suites/integration_decision_gate.rs | تحقق من تدفق MCP المدفوع بالترتيبات لربط مستوى التحكم. |
| ترتيب Decision Gate | system-tests/tests/fixtures/decision_gate_runpack_mock_flow.json | ترتيب تدفق MCP وهمي متماشي مع نص Decision Gate وتخطيط حزمة التشغيل. |
| بنية تكامل Decision Gate | Docs/architecture/arxi_decision_gate_integration_architecture.md | خريطة تدفق MCP بالإصدار، سياسة سلامة حزمة التشغيل، وحذف النصوص/عقد الحدود. |
| تحليل البيئة | system-tests/src/config/env.rs | تحليل صارم للبيئة لتكوين الاختبار. |
| نص البرنامج | scripts/system_tests/test_runner.py | محرك تنفيذ مدفوع بالسجل. |
| مولد وثائق التغطية | scripts/system_tests/coverage_report.py | خط أنابيب وثائق الاختبار المولدة. |
| نص إدارة الفجوات | scripts/system_tests/gap_tracker.py | أدوات دورة حياة الفجوات. |