Coding-Agent State Protocol

مدل، بافتار را نگه می‌دارد. CASP اثبات می‌کند که وضعیت درست است — در برابر git.

مدل‌های تازه، کل نقشهٔ راه شما را ساعت‌ها و حتی روزها بدون گم‌کردن رشتهٔ کار پیش می‌برند. دقیقاً به همین دلیل است که انحراف وضعیت بیشتر اهمیت پیدا می‌کند، نه کمتر: هر چه عامل میان نقاط بازبینی شما کار بیشتری انجام دهد، احتمال آنکه وضعیت ثبت‌شده‌اش بی‌سروصدا با git ناهمخوان شود بالاتر می‌رود. casp check همان دروازهٔ قطعی است که به‌محض رخ دادن این ناهمخوانی پوش را مسدود می‌کند — با Claude Code امروز، و با هر مدلی که فردا عرضه شود.

بازبینی پیش از پرواز + جعبهٔ سیاه برای نشست‌های کدنویسی با هوش مصنوعی
$npm i -g @justethales/casp کپی
مشاهده در GitHub
casp check — اعتبارسنج انحراف
01 / رشته‌ای که مدام گم می‌کنید

یک فایل وضعیت کهنه، عامل شما را با اطمینان به اشتباه می‌اندازد.

پس از یک هفته به پروژه برمی‌گردید — یا هم‌زمان پنج پروژه را پیش می‌برید. عامل، فایل وضعیتی را می‌خواند که دیگر با واقعیت همخوان نیست، با اطمینان کاری را آغاز می‌کند که پیش‌تر تحویل شده، و شما یک بعدازظهر را صرف خنثی کردنش می‌کنید.

تخته‌ها، کارت‌ها و صفحه‌گسترده‌ها نجاتتان نمی‌دهند: بازسازی بافتار دستی است و عامل هیچ‌یک را نمی‌تواند بخواند. وضعیت باید ماشین‌خوان و بومی git باشد — و درستی‌اش قابل اثبات.

CASP به هر پروژه یک رشتهٔ واحد می‌دهد که از یک نشست به نشست بعد دوام می‌آورد — و نمی‌تواند بی‌سروصدا منحرف شود.
state.json ● DRIFTED
{
  "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
}
02 / تفاوت تعیین‌کننده

همه بافتار را ذخیره می‌کنند. CASP آن را تأیید می‌کند.

فضای مجاور — Mem0، Letta، Zep و پروژه‌های تازهٔ «حافظهٔ» بومی git — همگی آنچه رخ داده را ذخیره می‌کنند. تقریباً هیچ‌کدام راستی‌آزمایی نمی‌کنند که وضعیت ذخیره‌شده هنوز با واقعیت git همخوان است. آن راستی‌آزمایی همان casp check است — و پیش از هر پوش الزامی است.

انحراف next-prompt
شناسایی‌شده

مقدار next_prompt شما به فایلی اشاره می‌کند که پیش‌تر تحویل شده — یا اصلاً وجود ندارد. CASP از آغاز نشست اشتباه سر باز می‌زند.

حقیقت مرجع git
الزام‌شده

نبود last_commit در تاریخچه، ناهمگامیِ فهرست مهاجرت‌ها، وضعیت کامیت‌نشده — همه در برابر خود git سنجیده می‌شوند، نه با حدس.

پوش، مسدود
قطعی

هیچ امتیاز شباهت مبهمی در کار نیست. یک دروازهٔ سخت و تکرارپذیر با نتیجهٔ قبول/رد که تا زمانی که وضعیت دروغ می‌گوید پوش را متوقف می‌کند.

03 / در کنار ابزارهای کنونی شما

git، PRها و CI نمی‌دانند چه چیزی بعد تحویل می‌شود.

CASP هیچ‌چیزی را در گردش‌کار شما جایگزین نمی‌کند. تنها شکافی را پر می‌کند که هیچ ابزار دیگری پوشش نمی‌دهد — زمانِ حالِ تأییدشدهٔ یک پروژه، در قالبی که عامل شما می‌تواند بخواند و بر پایه‌اش عمل کند.

Jira · Linear
قصد
آنچه قصد انجامش را دارید.
از واقعیت منحرف می‌شود، در ابر زندگی می‌کند، و عامل شما نمی‌تواند آن را به‌طور قابل‌اتکا بخواند.
CASP
حالِ تأییدشده
اینکه پروژه هم‌اکنون کجا ایستاده — و گام بعدی دقیق، اثبات‌شده در برابر git.
ماشین‌خوان، درون مخزن، قطعی. همان رشتهٔ واحدی که عامل‌ها بر پایه‌اش عمل می‌کنند.
git · PR · CI
تاریخچه و راستی‌آزمایی
چه چیزی تغییر کرد · آیا بازبینی شده · آیا ساخته می‌شود.
سندی بی‌نقص از گذشته — و خاموش دربارهٔ آنچه بعد می‌آید.
04 / سه فایل. یک رشته.

کل پروتکل در مخزن شما جا می‌شود.

نه پایگاه داده. نه سرویس. نه انبار برداری. سه فایل ساده که عامل می‌تواند آن‌ها را در نخستین خط هر نشست بخواند.

state.json
منبع حقیقت

ماشین‌خوان، برای هر پروژه: فاز کنونی، فاز بعدی، پرامپت بعدیِ دقیق برای اجرا، فازهای تحویل‌شده، مهاجرت‌های اعمال‌شده، آخرین کامیت، شناسهٔ آخرین نشست.

now.md
برای انسان‌ها

همان «هم‌اکنون کجا هستم» در یک صفحه. بازش کنید، در پنج ثانیه رشتهٔ کار را بازیابید — بدون کاوش باستان‌شناسانه.

roadmap.md
آنچه بعد تحویل می‌شود

سه مورد بعدی برای تحویل به‌علاوهٔ تابلوی امتیاز فازها. عامل همیشه ترتیب کار را می‌داند.

قالب‌ها دروازه‌اند، نه راهنمایی.  قالب‌های متعارف session-prompt، session-log و audit-brief به این معناست که هر نشست — انسانی یا عاملی — مصنوعاتی هم‌شکل تولید می‌کند. ساختار الزام‌شده است، نه پیشنهادشده.
05 / ساخته‌شده برای نقشه‌های راه بزرگ

یک رشتهٔ مرتب در سراسر چهل فاز — وب و موبایل.

یک محصول واقعی تنها یک قابلیت نیست. ده‌ها فاز در سراسر API، کلاینت وب و موبایل است که طی هفته‌ها به‌دست نشست‌ها و عامل‌هایی که جای هم را می‌گیرند تحویل می‌شود. CASP یک ترتیب تأییدشدهٔ واحد را در سراسر همهٔ آن‌ها نگه می‌دارد — تا هر عاملی بداند فاز بعدی کدام است، و هرگز فازی تحویل‌شده را دوباره تحویل ندهد.

و حلقه خودش را می‌بندد: در پایان هر نشست، عامل پرامپت نشست بعدی را برایتان می‌نویسد — شما یک خط را تنظیم می‌کنید، نه آنکه از صفر بنویسید — یک گزارش نشست می‌افزاید و وضعیت را به‌روز می‌کند. نشست بعدی را باز کنید و دقیقاً از همان‌جا که نشست پیشین متوقف شد ادامه می‌دهد. نقشهٔ راه اجرا می‌شود؛ شما نظارت می‌کنید.

roadmap.md — تابلوی امتیاز فازها ۱۳ تحویل‌شده ۲۲ در کل
10apiموتور همگام‌سازی بی‌درنگتحویل‌شده
11mobileاعلان‌های pushتحویل‌شده
12mobileحافظهٔ نهان آفلاین‌محورتحویل‌شده
13webدسترسی‌های تیمیتحویل‌شده
15apiصورت‌حساب به‌ازای هر کاربردر صف
16mobileورود زیست‌سنجشیدر صف
/ در تولید

یک دمو نیست. امروز دو محصول زنده روی CASP کار می‌کنند.

هر عددِ زیر مستقیماً از state.json هر پروژه خوانده می‌شود — همان فایلی که عامل می‌خواند، تأییدشده در برابر git در آخرین پوش. بدون هیچ حساب‌وکتاب بازاریابی.

LIVE

یک ERP مدیریت ناوگان رو به مشتری برای یک شرکت حمل‌ونقل در ساحل عاج — وب + موبایل، چندماژوله، چندنقشه: رانندگان، خودروها، انطباق، صندوق، تعمیرگاه، دعاوی، حسابداری.

25+
فاز تحویل‌شده
20+
مهاجرت دنبال‌شده
6
نشست در یک روز

هر ماژول یک فاز تأییدشده است. عامل کابین خلبان را می‌خواند، فاز بعدی را از next_prompt اجرا می‌کند، و هرگز ماژولی تحویل‌شده را دوباره تحویل نداده است — حتی در روزی با شش نشست.

LIVE

پلتفرم داخلی عملیات و هماهنگی راه‌اندازی برای ZeroSuite — یک نقشهٔ راه چندماهه که یک تیم واقعی پیش می‌برد، با دروازه‌گذاری در حالت راه‌اندازی و یک فهرست کار پس از راه‌اندازیِ دنبال‌شده.

41
فاز تحویل‌شده
17
مهاجرت
3
اپراتور

یک رشتهٔ تأییدشدهٔ واحد در سراسر بیش از ۴۰ فاز و سه نفر — به‌علاوهٔ ۵۸ مورد که آشکارا به پس از راه‌اندازی موکول شدند، بی‌آنکه حتی یکی گم شود. این همان حالتِ «پروژهٔ بزرگ چندکاربره» است که CASP برای آن ساخته شد.

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

06 / وضعیت، نه حافظه

CASP یک لایهٔ حافظهٔ هوش مصنوعی نیست.

ابزارهای حافظه به‌خاطر می‌سپارند که شما کی هستید. CASP دنبال می‌کند که پروژهٔ شما کجا ایستاده — و آن را اثبات می‌کند. مصنوع متفاوت، عملکرد متفاوت، و خرابیِ متفاوتی که جلویش را می‌گیرد.

CASP
لایه‌های حافظه · Mem0 / Letta / «soul» بومی git
چه چیزی را در خود دارد
وضعیت اجرای پروژه
حقایق و ترجیحات کاربر
عملکرد اصلی
در برابر git تأیید می‌کند
ذخیره و بازخوانی می‌کند
هنگام تعارض
بررسی قطعی در برابر حقیقت مرجع
حدس شباهت مبهم
چه زمانی اجرا می‌شود
دروازهٔ هم‌زمان — پوش را مسدود می‌کند
بازخوانی نامتقارن / در نهایت
از دستگاه شما خارج می‌شود
هرگز · بدون تله‌متری
متغیر / ابری
07 / میز فرماندهی

پنج فعل. بی‌زحمت تایپ می‌شوند.

یک‌هجایی، بدون هم‌نگاره، یکسان در انگلیسی، فرانسوی یا اسپانیایی.

casp initلایهٔ پیوستگی را در هر مخزنی برپا می‌کند.
casp statusنمای آنیِ یک‌صفحه‌ای: فاز، بعدی، آنچه تحویل شده.
casp checkاعتبارسنج انحراف. پیش از هر پوش الزامی است.
casp nextنشست بعدی را به‌طور خودکار از state.next_prompt آغاز می‌کند.
casp new promptیک session-prompt دروازه‌دار از قالب متعارف می‌سازد.
casp new logیک session-log را در همان شکلی که هر نشست به اشتراک می‌گذارد باز می‌کند.
08 / در ویرایشگر شما

دستورهای اسلش بومی برای عامل شما.

CASP دستورهای اسلش Claude Code را ارائه می‌دهد تا وضعیت همان‌جا که شما کار می‌کنید زندگی کند.

/casp

وضعیت فقط‌خواندنی — عامل پیش از نوشتن حتی یک خط، رشتهٔ کنونی را می‌خواند.

/next

نشست بعدی را مستقیماً از state.next_prompt به‌طور خودکار آغاز می‌کند. بدون کپی‌وپیست، بدون حدس.

سازگار با Claude Code · Cursor · Aider · Continue — هر چیزی که فایل می‌خواند.

09 / برای سازمان‌های مهندسی

وقتی عامل‌ها بدون نظارت کار می‌کنند، انحراف به مسئله‌ای در سطح ناوگان بدل می‌شود.

یک عامل که کار اشتباهی انجام دهد یک بعدازظهر هزینه دارد. صد عامل که همان کار را در صد مخزن انجام دهند یک فصل هزینه دارند. CASP همان حفاظ قطعی است که در حلقهٔ خودکارسازی می‌گذارید — با همان شکل در هر پروژه.

یک بررسی وضعیت الزامی در CI

casp check در همان جایگاهِ lint و تست‌ها می‌نشیند. وضعیتی که دروغ می‌گوید نمی‌تواند merge شود — انحراف در سطح سازمان مسدود می‌شود، نه واگذار به نظم‌وانضباط این و آن.

یک حفاظ برای ناوگان‌های عامل

عامل‌های خودگردان اشتباه‌ها را چند برابر می‌کنند. CASP به هر کدام همان رشتهٔ تأییدشده را برای خواندن و همان دروازهٔ سخت را پیش از پوش می‌سپارد. خودکارسازی بدون مالیاتِ کار دوباره.

یک ردِ ممیزی، رایگان

هر گذارِ وضعیت یک کامیت git است. سندی کامل، قابل‌مقایسه و قابل‌بازگشت از اینکه هر پروژه چگونه پیش رفته — git log همان ردِ انطباق شماست.

از طراحی با امنیت اطلاعات سازگار است

فقط محلی، بدون تله‌متری، بدون ابر، بدون حساب کاربری. چیزی برای وارسی نیست، چیزی برای خروج غیرمجاز نیست. بازبینی امنیتی در یک خط خلاصه می‌شود: هرگز دستگاه را ترک نمی‌کند.

.github/workflows/ci.yml
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

یک پروتکل، هر مخزن. همان شکل تأییدشده، در سراسر سازمان.

10 / پیمان

عامدانه قاطع.

یک پروتکل با پیش‌بینی‌پذیر بودن پذیرش می‌یابد. این‌ها خم نمی‌شوند.

P01

وضعیت را تأیید کن، نه قصد را

CASP آنچه را که مخزن شما هست بررسی می‌کند، نه آنچه را که قصد انجامش را داشتید. حقایق در برابر git، هر بار.

P02

قالب‌ها دروازه‌اند

مصنوعات متعارف الزام‌شده‌اند، نه پیشنهادشده. هر نشست با همان شکل بیرون می‌آید.

P03

check پیش از هر پوش

اعتبارسنج اختیاری نیست. وضعیتی که دروغ می‌گوید هرگز به ریموت شما نمی‌رسد.

P04

هیچ‌چیز دستگاه شما را ترک نمی‌کند

قطعی، بومی git، فقط محلی. بدون تله‌متری. بدون ابر، بدون حساب کاربری، بدون صورت‌حساب.

در دو دقیقه به تولید برسانید

به هر پروژه رشته‌ای بدهید که عامل شما نتواند گمش کند.

نصب کنید، init بزنید، و عامل شما حقیقت را در نخستین خطش می‌خواند.

  terminal
$ npm i -g @justethales/casp
$ casp init          # scaffold the layer
$ casp status        # where am I right now
$ casp check         # prove the state is true