CASP שומר תמונה תמיד-אמיתית של היכן באמת נמצא כל אחד מהפרויקטים שלכם — בכל רגע, מאומתת מול git. חזרו אחרי שבוע או אחרי חודשים, על כל stack, על פני כל מספר של סוכנים, סשנים או חברי צוות: פתחו אותה והמצב אמיתי — או ש-casp check חוסם את ה-push עד שיהיה.
אתם חוזרים לפרויקט אחרי שבוע — או מנהלים חמישה בו-זמנית. הסוכן קורא קובץ מצב שכבר לא תואם את המציאות, ניגש בביטחון לעבודה שכבר נשלחה, ואתם שורפים אחר צהריים שלם בפירוקה.
לוחות, כרטיסים וגיליונות לא יצילו אתכם: שחזור ההקשר ידני, והסוכן לא יכול לקרוא אף אחד מהם. המצב חייב להיות קריא-מכונה, נטיב ל-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
}
CASP הוא הרצפה הדטרמיניסטית של לולאת האימות העצמי — הבדיקה היחידה ב»אַמֵּת את עבודתך« שאיננה המודל הבודק את עצמו: המצב מול git, בגבול ה-push שאליו הבדיקה שבתוך הלולאה אינה יכולה להגיע. המרחב הסמוך — 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 מבטיחות שכל סשן — אנושי או סוכן — מייצר תוצרים באותה צורה. המבנה נאכף, לא מוצע.הפכו את המפרט שלכם לתור של פרומפטים לסשנים — כל אחד מהם קובץ במאגר שלכם שמצהיר מה בא לפניו. casp next מוסר לסוכן שלכם את ראש התור, ומסרב למסור פרוסה שכבר נשלחה.
casp next מדפיס את הפרומפט. הוא לעולם אינו מריץ אותו — הסוכן שלכם עושה זאת. CASP הוא החלק שהופך את המסירה לראויה לאמון, לא מתזמר.
בסוף כל סשן הסוכן שלכם מוסיף את היומן, מקדם את המצב וכותב את הפרומפט הבא בתור — אתם מתקנים שורה במקום לכתוב מאפס. ולוח הפאזות נשאר ב-roadmap.md, כך שכל סוכן יודע את סדר העבודה.
כל מספר למטה נקרא ישירות מתוך ה-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