چطور قبل از ادغام یک PR، دو بار رد شدم
من سعی کردم در Awesome Second Brain مشارکت کنم. Awesome Second Brain یک منبع متنباز برای سیستمهای حافظه و دانش مبتنی بر هوش مصنوعی است. این پروژه بیش از ۲۰۰ ستاره دارد و قوانین بسیار سختگیرانهای دارد. من یک پشته (stack) پیچیده را ارسال کردم: Hermes Agent، Obsidian و Honcho.
من دو بار شکست خوردم. سه مرحله اصلاح لازم بود تا درخواست ادغام (pull request) من پذیرفته شود. در اینجا به آنچه اشتباه انجام دادم و آنچه آموختم میپردازم.
۱. به جای مستندات، به حافظهام تکیه کردم من یک راهنمای راهاندازی با استفاده از دستوراتی نوشتم که فکر میکردم وجود دارند. فرض کردم یک فایل تنظیمات (config file) در پوشه خاصی قرار دارد. فرض کردم یک اسکریپت CLI در دسترس است. اشتباه میکردم. هیچکدام وجود نداشتند.
درس: هرگز دستوری را از روی حافظه ننویسید. مستندات رسمی را باز کنید. صفحه دقیق را پیدا کنید. دستور دقیق را کپی کنید. اگر نمیتوانید آن را پیدا کنید، آن را وارد نکنید.
۲. متادیتای نادرست داشتم نام شرکتها را اشتباه گرفتم. فکر میکردم Plastic Labs سازنده Obsidian است، در حالی که نیست. ادعا کردم که کل این پشته متنباز است، اما اینطور نیست. Obsidian و AgentMail انحصاری (proprietary) هستند.
درس: هر جزئیاتی را تأیید کنید. نگهدارنده (maintainer)، لایسنس و وضعیت مخزن (repo) را بررسی کنید. حدس نزنید.
۳. ادعاهای کلی بدون مدرک کردم ادعا کردم که این پشته «کاملاً محلی» (all local) است. این ادعا غلط بود چون AgentMail یک سرویس میزبانیشده (hosted service) است. ادعا کردم که «رایگان» است. این هم غلط بود چون سرویسهای میزبانیشده هزینه دارند.
درس: اظهارات خود را دقیق و مشروط کنید. اگر ادعایی برای تمام بخشهای پشته صادق نیست، حتماً ذکر کنید. از عباراتی مانند «بسته به هر جزء متفاوت است» استفاده کنید. صداقت بهتر از کلیگویی است.
۴. ابتدا دستورالعملها را نخواندم من قوانین مشارکت را بعد از اولین رد شدنم خواندم. باید قبل از شروع آنها را میخواندم.
درس: قوانین را دو بار بخوانید. آنها برای صرفهجویی در زمان شما و زمان نگهدارنده وجود دارند.
جمعبندی نهایی رد شدن دردناک است. اما بازخوردها منصفانه و قابل اجرا بودند. نسخه نهایی بهتر است چون دقیق و منسجم است. قبل از اینکه سعی کنید کارهای خیلی بزرگ انجام دهید، روی مشارکتهای کوچک و صحیح تمرکز کنید.
Optional learning community: https://t.me/GyaanSetuAi