الانتقال إلى المحتوى

RFC 0001: الاكتشاف المُعلن والمعرّفات المنظمة والسعر المرجعي في SKU.md

ملاحظات المواصفة

مسودة مقترح تتيح للمتاجر على المنصات المستضافة الإعلان عن كتالوج خارج /sku.md، وتمنح GTIN وMPN والعلامة وSKU صيغة قابلة للتحليل، وتضيف سعرا مرجعيا مؤرخا لا يمثل عرض بيع أبدا.

صُمم SKU.md 1.0.0-beta صغيرا عن قصد: كتالوج جذري في /sku.md، ووثائق اختيارية لمعرفة المنتجات، ورابط Source على كل حقيقة. هذا الحجم يجعل التحقق سهلا، لكنه يترك ثلاث ثغرات مهمة للمتاجر المستقلة في التسوق عبر المحادثة مع الذكاء الاصطناعي. RFC 0001 مسودة مقترح لسد هذه الثغرات.

هذا المقترح ليس جزءا من المواصفة النافذة. لم ينفذه بعد أي مدقق أو مولد أو CLI أو أداة MCP أو Agent Skill، وإذا قُبل فستبقى كل وثائق 1.0.0-beta صالحة. النص الكامل في RFC 0001.

ثلاثة مقترحات تتفرع من تنسيق SKU.md الحالي: الاكتشاف المُعلن والمعرّفات المنظمة والسعر المرجعي المؤرخ
المقترحات الثلاثة إضافية فقط. يبقى الكتالوج الحالي ووثائق المنتجات صالحة في ظل كل منها.

الثغرة الأولى: المتاجر المستضافة لا تستطيع استخدام المسار الجذري

تشترط المواصفة أن يكون مسار الكتالوج /sku.md تماما. ويسجل دليل Shopify في المشروع أن المنصة تدير جذر المتجر وتقيد بادئات App Proxy. وتعتمد الاستضافة عبر مكتبة الملفات في منصات أخرى عادة على إعادة توجيه تغير المسار النهائي. يستطيع هؤلاء التجار غالبا تقديم ملف Markdown نفسه من مسار آخر على الأصل نفسه، لكن ذلك غير مطابق اليوم.

يبقي المقترح /sku.md أول مكان يبحث فيه القارئ. وعند غيابه، يمكن للمتجر الإعلان عن عنوان كتالوج آخر على الأصل نفسه عبر واحد من خمسة تلميحات يفحصها القارئ بترتيب ثابت:

  1. المسار المحجوز /.well-known/sku.md، ويتطلب تسجيلا مسبقا لدى IANA.
  2. ترويسة HTTP Link في استجابة الصفحة الرئيسية تحمل rel="alternate" وtype="text/markdown" وtitle="SKU.md".
  3. عنصر link في HTML الصفحة الرئيسية يعبر عن العلاقة نفسها.
  4. رابط نصه SKU.md catalog داخل قسم Product knowledge في llms.txt.
  5. سطر في agents.md يبدأ بـ SKU.md catalog:.

التلميحان الأخيران هما الإشارتان نفسهما اللتان يوصي بهما دليل إشارات الاكتشاف اليوم، لذا فالمتجر الذي يضيفهما الآن سيكون إعلانه جاهزا مسبقا.

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

الثغرة الثانية: المعرّفات نص حر

تعتمد أنظمة التسوق على GTIN وMPN والعلامة التجارية وSKU الخاص بالتاجر لتقرر ما إذا كان ذكران يشيران إلى منتج واحد. في 1.0.0-beta يمكن كتابتها في قسم Identifiers، لكن كنص حر فقط. يضيف المقترح صيغة منظمة يقرؤها المحلل من دون تخمين:

## Identifiers
- GTIN: 00012345678905 [Source](https://www.example-outdoor.com/products/tent)
- MPN: UL2P-24 [Source](https://www.example-outdoor.com/products/tent)
- Brand: Example Outdoor Gear [Source](https://www.example-outdoor.com/pages/about)
- SKU: TENT-UL2P-GRN [Source](https://www.example-outdoor.com/products/tent)

التسميات GTIN وMPN وBrand وSKU وISBN محجوزة. يجب أن يجتاز GTIN رقم التحقق وفق GS1، والبند الذي يبدأ بتسمية محجوزة ولا يستوفي قاعدتها يُعد غير صالح بدلا من معاملته بصمت كنص عادي. وعندما تختلف المعرّفات بحسب الخيار، يمكن إضافة for واسم الخيار بعد القيمة. وإذا تعارض GTIN منظم مع Product JSON-LD أو مع خلاصة المنتجات، فعلى القارئ الإبلاغ عن التعارض وتوجيه المتسوق إلى الصفحة الحية بدلا من اختيار إحدى القيمتين.

الثغرة الثالثة: لا مكان للسعر إطلاقا

كثيرا ما يكون السعر أول معيار تصفية في التسوق عبر المحادثة. لا يسمح 1.0.0-beta بالسعر الحي في الملفات الثابتة، ويحافظ المقترح على هذه القاعدة. ما يضيفه هو قسم اختياري باسم Reference price يحمل تاريخا ومصدرا:

## Reference price
- USD 349.00 as of 2026-08-11 [Source](https://www.example-outdoor.com/products/tent)
- USD 299.00 to 349.00 as of 2026-08-11 for all variants [Source](https://www.example-outdoor.com/products/tent)

العملة رمز من ISO 4217، والمبلغ يستخدم النقطة العشرية من دون فاصل للآلاف، ولا يجوز أن يكون تاريخ as of بعد تاريخ Updated في الوثيقة. لا يجوز أن يتضمن القسم أسعار التخفيض أو القسائم أو أسعار الأعضاء أو الشحن أو الضرائب أو المخزون. وعلى القارئ الذي يستخدم القيمة أن يقدمها كسعر مرجعي مؤرخ، وألا يستخدمها لسلة شراء أو لإتمام الدفع، وأن يعد التاريخ الأقدم من 90 يوما قديما.

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

ما يتركه المقترح جانبا

أُجلت عدة أفكار من المراجعة نفسها إلى مقترحات لاحقة: قسم Markets في الكتالوج الجذري لمناطق البيع واللغات والعملات، وقسما Brand وCategories الاختياريان في الكتالوج الجذري، وفصل حد الرسم البياني البالغ 31 وثيقة عن المواصفة، وملف تحليل متساهل للقراء، وإرشادات حول علاقة موارد Markdown بـ Sitemap والصفحات الأساسية. يسرد المقترح هذه الأفكار حتى يبقى النقاش حول هذه المسودة مركزا.

أسئلة مفتوحة وطريقة المشاركة

تطرح المسودة أربعة أسئلة صراحة. هل يُطلب تسجيل well-known الآن أم يُنتظر ظهور تنفيذ مستقل ثان؟ هل تبقى تلميحات llms.txt وagents.md مع أن المنصات قد تستبدل هذين الملفين؟ هل عتبة 90 يوما مناسبة للفئات سريعة تغير الأسعار؟ هل يُسمح بـ Brand في الكتالوج الجذري أيضا؟

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