كشف «سجل تدقيق للإضافة فقط» ذكي مؤخرًا عن خطأين محاسبيين مهمين في «سبليتريل» (splitrail)، وهي أداة شائعة لتتبع الاستخدام لأدوات واجهة سطر الأوامر. يسلط هذا الاكتشاف الضوء على مدى أهمية التسجيل القوي للبيانات الدقيقة.
هل تساءلت يومًا عما إذا كانت أدوات تتبع الاستخدام الخاصة بك تخبرك بالقصة كاملة؟ حسنًا، يُظهر اكتشاف حديث لماذا يعد النهج الذكي لتسجيل البيانات في غاية الأهمية. اتضح أن «سجل تدقيق للإضافة فقط» بسيط قد ساعد للتو في الكشف عن خطأين محاسبيين خفيين في «سبليتريل» (splitrail)، وهو متتبع شهير مبني على لغة Rust لأدوات واجهة سطر الأوامر (CLIs). ماذا حدث بالضبط؟ جاءت المشكلة الرئيسية من كيفية تعامل بعض الأدوات، مثل «كلود كود» (Claude Code)، مع ملفات الجلسات الخاصة بها. عندما تستأنف محادثة أو تقوم بترتيبها، يمكن لهذه الأدوات في الواقع إعادة كتابة ملفات البيانات الخاصة بها في نفس المكان. هذا يعني أن سجلات استخدامك السابق، والتي تكبدتها بالفعل، يمكن أن تختفي ببساطة من الملفات التي تقرأها أدوات التتبع عادةً. تخيل أنك تدفع مقابل شيء ما، ثم يختفي سجل هذا الاستخدام تمامًا! أي متتبع للاستخدام يعيد قراءة هذه الملفات 'الحية' سيفقد هذه الإدخالات المحذوفة، مما يؤدي إلى إجماليات غير صحيحة. يمكن أن تتغير أرقامك من الأمس بين عشية وضحاها دون علمك. هذا بالضبط ما حدث لأحد المستخدمين الذي لاحظ اختفاء خمس من رسائل المساعد الخاصة به من «كلود كود» بين عمليتي مسح لنفس الملف. كان الاستخدام موجودًا، ثم اختفى من السجلات. بفضل سجل التدقيق الذي يعتمد على الإضافة فقط، والذي يحتفظ بكل معرف رسالة ولا يسمح أبدًا بإعادة كتابة التاريخ، تم اكتشاف هذا التناقض. الخبر السار هو أنه تم إصلاح كلا الخطأين بسرعة، في غضون اثني عشر يومًا من الإبلاغ عنهما. جاء أحد الإصلاحين من المستخدم الذي أبلغ عنه، والآخر من القائم على الصيانة بناءً على التحليل المقدم. تضمن الحل الرئيسي إضافة قاعدة بيانات محلية (SQLite) إلى «سبليتريل». تخزن هذه الميزة الجديدة بيانات الاستخدام بشكل دائم وتدمجها مع معلومات الجلسة الحالية، مما يضمن عدم اختفاء أي استخدام إذا تم تعديل الملفات الأصلية. ماذا يعني هذا بالنسبة لك؟ إنه تذكير واضح بأن الأنظمة التي تعتمد على بيانات تتغير باستمرار يمكن أن تخفي بسهولة معلومات غير دقيقة. بالنسبة للمطورين، يؤكد ذلك على قيمة تنفيذ تسجيل قوي وغير قابل للتغيير – فسجل بسيط يضيف بيانات جديدة فقط، ولا يغير البيانات القديمة أبدًا، يمكن أن يوفر الكثير من المتاعب ويضمن سلامة البيانات. أما بالنسبة للمستخدمين، فهذا يعني تتبع استخدام أكثر موثوقية، مما يمنحك صورة حقيقية لاستهلاكك للموارد دون مفاجآت خفية.