آخرین بهروزرسانی: 2026-09-07
- اجرای اصلی Daily روی GitHub Actions از 2026-09-06/07 در لبهٔ
x.comبا پاسخ Cloudflare403روبهرو است؛ این failure پیش از دریافت GraphQL و مستقل از اعتبار cookie مشاهده شده است. - Nightly Fanfic Digest در همین بازه سالم اجرا شده، بنابراین outage به runtime اصلی X محدود است و بهعنوان COMPLETE یا پنجرهٔ خالی معتبر ثبت نمیشود.
- نسخهٔ curl/browser-TLS کتابخانه نیز روی GitHub-hosted runner همان Cloudflare challenge را دریافت کرده است؛ بنابراین ارتقای dependency بهتنهایی recovery محسوب نمیشود.
- تا زمان اثبات یک egress سالم، preflight آفلاین باید اسکن X را fail-fast کند، cursor را جلو نبرد و همهٔ منابع را صریحاً failed/unproven نگه دارد. آزمایش میزبان جایگزین فقط بهصورت ناشناس و بدون انتقال cookie/secret انجام میشود.
- محیط اجرا: GitHub Actions؛ بدون Render و بدون نیاز به کارت بانکی
- شاخهٔ production:
main - اجرای دستیار: cron تقریباً هر پنج دقیقه، بدون self-dispatch loop و با یک quiet window کوتاه اطراف nightly
- فیک شبانه: هر روز ساعت ۲۲:۰۰ تهران (
18:30 UTC) - مدل اصلی ترجمه:
gemini-3.5-flash-lite(با fallback محدود بهgemini-3.1-flash-lite) - مقصد: فقط چت خصوصی review؛ autopublish عمومی وجود ندارد
- اجرای کامل Daily روی main: Telegram، X و Gemini سالم؛ ChannelStyle primary با 16,306 نمونه؛ encrypted recovery artifact ساخته و آپلود شد.
- اجرای کامل Nightly Fanfic روی main:
x=13،ao3_pool=48وao3_list=36؛ تحویل هر دو لیست X و AO3 تأیید شد. - آخرین اصلاح پایداری و delivery: delivery فیک به revision منتشرشده متصل شد تا retry همان نسخه تکراری نفرستد.
- workflowهای Daily و Fanfic از یک concurrency group استفاده میکنند و state مشترک را همزمان نمینویسند.
- اجرای موفق فیک همان روز مانع auto-dispatch تکراری بعد از commitهای مستنداتی میشود.
- Telegram hard dependency است؛ X و Gemini در preflight بهصورت صریح سالم یا degraded گزارش میشوند.
- خطای quota ترجمه یک deadline تصاعدی و پایدار میسازد؛ آپدیت خام ارسال/seen نمیشود و تا بازشدن سهمیه در صف میماند.
- هر ویدیوی X پیش از ارسال با
ffprobeاعتبارسنجی و به MP4 سازگار با Telegram/iOS وfaststartنهایی میشود؛ duration، ابعاد و thumbnail صریح همراهsendVideoفرستاده میشوند و کش ویدیوهای ناسالم قدیمی versioned شده است. - کلید recovery در log mask میشود. اگر secret اختصاصی وجود نداشته باشد، workflow یک کلید پایدار از bot token مشتق میکند.
- ciphertext artifact روی cadence محدود و با retention سهروزه ذخیره میشود؛ plaintext state آپلود نمیشود.
پس از باز کردن لینک عمومی بات، این فرمانهای غیرمخرب را بفرستید: /start، /status و /fic. این مرحله ظاهر منو و دسترسی حساب خودتان را تأیید میکند؛ هیچ تست خودکار نمیتواند جای لمس واقعی UI با اکانت مالک را بگیرد.
جزئیات rollback، چرخش کلید و recovery در audit/OPERATIONS_RUNBOOK.md است.