متدولوژی تقویم ما
موتور تقویم ما الگوریتمهای نجومی و مذهبی قطعی را با راستیآزمایی مداوم در برابر قوانین اصلی دولت و مصوبات قانونی ترکیب میکند.
۱. موتور چند تقویمی قطعی
تعطیلات رسمی در سراسر جهان از سیستمهای متنوع ریاضی و فرهنگی پیروی میکنند. پایپلاین ما چهار مکانیزم اصلی تقویم را مدلسازی میکند:
تاریخهای ثابت میلادی: روزهای ملی و سالگردهای تاریخی که در تاریخهای تقویم ثابت قرار میگیرند (مثلاً ۴ جولای، ۱ ژانویه).
محاسبات نجومی و اعتدالی: انقلابین، اعتدالین و اصطلاحات خورشیدی که با استفاده از مختصات دقیق سماوی محاسبه میشوند.
تقویمهای قمری و شمسی-قمری: تقویم هجری قمری اسلامی، سال نو چینی، دیوالی و مراسم بودایی که از طریق مدلهای استاندارد رویت فاز ماه محاسبه شده و در برابر بیانیههای مرجع مذهبی ملی راستیآزمایی میشوند.
الگوریتمهای کامپوتوس: چرخههای عید پاک غربی (میلادی) و ارتدوکس شرقی (ژولینی) و اعیاد متحرک وابسته به آنها (جمعه نیک، عید صعود، دوشنبه سفید، کورپوس کریستی).
۲. قوانین مصوب و احکام رسمی
مدلهای ریاضی تاریخهای خام را ارائه میدهند، اما قوانین مصوب استراحت قانونی را دیکته میکنند. ما هر رویداد محاسبهشده را با ابزارهای حقوقی اصلی مطابقت میدهیم: کدهای کارگری ملی، مصوبات پارلمانی، روزنامههای رسمی دولتی و فرامین اجرایی.
جایی که کتابخانههای استاندارد اصلاحات قانونی را حذف میکنند یا از قوانین قدیمی استفاده میکنند، رجیستر لغو دستی ما (data/holiday-overrides.ts) اصلاحات قانونی تأییدشده را اعمال میکند.
۳. روزهای جایگزین و مدلسازی تغییر آخر هفته
یکی از حیاتیترین جنبههای برنامهریزی تعطیلات، تعیین اتفاقی است که وقتی یک تعطیلی رسمی با آخر هفته مصادف میشود رخ میدهد.
موتور ما به طور سیستماتیک قوانین جبرانی ملی را رمزگذاری میکند: انتقال خودکار به دوشنبه بعد (مثلاً بریتانیا، استرالیا، ایالات متحده)، انتقال به جمعه قبل، یا قوانین روز کاری قابل دسترس بعدی (مثلاً آلبانی، آفریقای جنوبی)، که شمارش دقیق روزهای کاری را تضمین میکند.
۴. ممیزیهای قانونی مستمر و تست رگرسیون
هر تقویم کشوری مشمول اعتبارسنجی خودکار اسنپشات (npm run holidays:validate:snapshots) برای جلوگیری از رگرسیون است، در حالی که پایپلاین نظارت مداوم ما قوانین تازه وضعشده، تعطیلات بانکی یکباره، و احکام سلطنتی یا ریاستجمهوری را در سراسر جهان ردیابی میکند.