دليل تشغيل AssetCore Interop
إشعار الوصول (اعتماد خاص)
يتطلب هذا الدليل الوصول إلى مستودع AssetCore الخاص وحزمة صورة Docker الخاصة بحزمة البداية AssetCore. هذه الأصول غير مدرجة في مستودع OSS Decision Gate.
نظرة سريعة
ما: التحقق من تداخل بوابة القرار <-> AssetCore لماذا: التأكد من أن أدلة AssetCore تتكامل بشكل صحيح مع بوابات DG من: مهندسو التكامل، مشغلو الاختبار المتطلبات السابقة: Docker (وضع مباشر)، الوصول إلى مستودع AssetCore، بناء واجهة سطر أوامر بوابة القرار
الوضع الثابت مقابل الوضع المباشر
التجهيزات الحتمية غير المتصلة بالإنترنت
- يستخدم نموذج مزود مع خريطة تثبيت.
- حتمي وسريع تمامًا.
وضع مباشر (تكامل)
- يشغل خدمات AssetCore في Docker.
- تمارين حقيقية لاستدعاءات MCP ومسارات الشبكة.
سياسة الربط
يطبق Decision Gate قواعد التثبيت عبر التكوين، وليس السيناريو:
[anchors]
[[anchors.providers]]
provider_id = "assetcore_read"
anchor_type = "assetcore.anchor_set"
required_fields = ["assetcore.namespace_id", "assetcore.commit_id", "assetcore.world_seq"]
أدلة المراسي: anchor_value هو سلسلة تحتوي على JSON قياسي. مثال على مقتطف EvidenceResult:
{
"evidence_anchor": {
"anchor_type": "assetcore.anchor_set",
"anchor_value": "{\"assetcore.namespace_id\":1,\"assetcore.commit_id\":\"c123\",\"assetcore.world_seq\":42}"
}
}
التحقق من التركيب غير المتصل (موصى به)
cargo test -p system-tests \
--features system-tests \
--test providers \
-- \
--exact assetcore_integration::assetcore_interop_fixtures
ما يحدث:
- يقوم مزود البيانات بتحميل
system-tests/tests/fixtures/assetcore/interop/fixture_map.json. - DG يقيم البوابات باستخدام أدلة التركيب.
وضع البث المباشر (Docker AssetCore)
الخطوة 1: تحميل صور AssetCore
cd <ASSETCORE_REPO_ROOT>
starter-pack/scripts/load_images.sh --bundle starter-pack/docker-images
الخطوة 2: بدء مجموعة AssetCore
docker compose \
--env-file starter-pack/docker/images.env \
-f starter-pack/docker/docker-compose.yml \
up -d
الخطوة 3: بدء خادم Decision Gate MCP
cargo run -p decision-gate-cli -- \
serve \
--config system-tests/tests/fixtures/assetcore/decision-gate.toml
تكوين التركيب ذي الصلة (الحقول الدقيقة):
[server]
transport = "http"
bind = "127.0.0.1:8088"
[[providers]]
name = "assetcore_read"
type = "mcp"
url = "http://127.0.0.1:9000/mcp"
allow_insecure_http = true
capabilities_path = "system-tests/tests/fixtures/assetcore/providers/assetcore_read.json"
الخطوة 4: تشغيل تقييم التوافق
cargo run -p decision-gate-cli -- \
interop eval \
--mcp-url http://127.0.0.1:8088/rpc \
--spec system-tests/tests/fixtures/assetcore/interop/scenarios/assetcore-interop-full.json \
--run-config system-tests/tests/fixtures/assetcore/interop/run-configs/assetcore-interop-full.json \
--trigger system-tests/tests/fixtures/assetcore/interop/triggers/assetcore-interop-full.json
الخطوة 5: تفكيك مجموعة AssetCore
docker compose \
--env-file starter-pack/docker/images.env \
-f starter-pack/docker/docker-compose.yml \
down
تجديد التركيبات
عندما تتغير عقود AssetCore، قم بإعادة توليد التجهيزات من مستودع AssetCore وانسخها إلى هذا المستودع:
cp <ASSETCORE_GENERATED_DIR>/decision-gate/interop/fixture_map.json \
system-tests/tests/fixtures/assetcore/interop/fixture_map.json
cp <ASSETCORE_GENERATED_DIR>/decision-gate/providers/assetcore_read.json \
system-tests/tests/fixtures/assetcore/providers/assetcore_read.json
استكشاف الأخطاء وإصلاحها
تم رفض اتصال AssetCore MCP
- تحقق من أن محول AssetCore MCP يعمل.
- تحقق من عنوان مزود الخدمة في تكوين بوابة القرار (
http://127.0.0.1:9000/mcp).
فشل التحقق من الرابط
- تأكيد سياسة الربط تحت
[anchors]. - تأكد من أن
anchor_valueهو سلسلة تحتوي على JSON قياسي مع الحقول المطلوبة.
ملاحظات
- تستخدم أدوات التفاعل طوابع زمنية حتمية (لا ساعة حائط).
- تعتبر أدوات التفاعل في هذا المستودع ASCII فقط؛ احتفظ بها بهذه الطريقة للحصول على اختلافات محددة.
معجم
Anchor: مرجع خارجي يثبت مصدر الأدلة. Fixture Map: خريطة JSON من الاستعلامات إلى نتائج الأدلة الحتمية. Interop: التحقق من التوافق بين DG و AssetCore.