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 — כולם מאחסנים את מה שקרה. כמעט אף אחד לא מאמת שהמצב המאוחסן עדיין תואם את מציאות git. האימות הזה הוא casp check — והוא חובה לפני כל push.

סטיית next-prompt
נתפסת

ה-next_prompt שלכם מצביע על קובץ שכבר נשלח — או שאינו קיים. CASP מסרב להתחיל את הסשן הלא נכון.

אמת היסוד של git
נאכפת

last_commit שאינו בהיסטוריה, רשימת מיגרציות לא מסונכרנת, מצב לא מקומיט — נבדק מול git עצמו, לא מול ניחוש.

push, חסום
דטרמיניסטי

אין ציוני דמיון מעורפלים. שער pass/fail קשיח וניתן לשחזור שעוצר את ה-push כל עוד המצב משקר.

03 / לצד הסטאק הקיים שלכם

git, ה-PR-ים וה-CI לא יודעים מה נשלח בהמשך.

CASP לא מחליף דבר בתהליך העבודה שלכם. הוא ממלא את הפער היחיד ששום דבר אחר לא מכסה — ההווה המאומת של פרויקט, בצורה שהסוכן שלכם יכול לקרוא ולפעול לפיה.

Jira · Linear
כוונה
מה שאתם מתכננים לעשות.
סוטה מהמציאות, חי בענן, הסוכן שלכם לא יכול לקרוא אותו באופן אמין.
CASP
ההווה המאומת
היכן הפרויקט עומד כרגע — והצעד הבא המדויק, מוכח מול git.
קריא-מכונה, בתוך המאגר, דטרמיניסטי. החוט היחיד שהסוכנים פועלים לפיו.
git · PR · CI
היסטוריה & אימות
מה השתנה · האם זה נבדק · האם זה נבנה.
תיעוד מושלם של העבר — ושותק לגבי מה שבא אחר כך.
04 / שלושה קבצים. חוט אחד.

כל הפרוטוקול נכנס לתוך המאגר שלכם.

בלי מסד נתונים. בלי שירות. בלי מאגר וקטורים. שלושה קבצים פשוטים שסוכן יכול לקרוא בשורה הראשונה של כל סשן.

state.json
מקור האמת

קריא-מכונה, לכל פרויקט: הפאזה הנוכחית, הפאזה הבאה, ה-next-prompt המדויק להרצה, הפאזות שנשלחו, המיגרציות שהוחלו, הקומיט האחרון, מזהה הסשן האחרון.

now.md
לבני אדם

ה»איפה אני כרגע« במסך אחד. פתחו אותו, חזרו לחוט בחמש שניות — בלי ארכיאולוגיה.

roadmap.md
מה נשלח בהמשך

שלוש הבאות לשליחה ולוח תוצאות של הפאזות. הסוכן תמיד יודע את סדר העבודה.

התבניות הן שערים, לא הנחיות.  התבניות הקנוניות session-prompt, session-log ו-audit-brief מבטיחות שכל סשן — אנושי או סוכן — מייצר תוצרים באותה צורה. המבנה נאכף, לא מוצע.
05 / נבנה למפות דרכים גדולות

חוט מסודר אחד על פני ארבעים פאזות — web וגם mobile.

מוצר אמיתי אינו פיצ'ר בודד. הוא עשרות פאזות על פני API, לקוח web ו-mobile, שנשלחות לאורך שבועות בידי סשנים וסוכנים מתחלפים. CASP מקיים סדר מאומת אחד על פני כל זה — כך שכל סוכן יודע איזו פאזה באה בתור, ולעולם לא שולח מחדש פאזה שכבר נשלחה.

והלולאה נסגרת מעצמה: בסוף כל סשן הסוכן כותב עבורכם את הפרומפט של הסשן הבא — אתם מתקנים שורה, לא כותבים מאפס — מוסיף יומן סשן, ומקדם את המצב. פתחו את הסשן הבא והוא ממשיך בדיוק מהמקום שבו הקודם נעצר. מפת הדרכים מתבצעת; אתם מפקחים.

roadmap.md — לוח תוצאות של הפאזות 13 נשלחו 22 בסך הכול
10apiמנוע סנכרון בזמן אמתנשלחה
11mobileהתראות pushנשלחה
12mobileמטמון offline-firstנשלחה
13webהרשאות צוותנשלחה
15apiחיוב לפי מושבבתור
16mobileהתחברות ביומטריתבתור
/ בייצור

לא דמו. שני מוצרים חיים רצים על CASP היום.

כל מספר למטה נקרא ישירות מתוך ה-state.json של כל פרויקט — אותו קובץ שהסוכן קורא, מאומת מול git ב-push האחרון. בלי חשבונות שיווקיים.

LIVE

ERP לניהול צי מול לקוחות, עבור חברת הסעות בחוף השנהב — web + mobile, רב-מודולרי, רב-תפקידי: נהגים, רכבים, ציות, קופה, מוסך, התדיינות משפטית, הנהלת חשבונות.

25+
פאזות נשלחו
20+
מיגרציות במעקב
6
סשנים ביום

כל מודול הוא פאזה מאומתת. הסוכן קורא את הקוקפיט, מריץ את הפאזה הבאה מתוך next_prompt, ומעולם לא שלח מחדש מודול שכבר נשלח — אפילו ביום של שישה סשנים.

LIVE

פלטפורמת ה-ops ותזמור ההשקות הפנימית של ZeroSuite — מפת דרכים בת חודשים שמונעת בידי צוות אמיתי, עם gating במצב השקה ובאקלוג מעקב לאחר ההשקה.

41
פאזות נשלחו
17
מיגרציות
3
מפעילים

חוט מאומת אחד על פני 40+ פאזות ושלושה אנשים — בתוספת 58 פריטים שנדחו במפורש מעבר להשקה, אף אחד מהם לא אבד. זהו מקרה ה»פרויקט הגדול רב-המשתמשים« שלשמו CASP נבנה.

אותו פרוטוקול, שני מוצרים שונים מאוד. הקוקפיט הוא הדבר היחיד שהם חולקים.

06 / מצב, לא זיכרון

CASP אינו שכבת זיכרון ל-AI.

כלי זיכרון זוכרים מי אתם. CASP עוקב אחר היכן הפרויקט שלכם עומד — ומוכיח זאת. תוצר אחר, פעולה אחרת, כשל אחר שהוא מונע.

CASP
שכבות זיכרון · Mem0 / Letta / "soul" נטיב ל-git
מה הוא מכיל
מצב ביצוע הפרויקט
עובדות והעדפות של המשתמש
הפעולה המרכזית
מאמת מול git
מאחסן ומשחזר
במקרה של התנגשות
בדיקה דטרמיניסטית מול אמת היסוד
ניחוש דמיון מעורפל
מתי הוא רץ
שער סינכרוני — חוסם את ה-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 כולל slash-commands של Claude Code כדי שהמצב יחיה היכן שאתם כבר עובדים.

/casp

סטטוס לקריאה בלבד — הסוכן קורא את החוט הנוכחי לפני שהוא כותב שורה אחת.

/next

מתחיל אוטומטית את הסשן הבא ישירות מתוך state.next_prompt. בלי העתק-הדבק, בלי ניחושים.

עובד עם Claude Code · Cursor · Aider · Continue — כל דבר שקורא קבצים.

09 / לארגוני הנדסה

כשסוכנים רצים ללא השגחה, הסטייה הופכת לבעיה של צי.

סוכן אחד שעושה את הדבר הלא נכון עולה אחר צהריים. מאה סוכנים שעושים זאת על פני מאה מאגרים עולים רבעון. CASP הוא מעקה הבטיחות הדטרמיניסטי שאתם משלבים בלולאת האוטומציה — באותה צורה בכל פרויקט.

בדיקת סטטוס CI מחייבת

casp check יושב באותו מקום כמו ה-lint והבדיקות. מצב שמשקר לא יכול להתמזג — הסטייה נחסמת ברמת הארגון, לא נשארת לדיסציפלינה של מישהו.

מעקה בטיחות לציי סוכנים

סוכנים אוטונומיים מכפילים טעויות. CASP מוסר לכל אחד מהם את אותו חוט מאומת לקריאה ואת אותו שער קשיח לפני שהוא דוחף. אוטומציה בלי מס העבודה הכפולה.

נתיב ביקורת, בחינם

כל מעבר מצב הוא קומיט git. תיעוד מלא, בר-השוואה ובר-ביטול של אופן ההתקדמות של כל פרויקט — 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

check לפני כל push

המאמת אינו אופציונלי. מצב שמשקר לעולם לא מגיע ל-remote שלכם.

P04

שום דבר לא עוזב את המכונה שלכם

דטרמיניסטי, נטיב ל-git, מקומי בלבד. אפס טלמטריה. בלי ענן, בלי חשבון, בלי חשבונית.

בייצור תוך שתי דקות

תנו לכל פרויקט חוט שהסוכן שלכם לא יכול לאבד.

התקינו, אתחלו, והסוכן שלכם קורא את האמת בשורה הראשונה שלו.

  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