مدلهای تازه، کل نقشهٔ راه شما را ساعتها و حتی روزها بدون گمکردن رشتهٔ کار پیش میبرند. دقیقاً به همین دلیل است که انحراف وضعیت بیشتر اهمیت پیدا میکند، نه کمتر: هر چه عامل میان نقاط بازبینی شما کار بیشتری انجام دهد، احتمال آنکه وضعیت ثبتشدهاش بیسروصدا با git ناهمخوان شود بالاتر میرود. casp check همان دروازهٔ قطعی است که بهمحض رخ دادن این ناهمخوانی پوش را مسدود میکند — با Claude Code امروز، و با هر مدلی که فردا عرضه شود.
پس از یک هفته به پروژه برمیگردید — یا همزمان پنج پروژه را پیش میبرید. عامل، فایل وضعیتی را میخواند که دیگر با واقعیت همخوان نیست، با اطمینان کاری را آغاز میکند که پیشتر تحویل شده، و شما یک بعدازظهر را صرف خنثی کردنش میکنید.
تختهها، کارتها و صفحهگستردهها نجاتتان نمیدهند: بازسازی بافتار دستی است و عامل هیچیک را نمیتواند بخواند. وضعیت باید ماشینخوان و بومی git باشد — و درستیاش قابل اثبات.
CASP به هر پروژه یک رشتهٔ واحد میدهد که از یک نشست به نشست بعد دوام میآورد — و نمیتواند بیسروصدا منحرف شود.{
"phase": "13 — camera streaming",
"next_prompt": "phases/14-camera.md",
// shipped in v13.4
"last_commit": "a1f3c9",
// not in git history
"migrations": ["0001"…"0007"],
// git stops at 0006
}
فضای مجاور — Mem0، Letta، Zep و پروژههای تازهٔ «حافظهٔ» بومی git — همگی آنچه رخ داده را ذخیره میکنند. تقریباً هیچکدام راستیآزمایی نمیکنند که وضعیت ذخیرهشده هنوز با واقعیت git همخوان است. آن راستیآزمایی همان casp check است — و پیش از هر پوش الزامی است.
مقدار next_prompt شما به فایلی اشاره میکند که پیشتر تحویل شده — یا اصلاً وجود ندارد. CASP از آغاز نشست اشتباه سر باز میزند.
نبود last_commit در تاریخچه، ناهمگامیِ فهرست مهاجرتها، وضعیت کامیتنشده — همه در برابر خود git سنجیده میشوند، نه با حدس.
هیچ امتیاز شباهت مبهمی در کار نیست. یک دروازهٔ سخت و تکرارپذیر با نتیجهٔ قبول/رد که تا زمانی که وضعیت دروغ میگوید پوش را متوقف میکند.
CASP هیچچیزی را در گردشکار شما جایگزین نمیکند. تنها شکافی را پر میکند که هیچ ابزار دیگری پوشش نمیدهد — زمانِ حالِ تأییدشدهٔ یک پروژه، در قالبی که عامل شما میتواند بخواند و بر پایهاش عمل کند.
نه پایگاه داده. نه سرویس. نه انبار برداری. سه فایل ساده که عامل میتواند آنها را در نخستین خط هر نشست بخواند.
ماشینخوان، برای هر پروژه: فاز کنونی، فاز بعدی، پرامپت بعدیِ دقیق برای اجرا، فازهای تحویلشده، مهاجرتهای اعمالشده، آخرین کامیت، شناسهٔ آخرین نشست.
همان «هماکنون کجا هستم» در یک صفحه. بازش کنید، در پنج ثانیه رشتهٔ کار را بازیابید — بدون کاوش باستانشناسانه.
سه مورد بعدی برای تحویل بهعلاوهٔ تابلوی امتیاز فازها. عامل همیشه ترتیب کار را میداند.
session-prompt، session-log و audit-brief به این معناست که هر نشست — انسانی یا عاملی — مصنوعاتی همشکل تولید میکند. ساختار الزامشده است، نه پیشنهادشده.یک محصول واقعی تنها یک قابلیت نیست. دهها فاز در سراسر API، کلاینت وب و موبایل است که طی هفتهها بهدست نشستها و عاملهایی که جای هم را میگیرند تحویل میشود. CASP یک ترتیب تأییدشدهٔ واحد را در سراسر همهٔ آنها نگه میدارد — تا هر عاملی بداند فاز بعدی کدام است، و هرگز فازی تحویلشده را دوباره تحویل ندهد.
و حلقه خودش را میبندد: در پایان هر نشست، عامل پرامپت نشست بعدی را برایتان مینویسد — شما یک خط را تنظیم میکنید، نه آنکه از صفر بنویسید — یک گزارش نشست میافزاید و وضعیت را بهروز میکند. نشست بعدی را باز کنید و دقیقاً از همانجا که نشست پیشین متوقف شد ادامه میدهد. نقشهٔ راه اجرا میشود؛ شما نظارت میکنید.
هر عددِ زیر مستقیماً از state.json هر پروژه خوانده میشود — همان فایلی که عامل میخواند، تأییدشده در برابر git در آخرین پوش. بدون هیچ حسابوکتاب بازاریابی.
یک ERP مدیریت ناوگان رو به مشتری برای یک شرکت حملونقل در ساحل عاج — وب + موبایل، چندماژوله، چندنقشه: رانندگان، خودروها، انطباق، صندوق، تعمیرگاه، دعاوی، حسابداری.
هر ماژول یک فاز تأییدشده است. عامل کابین خلبان را میخواند، فاز بعدی را از next_prompt اجرا میکند، و هرگز ماژولی تحویلشده را دوباره تحویل نداده است — حتی در روزی با شش نشست.
پلتفرم داخلی عملیات و هماهنگی راهاندازی برای ZeroSuite — یک نقشهٔ راه چندماهه که یک تیم واقعی پیش میبرد، با دروازهگذاری در حالت راهاندازی و یک فهرست کار پس از راهاندازیِ دنبالشده.
یک رشتهٔ تأییدشدهٔ واحد در سراسر بیش از ۴۰ فاز و سه نفر — بهعلاوهٔ ۵۸ مورد که آشکارا به پس از راهاندازی موکول شدند، بیآنکه حتی یکی گم شود. این همان حالتِ «پروژهٔ بزرگ چندکاربره» است که CASP برای آن ساخته شد.
یک پروتکل، دو محصول بسیار متفاوت. کابین خلبان تنها چیزی است که در آن مشترکاند.
ابزارهای حافظه بهخاطر میسپارند که شما کی هستید. CASP دنبال میکند که پروژهٔ شما کجا ایستاده — و آن را اثبات میکند. مصنوع متفاوت، عملکرد متفاوت، و خرابیِ متفاوتی که جلویش را میگیرد.
یکهجایی، بدون همنگاره، یکسان در انگلیسی، فرانسوی یا اسپانیایی.
state.next_prompt آغاز میکند.CASP دستورهای اسلش Claude Code را ارائه میدهد تا وضعیت همانجا که شما کار میکنید زندگی کند.
وضعیت فقطخواندنی — عامل پیش از نوشتن حتی یک خط، رشتهٔ کنونی را میخواند.
نشست بعدی را مستقیماً از state.next_prompt بهطور خودکار آغاز میکند. بدون کپیوپیست، بدون حدس.
سازگار با Claude Code · Cursor · Aider · Continue — هر چیزی که فایل میخواند.
یک عامل که کار اشتباهی انجام دهد یک بعدازظهر هزینه دارد. صد عامل که همان کار را در صد مخزن انجام دهند یک فصل هزینه دارند. CASP همان حفاظ قطعی است که در حلقهٔ خودکارسازی میگذارید — با همان شکل در هر پروژه.
casp check در همان جایگاهِ lint و تستها مینشیند. وضعیتی که دروغ میگوید نمیتواند merge شود — انحراف در سطح سازمان مسدود میشود، نه واگذار به نظموانضباط این و آن.
عاملهای خودگردان اشتباهها را چند برابر میکنند. CASP به هر کدام همان رشتهٔ تأییدشده را برای خواندن و همان دروازهٔ سخت را پیش از پوش میسپارد. خودکارسازی بدون مالیاتِ کار دوباره.
هر گذارِ وضعیت یک کامیت git است. سندی کامل، قابلمقایسه و قابلبازگشت از اینکه هر پروژه چگونه پیش رفته — git log همان ردِ انطباق شماست.
فقط محلی، بدون تلهمتری، بدون ابر، بدون حساب کاربری. چیزی برای وارسی نیست، چیزی برای خروج غیرمجاز نیست. بازبینی امنیتی در یک خط خلاصه میشود: هرگز دستگاه را ترک نمیکند.
jobs: state-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: { fetch-depth: 0 } # casp checks against full git history - run: npx @justethales/casp check # ✗ fails the build the moment state drifts
یک پروتکل، هر مخزن. همان شکل تأییدشده، در سراسر سازمان.
یک پروتکل با پیشبینیپذیر بودن پذیرش مییابد. اینها خم نمیشوند.
CASP آنچه را که مخزن شما هست بررسی میکند، نه آنچه را که قصد انجامش را داشتید. حقایق در برابر git، هر بار.
مصنوعات متعارف الزامشدهاند، نه پیشنهادشده. هر نشست با همان شکل بیرون میآید.
اعتبارسنج اختیاری نیست. وضعیتی که دروغ میگوید هرگز به ریموت شما نمیرسد.
قطعی، بومی git، فقط محلی. بدون تلهمتری. بدون ابر، بدون حساب کاربری، بدون صورتحساب.
نصب کنید، init بزنید، و عامل شما حقیقت را در نخستین خطش میخواند.
$ npm i -g @justethales/casp $ casp init # scaffold the layer $ casp status # where am I right now $ casp check # prove the state is true