Developer Page Specifications
Status Logic
IsActive / IsVerified / IsFeatured stored flags + Flavor enum (editorial vs founder-led).
مكتمل
حالة المؤسّس مُخَزَّنة، ليست محتسبة — لا واحدة من البوّابات تَشتقّ من الوقت. ثلاث علامات bool تَقود كل تَبديل سلوكي: IsActive (soft-delete + بوّابة النشر)، IsVerified (شارة التحقّق التحريري)، IsFeatured (spotlight). Flavor (editorial مقابل founder-led) هو enum صلب يُحَدِّد قواعد الملكية.
علامات الحالة
- IsActive
- افتراضي true عند الإنشاء. مضبوط على false لـ soft-delete (يُخفي من الاستعلامات العامة؛ يَحفظ إشارات cross-module). قابل للعكس. أبداً لا يُحذف-بشدّة — انظر عقيدة admin §10.10.
- IsVerified
- افتراضي false. مضبوط على true بعد التحقّق 3-بوّابات (صورة حقيقية + ≥1 شركة منشورة + LinkedIn مؤكَّد من المحرّر). يَقود شارة ✓ خضراء + يَظهر في فلاتر "Verified founders" عبر المنصّة. قابل للإلغاء حين الشروط الأساسية تَتغيَّر.
- IsFeatured
- طبقة spotlight تحريرية. يَقود شريط "Featured founders" في الصفحة الرئيسية + يَرفع في الفرز الافتراضي على صفحة القائمة. مضبوط ربعياً من القيادة التحريرية، ليس قابلاً للطلب.
- Flavor (enum)
- editorial | founder-led. يُحَدِّد الملكية: ملفات editorial مُتحكَّمة من الطاقم، ملفات founder-led تُتيح التحرير الذاتي عبر Founder Account. Flavor مضبوط عند الإنشاء ونادراً ما يَنقلب — حين يَفعل (مثلاً المؤسّس يَدّعي ملفه التحريري)، admin يجب أن يُشَغِّل النقل صراحةً.
مصفوفة قابلية النشر
- المؤسّس قابل-للاستعلام-عاماً حين IsActive=true و كلّ من صفي FounderLang.en + FounderLang.ar موجودان مع DisplayName + Headline + Bio معبَّأين.
- شارة Verified تَتطلّب IsVerified=true و AvatarUrl !== null و LinkedInUrl !== null.
- وسيلة التحرير founder-led تَتطلّب Flavor='founder-led' و viewer.userId === OwnerUserId و جلسة المستخدم نشطة.
