فورمن؛ ایجنتی که ساختارش رو از فایلسیستم میگیره
خلاصهٔ کاملتر
تو مستندات فورمن اومده که این سیستم یه ایجنت اصلی روی فریمورک eve هست بهعلاوهٔ پنج زیرایجنت: چهار ایستگاه پشت سر هم به اسمهای Classifier و Analyst و Implementer و Reviewer، و یه Researcher اختیاری که فقط وقتی کار به یه واقعیت بیرونی وابسته باشه قبل از Analyst اجرا میشه. ورودی از سه جا میاد — وبهوک گیتهاب، سشنهای ایجنت Linear و درخواستهای لوکال — و ارکستریتور — یعنی همون ایجنت اصلی که کار رو بین ایستگاهها پخش میکنه — در نهایت یه pull request میسازه.
جالبترین تصمیم اینه که تو eve هویت از روی فایلسیستم خونده میشه، نه از یه فیلد name. فایل agent/tools/read_factory_brain.ts یعنی ابزار read_factory_brain و پوشهٔ agent/subagents/classifier/ یعنی ابزار classifier. پس عوض کردن اسم یه چیز یعنی جابهجا کردن فایلش، و کل کاری که ایجنت بلده رو میشه فقط با نگاه کردن به درخت پوشهها فهمید.
مرز ساختاری اول اینه که ایستگاهها هیچی ارث نمیبرن: هر زیرایجنت تو یه نشست بچهٔ تازه بالا میاد، بدون دستورها، مهارتها، کانکشنها، ابزارها و سندباکس ریشه — سندباکس یعنی همون محیط اجرای ایزولهای که کد توش اجرا میشه. یعنی ارکستریتور باید هرچی ایستگاه لازم داره رو خودش تو پیام delegation بذاره: متن کار عیناً، بهعلاوهٔ خروجی همهٔ مرحلههای قبل. سندهای طولانی تنها استثنان و بهجای inline شدن با شناسهٔ handoff artifact رد و بدل میشن.
مرز دوم اینه که اعتماد سر dispatch مهر میخوره. هر کانال از روی وبهوک امضاشده تصمیم میگیره تماسگیرنده کیه — قبل از اینکه مدل حتی چیزی بخونه — و اون تصمیم رو تو auth نشست مینویسه. هیچجای پاییندست دوباره از روی محتوای قابلخوندن مدل اعتماد رو حساب نمیکنه، چون دقیقاً همون محتوا چیزیه که مهاجم کنترلش میکنه. agent/lib/trust.ts تنها مرجع خوندن این مهرهاست.
مرز سوم سندباکسه. Analyst و Implementer و Reviewer هرکدوم sandbox.ts خودشونو دارن و یه کلون جدا از FACTORY_REPO میگیرن؛ Classifier و Researcher سراغش نمیرن و با یه /workspace خالی کار میکنن. نسخهٔ Reviewer وزن بیشتری داره چون برنچ پوششده رو داخل یه چکاوت تمیز fetch میکنه، پس دقیقاً همون چیزی رو مرور میکنه که واقعاً پوش شده، نه working tree ایجنت Implementer.
نکات کلیدی:
- فورمن یه ایجنت اصلی eve با پنج زیرایجنت، سه کانال ورودی و دو انبار دائمیه.
- ۳۱ ابزار github__* تو لیست مجاز هست که ۱۲تاشون پشت گیت تأیید قرار دارن؛ نوشتن روی Linear هم تو اجراهای بدون ناظر رد میشه.
- git همیشه آدرس کامل مخزن رو صدا میزنه نه origin، چون تنظیمات remote داخل سندباکس برای مدل قابلنوشتنه.
- کلون مخزن و FACTORY_SETUP_COMMAND یه بار سر ساخت template اجرا میشن و هر نشست فقط هزینهٔ یه fetch رو میده.
- فقط سه چیز از یه اجرا باقی میمونه: factory brain، ترجیحات کاربر و handoff artifactها؛ تاریخچهٔ گفتگو نه، چون هر dispatch یه نشست تازهست.
- حلقهٔ رفع خطای CI سقف ۲ تلاش داره و چون حافظهای بین اجراها نیست، تعداد تلاشها رو از روی کامنتهای خودش تو ترد pull request میشمره.




