التحقق من محرك التسجيل

مقارنة مستقلة لمحرك تسجيل Flying Start مقابل 75,693 نتيجة Sailwave حقيقية من 96 نادي إبحار في 10 دول.

75,693
المقارنات
4,144
السباقات
96
الأندية
0
الأخطاء المكتشفة

الحكم: جاهز للإنتاج

عبر 75,693 مقارنة فردية، يتطابق محرك تسجيل Flying Start مع Sailwave بنسبة تطابق 99%. لم يُعثر على أي أخطاء في التسجيل. جميع حالات عدم التطابق تُفسَّر إما بجودة بيانات الاختبار أو بفوارق تقريب طفيفة لا تؤثر أبداً على النتائج.

المحتويات

  1. المنهجية
  2. ملخص النتائج
  3. ما اختبرناه
  4. مصادر البيانات — 96 نادياً، 10 دول
  5. تحليل حالات عدم التطابق
  6. تفاصيل Sailwave المكتشفة
  7. القيود والتحفظات
  8. البيانات الخام وقابلية الاستنساخ

1. المنهجية

كتبنا إطار اختبار آلي يأخذ بيانات نتائج Sailwave، ويشغّلها عبر محرك تسجيل Flying Start، ويقارن كل قيمة محسوبة بما أنتجه Sailwave. يفحص الاختبار ثلاثة أشياء لكل متسابق لكل سباق:

  1. الوقت المصحَّح — هل تُنتج صيغة الأفضلية لدينا نفس عدد الثواني؟
  2. المركز — هل نُحدد نفس مركز التأهل؟
  3. النقاط — هل نحسب نفس النقاط؟

تستخدم المقارنة وضعَي تحقق:

التحقق العميق (مع الأوقات المنقضية)

عندما تتضمن بيانات المصدر الأوقات المنقضية وتقييمات الأفضلية، نعيد حساب الأوقات المصحَّحة من الصفر باستخدام الصيغة المناسبة (PY أو IRC أو YTC أو غيرها) ونقارن مع أوقات Sailwave المصحَّحة. يتحقق هذا من خط الأنابيب بالكامل: منقضٍ ← مصحَّح ← مركز ← نقاط.

التحقق من النقاط (بدون أوقات منقضية)

عندما تتضمن بيانات المصدر المراكز والنقاط فقط (شائع في صفحات ملخص السلسلة)، نتحقق من أن تعيين المراكز للنقاط يتبع قواعد نظام التسجيل الصحيح. يتحقق هذا من تعيين نقاط العقوبة وحسابات نقاط المكافأة وتسجيل SCP.

كيف جمعنا البيانات

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

لستة أساطيل في Falmouth Sailing Week 2025، قشّطنا يدوياً صفحات السباقات الفردية التي تضمنت الأوقات المنقضية والمصحَّحة الكاملة، مما مكّن من التحقق العميق من الوقت المصحَّح.

2. ملخص النتائج

المصدر الملفات السباقات المقارنات التطابق رئيسي طفيف
مُقشَّط (96 نادياً) 655 4,088 74,391 99% 0 1,068
Falmouth Week (عميق) 6 56 1,302 99% 3 19
الإجمالي 661 4,144 75,693 99% 3 1,087

0 حالة عدم تطابق رئيسية ناتجة عن منطق المحرك. حالات عدم التطابق الرئيسية الثلاث كلها مشكلات جودة بيانات في بيانات الاختبار لدينا (موضَّحة بالتفصيل أدناه).

3. ما اختبرناه

ينفّذ محرك التسجيل ميزات RRS (قواعد سباق الإبحار) التالية. جميعها مُختبَرة خلال الاختبار:

الميزةالتغطية
أفضلية PY (القوارب المطاطية البريطانية)مُختبَر عبر أكثر من 60 نادٍ بريطاني
أفضلية IRC (اليخوت الدولية)مُختبَر مع أساطيل Falmouth Week IRC1/2/3
أفضلية YTC (المراكب البريطانية)مُختبَر مع أساطيل Falmouth Week YTCE/YTCQ
تسجيل نقاط منخفضةمُختبَر في جميع 4,144 سباق
تسجيل نقاط المكافأةمُختبَر حيث تستخدمه الأندية
عقوبات DNS / DNF / DNCمُختبَر عبر جميع الأندية
OCS / DSQ / RET / UFD / BFDمُختبَر حيث تظهر في النتائج
قاعدة RRS A5.3 (تسجيل العقوبات الاختياري)الافتراضي لجميع الاختبارات — القوارب في المنطقة + 1 مقابل الإدخالات + 1
SCP (عقوبة التسجيل)مُختبَر حيث تطبّق الأندية عقوبات نسبية
ملفات الإلغاءمُختبَر عبر مقارنة ترتيبات السلسلة
كسر التعادل في ملحق RRS A8مُختبَر عبر مقارنة المراكز في الأساطيل المتعادلة

4. مصادر البيانات — 96 نادياً، 10 دول

اختبرنا عمداً عبر نطاق جغرافي وتنظيمي واسع. لسباق النادي في Solent خصائص مختلفة عن سباق مساء الأربعاء في خزان ويلزي أو بطولة O'pen Skiff الأسترالية. يجب أن يتعامل محرك التسجيل مع جميعها.

المملكة المتحدة (أكثر من 60 نادياً)

Hayling Island SC وParkstone YC وPoole YC وWarsash SC وTorbay SC وCardiff Bay YC وDelph SC وMengeham Rythe SC وBurghfield SC وOxford SC وChichester YC وBrancaster Staithe SC وBexhill SC وSalcombe YC وPaignton SC وBrixham YC وMedway YC وBartley SC وNorthampton SC وLargo Bay SC وRCYC وRanelagh SC وTwickenham YC وCambridge YC وOgston SC وRutland SC وBala SC وMaylandsea Bay SC وRoyal Lymington YC وFlushing SC وChase SC وChipstead SC وRock SC وBCYC وYDSC والعديد من جمعيات الفئات (Solo وOsprey وFireball و29er وILCA UK وITCA وUKWA وRedwings).

نيوزيلندا (8 أندية)

New Plymouth YC وNelson YC وWakatere Boating Club وLake Taupo YC وNZ Paper Tiger وYachting NZ.

أستراليا (6 أندية)

Manly YC وPerth SC وMaroochy وHobie WA وLake Cootharaba SC وفئة Open Skiff (البطولات الوطنية والولائية).

دول أخرى

جنوب أفريقيا (Bloemfontein YC) والسويد (KSSS) والمجر (نتائج عبر hunresults) والبرتغال والولايات المتحدة (KHYC — King Harbor YC) وكندا (Whitby YC).

Falmouth Sailing Week 2025

ستة أساطيل من مسار الخليج — IRC 1 وIRC 2 وIRC 3 وYTC Cruiser وYTC Quarter-Tonner وFirebird — مع الأوقات المنقضية والمصحَّحة الكاملة المُقشَّطة من صفحات السباقات الفردية المستضافة على sailwave.com/results/FSW.

5. تحليل حالات عدم التطابق

من بين 75,693 مقارنة، لم تتطابق 1,090 تماماً. إليك كل فئة من فئات عدم التطابق وسببها وما إذا كانت مهمة.

حالات عدم التطابق الرئيسية (3 في المجموع)

الثلاث حالات كلها مشكلات جودة بيانات في بيانات الاختبار لدينا، وليست أخطاء في محرك التسجيل.

YTCE Falmouth R4 — Percy (John & Julie Roberts)

عدم التطابق: النقاط — Sailwave يقول 11، Flying Start يقول 8.

السبب الجذري: سباق Champagne Race يوم الأربعاء كان يضم 3 قوارب ضيفة (Autarky وInfinity وPassion) غير موجودة في السلسلة المنتظمة. ملف XML الذي قشّطناه لم يتضمنها، لذا كان حجم الأسطول 10 بدلاً من 13. أنهى Percy في المركز الثامن من 10 في بياناتنا مقابل المركز الحادي عشر من 13 في بيانات Sailwave.

الحكم: كلا محركَي التسجيل صحيحان. الفارق في بيانات الإدخال، وليس في الحساب.

YTCE Falmouth R4 — Aardvarc (Philip Cook)

عدم التطابق: النقاط — Sailwave يقول 12، Flying Start يقول 9.

السبب الجذري: نفس السبب أعلاه. القوارب الضيفة ضخّمت حجم الأسطول في بيانات Sailwave.

YTCQ Falmouth R4 — Tahini (Guy English)

عدم التطابق: الوقت المصحَّح — Sailwave يقول 1:10:13، Flying Start يقول 1:08:32.

السبب الجذري: أبحرت Tahini بتقييم YTC مختلف يوم الأربعاء (1054) عن باقي السلسلة (1080). استخدم ملف XML لدينا 1080 لجميع السباقات. صيغة الوقت المصحَّح هي elapsed × 1000 ÷ rating، لذا تقييم مختلف = وقت مصحَّح مختلف.

الحكم: كلتا الصيغتَين صحيحتان. الفارق في بيانات الأفضلية، وليس في الحساب.

حالات عدم التطابق الطفيفة (1,087 في المجموع)

تقع جميع حالات عدم التطابق الـ 1,087 الطفيفة في فئتين:

تقريب الوقت المصحَّح (19 حالة عدم تطابق)

فوارق من 1 إلى 3 ثوانٍ بين Sailwave وFlying Start، ناتجة عن التقريب الوسيط في سلسلة حساب Sailwave. على سبيل المثال، الوقت المصحَّح لـ IRC = المنقضي × TCC. إذا كان المنقضي = 3,428 ثانية وTCC = 1.072:

الأثر: لا شيء. فارق 1 إلى 3 ثوانٍ في الوقت المصحَّح لا يغيّر مركز الوصول أبداً — عادةً ما تكون القوارب مفصولة بدقائق.

تقريب النقاط في تسجيل المكافأة/SCP (1,068 حالة عدم تطابق)

فوارق من 0.1 إلى 0.3 نقطة حيث تختلف قليلاً النقاط الكسرية لمكافأة Sailwave أو حسابات نسبة SCP. على سبيل المثال، المركز الثالث في تسجيل نقاط المكافأة يجب أن يكون 5.7 تماماً، لكن بعض إصدارات Sailwave تبدو أنها تستخدم دقة نقطة عائمة مختلفة قليلاً داخلياً.

الأثر: لا يُذكر. هذه الفوارق الكسرية لا تغيّر الترتيبات أبداً لأنها أصغر من الفجوة بين أي مركزَين وصولَين.

6. تفاصيل Sailwave المكتشفة

خلال الاختبار، وجدنا مجالاً واحداً حيث يكون سلوك Sailwave غير متسق عبر الأندية. لا ندّعي أن هذا خطأ — قد يكون خياراً تكوينياً متعمداً — لكنه يستحق التوثيق لضباط السباق المنتقلين من Sailwave.

TLE (تجاوز حد الوقت) — تسجيل غير متسق

يستخدم Sailwave TLE كرمز عقوبة للقوارب التي لا تُنهي السباق ضمن الحد الزمني. لا يظهر هذا الرمز في قواعد سباق الإبحار (RRS). المكافئ في RRS سيكون DNF (لم يُنهِ).

وجدنا أن Sailwave يعامل TLE بشكل غير متسق عبر الأندية المختلفة:

Flying Start يعامل TLE كمكافئ لـ DNF (starters + 1)، وهو ما يتوافق مع سلوك Sailwave الأكثر شيوعاً ويتماشى مع مبدأ RRS بأن القارب الذي يبدأ لكن لا يُنهي يحصل على starters + 1 نقاط.

يُفسِّر هذا التناقض جزءاً من حالات عدم التطابق الطفيفة لدينا. إذا كان ناديك يستخدم TLE بقواعد تسجيل محددة، يُرجى إخبارنا وسنضمن أن Flying Start يتطابق مع ممارستك.

لم تُعثر على أخطاء في Sailwave

على الرغم من اختبار 4,144 سباق، لم نجد أي حالات ينتج فيها Sailwave نتائج غير صحيحة وفق قواعد RRS. جميع حالات عدم التطابق قابلة للتفسير بالتقريب أو جودة البيانات أو غموض TLE الموصوف أعلاه. Sailwave هو المعيار الصناعي منذ أكثر من 20 عاماً لسبب وجيه — يحصل على الرياضيات بشكل صحيح.

7. القيود والتحفظات

ما لا يغطيه هذا الاختبار

نُلاحظ أيضاً أن غالبية مقارناتنا (74,391 من 75,693) هي مقارنات نقاط فقط من صفحات ملخص السلسلة. يغطي التحقق العميق من الوقت المصحَّح 1,302 مقارنة من Falmouth Week. نرحّب بالوصول إلى المزيد من الفعاليات ذات الأوقات المنقضية والمصحَّحة المنشورة لتعزيز هذا التحقق.

8. البيانات الخام وقابلية الاستنساخ

إطار الاختبار والبيانات المُقشَّطة والنتائج الكاملة منشورة في مستودع مفتوح المصدر مخصص:

github.com/IDSTUK/SW-FS-Scoring-Engine-Verification
مصدر محرك التسجيل • المُحقِّق • إطار الاختبار • 1,266 مصدر بيانات مُقشَّط

المسارالوصف
scripts/soak-test.tsمنفّذ اختبار CLI — يُحلَّل XML، يُشغَّل التحقق، يُنتِج التقرير
scripts/scrape-sailwave.tsبرنامج تقشير ويب لصفحات نتائج Sailwave HTML
verifier/sailwaveVerifier.tsمحرك المقارنة — يعيد حساب الأوقات المصحَّحة والمراكز والنقاط
scoring-engine/محرك التسجيل نفسه — raceScorer وseriesScorer وhandicapCalculator وtieBreaker
data/sources.jsonسجل كامل لجميع 1,266 عنوان URL للمصادر المُقشَّطة
data/soak-results.jsonنتائج الاختبار الكاملة مع معدلات التطابق لكل ملف وتفاصيل عدم التطابق
REPORT.mdتقرير النتائج التفصيلي

إعادة إنتاج الاختبار

cd rc-admin npm install npx tsx scripts/scrape-sailwave.ts # scrape fresh data npx tsx scripts/soak-test.ts <directory> # run verification

يحترم برنامج التقشير عناوين URL المُقشَّطة سابقاً (المتتبَّعة في sources.json) ولن يجلب إلا الصفحات الجديدة. يعمل مجموعة الاختبار بالكامل في أقل من 60 ثانية على البيانات المُقشَّطة.

جميع بيانات نتائج Sailwave مأخوذة من النتائج المنشورة للعامة على sailwave.com/results. Sailwave هي علامة تجارية لـ Jon Mayall. Flying Start غير منتسب لـ Sailwave.