Coding-Agent State Protocol

मॉडल कॉन्टेक्स्ट संभालता है। CASP साबित करता है कि स्थिति सच है — git के सामने

नए मॉडल आपकी पूरी रोडमैप को घंटों, यहाँ तक कि दिनों तक चलाते हैं, और सूत्र नहीं खोते। इसीलिए स्थिति का भटकना और भी मायने रखता है, कम नहीं: एजेंट आपके चेकपॉइंट्स के बीच जितना ज़्यादा करता है, उतनी ही चुपचाप उसकी दर्ज स्थिति git से मेल खाना बंद कर सकती है। casp check वह डिटरमिनिस्टिक गेट है जो ऐसा होते ही push को रोक देता है — आज Claude Code के साथ, और आगे आने वाले हर मॉडल के साथ।

AI कोडिंग सेशन के लिए प्री-फ़्लाइट चेक + ब्लैक बॉक्स
$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-नेटिव "memory" परियोजनाएँ — सभी जो हुआ उसे संग्रहित करते हैं। लगभग कोई भी यह सत्यापित नहीं करता कि संग्रहित स्थिति अब भी git की हकीकत से मेल खाती है। वह सत्यापन है casp check — और यह हर push से पहले अनिवार्य है।

next-prompt drift
पकड़ा गया

आपका next_prompt किसी ऐसी फ़ाइल की ओर इशारा करता है जो पहले ही लाइव हो चुकी है — या मौजूद ही नहीं है। CASP गलत सेशन शुरू करने से इनकार कर देता है।

git ground-truth
लागू

last_commit इतिहास में नहीं, migrations की सूची बेमेल, बिना commit की स्थिति — git के सामने ही जाँचा जाता है, किसी अनुमान के बल पर नहीं।

push, blocked
डिटरमिनिस्टिक

कोई धुंधले समानता-स्कोर नहीं। एक सख़्त, दोहराने योग्य pass/fail गेट जो स्थिति के झूठा रहते push को रोक देता है।

03 / आपके मौजूदा स्टैक के साथ-साथ

Git, PR और CI नहीं जानते कि आगे क्या लाइव होगा।

CASP आपके वर्कफ़्लो में कुछ भी प्रतिस्थापित नहीं करता। यह उस एकमात्र खाली जगह को भरता है जिसे और कुछ नहीं ढकता — किसी प्रोजेक्ट का वैलिडेटेड वर्तमान, ऐसे रूप में जिसे आपका एजेंट पढ़कर उस पर काम कर सके।

Jira · Linear
इरादा
जो आप करने का इरादा रखते हैं।
हकीकत से भटकता है, क्लाउड में रहता है, आपका एजेंट उसे भरोसेमंद ढंग से नहीं पढ़ सकता।
CASP
वैलिडेटेड वर्तमान
प्रोजेक्ट इस वक़्त कहाँ खड़ा है — और ठीक अगला कदम, git के सामने प्रमाणित।
मशीन-पठनीय, रिपॉज़िटरी के भीतर, डिटरमिनिस्टिक। वह इकलौता सूत्र जिस पर एजेंट काम करते हैं।
git · PR · CI
इतिहास & सत्यापन
क्या बदला · क्या उसकी समीक्षा हुई · क्या वह बनता है।
अतीत का एक बेमिसाल रिकॉर्ड — और आगे क्या आता है, इस पर मौन।
04 / तीन फ़ाइलें। एक सूत्र।

पूरा प्रोटोकॉल आपकी रिपॉज़िटरी में समा जाता है।

कोई डेटाबेस नहीं। कोई सर्विस नहीं। कोई वेक्टर स्टोर नहीं। तीन सादी फ़ाइलें जिन्हें एजेंट किसी भी सेशन की पहली पंक्ति पर पढ़ सकता है।

state.json
सत्य का स्रोत

मशीन-पठनीय, हर प्रोजेक्ट के लिए: वर्तमान फ़ेज़, अगला फ़ेज़, चलाने के लिए ठीक next-prompt, लाइव हुए फ़ेज़, लागू migrations, अंतिम commit, अंतिम सेशन id।

now.md
इंसानों के लिए

एक स्क्रीन वाला "मैं इस वक़्त कहाँ हूँ"। इसे खोलिए, पाँच सेकंड में सूत्र वापस पाइए — कोई पुरातत्व-खुदाई नहीं।

roadmap.md
आगे क्या लाइव होगा

लाइव करने योग्य अगली 3 चीज़ें और एक फ़ेज़ स्कोरबोर्ड। एजेंट को हमेशा काम का क्रम पता रहता है।

टेम्पलेट गेट हैं, मार्गदर्शन नहीं।  कैनॉनिकल session-prompt, session-log और audit-brief टेम्पलेट का मतलब है कि हर सेशन — इंसान हो या एजेंट — एक ही आकार के आर्टिफ़ैक्ट बनाता है। ढाँचा लागू किया जाता है, सुझाया नहीं जाता।
05 / बड़ी रोडमैप के लिए बना

चालीस फ़ेज़ में फैला एक क्रमबद्ध सूत्र — web और mobile।

एक असली प्रोडक्ट महज़ एक फ़ीचर नहीं होता। वह API, web क्लाइंट और mobile में फैले दर्जनों फ़ेज़ होते हैं, जो हफ़्तों में, बारी-बारी से चलने वाले सेशनों और एजेंटों के ज़रिए लाइव होते हैं। CASP इस सबके आर-पार एक इकलौता वैलिडेटेड क्रम बनाए रखता है — ताकि कोई भी एजेंट जान सके कि अगला फ़ेज़ कौन-सा है, और किसी लाइव हुए फ़ेज़ को कभी दोबारा लाइव न करे

और लूप खुद को बंद कर लेता है: हर सेशन के अंत में एजेंट आपके लिए अगले सेशन का प्रॉम्प्ट लिख देता है — आप एक पंक्ति में फेरबदल करते हैं, शून्य से नहीं लिखते — एक सेशन लॉग जोड़ता है, और स्थिति को आगे बढ़ा देता है। अगला सेशन खोलिए और वह ठीक वहीं से उठाता है जहाँ पिछला रुका था। रोडमैप अपने-आप चलती है; आप निगरानी करते हैं।

roadmap.md — फ़ेज़ स्कोरबोर्ड 13 लाइव कुल 22
10apiरियलटाइम सिंक इंजनलाइव
11mobileपुश नोटिफ़िकेशनलाइव
12mobileऑफ़लाइन-फ़र्स्ट कैशलाइव
13webटीम अनुमतियाँलाइव
15apiप्रति-सीट बिलिंगकतार में
16mobileबायोमेट्रिक लॉगिनकतार में
/ प्रोडक्शन में

कोई डेमो नहीं। आज दो लाइव प्रोडक्ट CASP पर चलते हैं।

नीचे का हर आँकड़ा सीधे हर प्रोजेक्ट की state.json से पढ़ा गया है — वही फ़ाइल जो एजेंट पढ़ता है, अंतिम push पर git के सामने वैलिडेट की गई। कोई मार्केटिंग गणित नहीं।

LIVE

कोत द'इवॉर की एक ट्रांसपोर्ट कंपनी के लिए ग्राहक-सामने वाला फ़्लीट-प्रबंधन ERP — web + mobile, बहु-मॉड्यूल, बहु-भूमिका: ड्राइवर, वाहन, अनुपालन, नकदी, गैराज, मुकदमेबाज़ी, लेखांकन।

25+
फ़ेज़ लाइव
20+
migrations ट्रैक
6
एक दिन में सेशन

हर मॉड्यूल एक वैलिडेटेड फ़ेज़ है। एजेंट कॉकपिट पढ़ता है, अगला फ़ेज़ next_prompt से चलाता है, और किसी लाइव हो चुके मॉड्यूल को कभी दोबारा लाइव नहीं किया — छह-सेशन वाले दिन में भी नहीं।

LIVE

ZeroSuite के लिए आंतरिक ops और लॉन्च-ऑर्केस्ट्रेशन प्लेटफ़ॉर्म — एक वास्तविक टीम द्वारा कई महीनों में चलाई गई रोडमैप, लॉन्च-मोड गेटिंग और एक ट्रैक किए गए लॉन्च-बाद बैकलॉग के साथ।

41
फ़ेज़ लाइव
17
migrations
3
ऑपरेटर

40+ फ़ेज़ और तीन लोगों के आर-पार एक इकलौता वैलिडेटेड सूत्र — साथ ही 58 आइटम लॉन्च के बाद के लिए स्पष्ट रूप से टाले गए, एक भी नहीं खोया। यही वह "बड़ा बहु-उपयोगकर्ता प्रोजेक्ट" मामला है जिसके लिए CASP बनाया गया था।

एक ही प्रोटोकॉल, दो बेहद अलग प्रोडक्ट। कॉकपिट ही एकमात्र चीज़ है जो वे साझा करते हैं।

06 / स्थिति, मेमोरी नहीं

CASP कोई AI मेमोरी लेयर नहीं है।

मेमोरी टूल याद रखते हैं कि आप कौन हैं। CASP नज़र रखता है कि आपका प्रोजेक्ट कहाँ खड़ा है — और उसे साबित करता है। अलग आर्टिफ़ैक्ट, अलग संक्रिया, अलग विफलता जिसे यह रोकता है।

CASP
मेमोरी लेयर · Mem0 / Letta / git-नेटिव "soul"
यह क्या रखता है
प्रोजेक्ट एक्ज़ीक्यूशन स्थिति
उपयोगकर्ता के तथ्य & प्राथमिकताएँ
मूल संक्रिया
git के सामने वैलिडेट करता है
संग्रहित करता & याद करता है
टकराव होने पर
ground-truth के सामने डिटरमिनिस्टिक जाँच
धुंधला समानता-अनुमान
यह कब चलता है
सिंक्रोनस गेट — push को रोकता है
एसिंक्रोनस / कालांतर में पुनःस्मरण
आपकी मशीन छोड़ता है
कभी नहीं · शून्य टेलीमेट्री
परिवर्तनशील / क्लाउड
07 / कमांड डेक

पाँच क्रियाएँ। बिना मेहनत टाइप होने वाली।

एक अक्षर, कोई समरूप शब्द नहीं, अंग्रेज़ी, फ़्रेंच या स्पैनिश में एक जैसी।

casp initकिसी भी रिपॉज़िटरी में निरंतरता की परत खड़ी करता है।
casp statusएक स्क्रीन वाला स्नैपशॉट: फ़ेज़, अगला, क्या लाइव है।
casp checkड्रिफ़्ट वैलिडेटर। हर push से पहले अनिवार्य।
casp nextअगला सेशन state.next_prompt से अपने-आप शुरू करता है।
casp new promptकैनॉनिकल टेम्पलेट से एक गेटेड session-prompt बनाता है।
casp new logउसी आकार में एक session-log खोलता है जो हर सेशन साझा करता है।
08 / आपके एडिटर में

आपके एजेंट के लिए नेटिव slash-commands।

CASP Claude Code slash-commands के साथ आता है ताकि स्थिति वहीं रहे जहाँ आप पहले से काम करते हैं।

/casp

केवल-पढ़ने वाला स्टेटस — एजेंट एक भी पंक्ति लिखने से पहले मौजूदा सूत्र पढ़ता है।

/next

अगला सेशन सीधे state.next_prompt से अपने-आप शुरू करें। कोई कॉपी-पेस्ट नहीं, कोई अंदाज़ा नहीं।

Claude Code · Cursor · Aider · Continue के साथ काम करता है — हर उस चीज़ के साथ जो फ़ाइलें पढ़ती है।

09 / इंजीनियरिंग संगठनों के लिए

जब एजेंट बिना निगरानी चलते हैं, तो ड्रिफ़्ट एक फ़्लीट समस्या बन जाती है।

एक एजेंट का गलत काम करना एक दोपहर खर्च करता है। सौ रिपॉज़िटरी पर सौ एजेंटों का वही करना एक तिमाही खर्च करता है। CASP वह डिटरमिनिस्टिक गार्डरेल है जिसे आप ऑटोमेशन लूप में डालते हैं — हर प्रोजेक्ट में एक ही आकार।

एक अनिवार्य CI स्टेटस चेक

casp check lint और टेस्ट के बराबर उसी जगह बैठता है। झूठ बोलने वाली स्थिति merge नहीं हो सकती — ड्रिफ़्ट संगठन स्तर पर रोका जाता है, किसी के अनुशासन पर नहीं छोड़ा जाता।

एजेंट फ़्लीट के लिए एक गार्डरेल

स्वायत्त एजेंट गलतियों को कई गुना कर देते हैं। CASP उनमें से हर एक को पढ़ने के लिए वही वैलिडेटेड सूत्र और push से पहले वही सख़्त गेट थमाता है। दोहरे काम के कर के बिना ऑटोमेशन।

एक ऑडिट ट्रेल, मुफ़्त में

हर स्थिति-संक्रमण एक git commit है। हर प्रोजेक्ट कैसे आगे बढ़ा, इसका एक संपूर्ण, diff करने योग्य, वापस लौटाने योग्य रिकॉर्ड — git log ही आपकी अनुपालन ट्रेल है।

डिज़ाइन से ही infosec पास करता है

पूरी तरह लोकल, शून्य टेलीमेट्री, कोई क्लाउड नहीं, कोई खाता नहीं। जाँचने को कुछ नहीं, बाहर भेजने को कुछ नहीं। सुरक्षा समीक्षा एक पंक्ति में: यह मशीन कभी नहीं छोड़ता।

.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

हर push से पहले check

वैलिडेटर वैकल्पिक नहीं है। झूठ बोलने वाली स्थिति आपके remote तक कभी नहीं पहुँचती।

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