המודלים החדשים מריצים את כל מפת הדרכים שלכם במשך שעות, ואף ימים, מבלי לאבד את החוט. בדיוק בגלל זה סטיית המצב חשובה יותר, לא פחות: ככל שהסוכן עושה יותר בין נקודות הבקרה שלכם, כך המצב שתיעד עלול לחדול בשקט מלהתאים ל-git. casp check הוא השער הדטרמיניסטי שחוסם את ה-push ברגע שזה קורה — עם 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 — והוא חובה לפני כל push.
ה-next_prompt שלכם מצביע על קובץ שכבר נשלח — או שאינו קיים. CASP מסרב להתחיל את הסשן הלא נכון.
last_commit שאינו בהיסטוריה, רשימת מיגרציות לא מסונכרנת, מצב לא מקומיט — נבדק מול git עצמו, לא מול ניחוש.
אין ציוני דמיון מעורפלים. שער pass/fail קשיח וניתן לשחזור שעוצר את ה-push כל עוד המצב משקר.
CASP לא מחליף דבר בתהליך העבודה שלכם. הוא ממלא את הפער היחיד ששום דבר אחר לא מכסה — ההווה המאומת של פרויקט, בצורה שהסוכן שלכם יכול לקרוא ולפעול לפיה.
בלי מסד נתונים. בלי שירות. בלי מאגר וקטורים. שלושה קבצים פשוטים שסוכן יכול לקרוא בשורה הראשונה של כל סשן.
קריא-מכונה, לכל פרויקט: הפאזה הנוכחית, הפאזה הבאה, ה-next-prompt המדויק להרצה, הפאזות שנשלחו, המיגרציות שהוחלו, הקומיט האחרון, מזהה הסשן האחרון.
ה»איפה אני כרגע« במסך אחד. פתחו אותו, חזרו לחוט בחמש שניות — בלי ארכיאולוגיה.
שלוש הבאות לשליחה ולוח תוצאות של הפאזות. הסוכן תמיד יודע את סדר העבודה.
session-prompt, session-log ו-audit-brief מבטיחות שכל סשן — אנושי או סוכן — מייצר תוצרים באותה צורה. המבנה נאכף, לא מוצע.מוצר אמיתי אינו פיצ'ר בודד. הוא עשרות פאזות על פני API, לקוח web ו-mobile, שנשלחות לאורך שבועות בידי סשנים וסוכנים מתחלפים. CASP מקיים סדר מאומת אחד על פני כל זה — כך שכל סוכן יודע איזו פאזה באה בתור, ולעולם לא שולח מחדש פאזה שכבר נשלחה.
והלולאה נסגרת מעצמה: בסוף כל סשן הסוכן כותב עבורכם את הפרומפט של הסשן הבא — אתם מתקנים שורה, לא כותבים מאפס — מוסיף יומן סשן, ומקדם את המצב. פתחו את הסשן הבא והוא ממשיך בדיוק מהמקום שבו הקודם נעצר. מפת הדרכים מתבצעת; אתם מפקחים.
כל מספר למטה נקרא ישירות מתוך ה-state.json של כל פרויקט — אותו קובץ שהסוכן קורא, מאומת מול git ב-push האחרון. בלי חשבונות שיווקיים.
ERP לניהול צי מול לקוחות, עבור חברת הסעות בחוף השנהב — web + mobile, רב-מודולרי, רב-תפקידי: נהגים, רכבים, ציות, קופה, מוסך, התדיינות משפטית, הנהלת חשבונות.
כל מודול הוא פאזה מאומתת. הסוכן קורא את הקוקפיט, מריץ את הפאזה הבאה מתוך next_prompt, ומעולם לא שלח מחדש מודול שכבר נשלח — אפילו ביום של שישה סשנים.
פלטפורמת ה-ops ותזמור ההשקות הפנימית של ZeroSuite — מפת דרכים בת חודשים שמונעת בידי צוות אמיתי, עם gating במצב השקה ובאקלוג מעקב לאחר ההשקה.
חוט מאומת אחד על פני 40+ פאזות ושלושה אנשים — בתוספת 58 פריטים שנדחו במפורש מעבר להשקה, אף אחד מהם לא אבד. זהו מקרה ה»פרויקט הגדול רב-המשתמשים« שלשמו CASP נבנה.
אותו פרוטוקול, שני מוצרים שונים מאוד. הקוקפיט הוא הדבר היחיד שהם חולקים.
כלי זיכרון זוכרים מי אתם. CASP עוקב אחר היכן הפרויקט שלכם עומד — ומוכיח זאת. תוצר אחר, פעולה אחרת, כשל אחר שהוא מונע.
הברה אחת, ללא הומוגרפים, זהות באנגלית, בצרפתית או בספרדית.
state.next_prompt.CASP כולל slash-commands של Claude Code כדי שהמצב יחיה היכן שאתם כבר עובדים.
סטטוס לקריאה בלבד — הסוכן קורא את החוט הנוכחי לפני שהוא כותב שורה אחת.
מתחיל אוטומטית את הסשן הבא ישירות מתוך state.next_prompt. בלי העתק-הדבק, בלי ניחושים.
עובד עם Claude Code · Cursor · Aider · Continue — כל דבר שקורא קבצים.
סוכן אחד שעושה את הדבר הלא נכון עולה אחר צהריים. מאה סוכנים שעושים זאת על פני מאה מאגרים עולים רבעון. CASP הוא מעקה הבטיחות הדטרמיניסטי שאתם משלבים בלולאת האוטומציה — באותה צורה בכל פרויקט.
casp check יושב באותו מקום כמו ה-lint והבדיקות. מצב שמשקר לא יכול להתמזג — הסטייה נחסמת ברמת הארגון, לא נשארת לדיסציפלינה של מישהו.
סוכנים אוטונומיים מכפילים טעויות. 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, בכל פעם.
תוצרים קנוניים נאכפים, לא מוצעים. כל סשן יוצא באותה צורה.
המאמת אינו אופציונלי. מצב שמשקר לעולם לא מגיע ל-remote שלכם.
דטרמיניסטי, נטיב ל-git, מקומי בלבד. אפס טלמטריה. בלי ענן, בלי חשבון, בלי חשבונית.
התקינו, אתחלו, והסוכן שלכם קורא את האמת בשורה הראשונה שלו.
$ npm i -g @justethales/casp $ casp init # scaffold the layer $ casp status # where am I right now $ casp check # prove the state is true