Handoff artifact

Handoff artifact یه فایل یا داکیومنته که اطلاعات مهم یه Session رو نگه می‌داره تا Sessionهای بعدی بدون از دست دادن روند کار، پروژه رو ادامه بدن.

یه فایل یا داکیومنته که برای انتقال اطلاعات از یه Session به Session بعدی ساخته میشه.

مثلاً یه Spec، یه Ticket، یه فایل برنامه‌ریزی یا هر داکیومنتی که وضعیت پروژه رو توضیح بده، همشون می‌تونن Handoff artifact باشن.

دلیل وجودش هم خیلی ساده‌ست.

چون Model کاملا Statelessـه، وقتی یه Session تموم میشه یا Clearing انجام میدی، همه‌چیز از بین میره. تصمیم‌هایی که گرفته شده، محدودیت‌های پروژه، کارهایی که نصفه موندن یا هر چیزی که فقط داخل Context بوده، دیگه وجود نداره.

ولی فایل‌هایی که داخل Environment ذخیره شدن باقی می‌مونن.

پس به جای اینکه اطلاعات مهم فقط داخل Context بمونن، اونا رو داخل یه فایل می‌نویسی تا Session بعدی دوباره بخونتش و ادامه کار رو از همونجا انجام بده.

البته Handoff artifact خودش یه Secondary sourceـه، نه Primary source.

یعنی حقیقت پروژه نیست؛ فقط روایت اون Session از اتفاقاتیه که افتاده.

برای همین ممکنه یه چیزی رو اشتباه نوشته باشه یا یه جزئیات مهم رو جا انداخته باشه.

به خاطر همین، اگه یه ادعا واقعاً مهمه، Session جدید نباید کورکورانه قبولش کنه. بهتره بره از روی Primary source مثل خود کد یا تست‌ها بررسیش کنه.

یه Handoff artifact خوب باید طوری نوشته بشه که انگار کسی که قراره بخونتش، هیچ اطلاعی از پروژه نداره.

مثلا بیای مسیر دقیق فایلها رو ( File Path ) رو بنویسی.

یا فقط نگی که قبلا چه تصمیماتی گرفته شده و دلایل رو هم توضیح بدی تا Session بعدی دوباره نیاد همون بحث‌ها رو از اول شروع نکنه.

همچنین مشخص باشه چه کارهایی انجام شده، چه چیزهایی مونده و قدم بعدی چیه و این حرفا.

حتی بهتره موقع نوشتنش به Agent بگی این فایل برای یه Session کاملا جدیده که هیچ اطلاعاتی از این پروژه نداره. اون وقت داکیومنت کامل‌تر و مستقل‌تر می‌نویسه.

در کنار Handoff artifact یه روش دیگه هم برای انتقال اطلاعات وجود داره که اسمش Compactionـه. اون خلاصه رو داخل حافظه Context منتقل می‌کنه.

ولی Handoff artifact دو تا مزیت مهم داره.

اول اینکه روی دیسک ذخیره میشه و قبل از اینکه کسی ازش استفاده کنه، خودت می‌تونی بخونیش و اصلاحش کنی.

دوم اینکه می‌تونی همون فایل رو به چند Session مختلف بدی و مثلا پنج تا Agent مختلف همزمان از یه Spec یا Plan مشترک استفاده کنن.