Новые модели ведут всю вашу дорожную карту часами, а то и днями, не теряя нити. Именно поэтому расхождение состояния значит больше, а не меньше: чем больше агент делает между вашими контрольными точками, тем легче записанному им состоянию незаметно перестать соответствовать 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, новые «memory»-проекты, нативные для git — всё это хранит то, что произошло. Почти ничто из них не проверяет, что сохранённое состояние всё ещё соответствует реальности git. Эта проверка и есть casp check — и она обязательна перед каждым push.
Ваш next_prompt указывает на файл, который уже выпущен — или которого не существует. CASP отказывается запускать не ту сессию.
last_commit отсутствует в истории, список миграций рассинхронизирован, состояние не закоммичено — сверяется с самим git, а не с догадкой.
Никаких размытых оценок похожести. Жёсткий, воспроизводимый шлюз pass/fail, который останавливает push, пока состояние лжёт.
CASP ничего не заменяет в вашем рабочем процессе. Он закрывает единственный пробел, который не покрывает ничто другое — проверенное настоящее время проекта, в форме, которую ваш агент может прочитать и использовать.
Никакой базы данных. Никакого сервиса. Никакого векторного хранилища. Три простых файла, которые агент может прочитать на первой же строке любой сессии.
Машиночитаемо, по каждому проекту: текущая фаза, следующая фаза, точный next-prompt для выполнения, выпущенные фазы, применённые миграции, последний коммит, идентификатор последней сессии.
«Где я прямо сейчас» на одном экране. Откройте — и вернитесь к нити за пять секунд, без археологии.
Ближайшие 3 к выпуску плюс табло фаз. Агент всегда знает порядок работы.
session-prompt, session-log и audit-brief означают, что каждая сессия — человека или агента — производит артефакты одной и той же формы. Структура обеспечивается, а не предлагается.Настоящий продукт — это не одна функция. Это десятки фаз через API, web-клиент и мобильное приложение, выпускаемые неделями сменяющими друг друга сессиями и агентами. CASP держит единый проверенный порядок поверх всего этого — чтобы любой агент знал, какая фаза следующая, и никогда не выпускал заново уже выпущенную.
И цикл замыкается сам: в конце каждой сессии агент пишет за вас промпт следующей сессии — вы правите одну строку, а не сочиняете с нуля — добавляет журнал сессии и обновляет состояние. Откройте следующую сессию, и она подхватит ровно там, где остановилась предыдущая. Дорожная карта выполняется; вы её контролируете.
Каждое число ниже читается прямо из state.json каждого проекта — того же файла, который читает агент, проверенного сверкой с git при последнем push. Никакой маркетинговой арифметики.
Клиентский ERP для управления автопарком для транспортной компании в Кот-д'Ивуаре — web + mobile, мультимодульный, мультиролевой: водители, транспорт, соответствие требованиям, касса, гараж, претензии, бухгалтерия.
Каждый модуль — это проверенная фаза. Агент читает кокпит, запускает следующую фазу из next_prompt и ни разу не выпустил заново уже выпущенный модуль — даже в день из шести сессий.
Внутренняя платформа операций и оркестрации запусков для ZeroSuite — многомесячная дорожная карта, над которой работает настоящая команда, с гейтингом в режиме запуска и отслеживаемым бэклогом после запуска.
Одна проверенная нить через 40+ фаз и трёх человек — плюс 58 пунктов, явно отложенных на после запуска, и ни один не потерян. Это и есть случай «большого многопользовательского проекта», ради которого создавался CASP.
Один протокол, два совершенно разных продукта. Кокпит — единственное, что у них общее.
Инструменты памяти запоминают, кто вы есть. CASP отслеживает, где стоит ваш проект — и доказывает это. Другой артефакт, другая операция, другой сбой, который он предотвращает.
Один слог, никаких омографов, одинаковы в английском, французском или испанском.
state.next_prompt.CASP поставляет slash-команды Claude Code, чтобы состояние жило там, где вы уже работаете.
Статус только для чтения — агент читает текущую нить, прежде чем написать хоть строку.
Автозапуск следующей сессии прямо из state.next_prompt. Никакого копипаста, никаких догадок.
Совместимо с Claude Code · Cursor · Aider · Continue — всем, что читает файлы.
Один агент, делающий не то, стоит полдня. Сто агентов, делающих это на ста репозиториях, стоят квартал. CASP — это детерминированный страховочный барьер, который вы встраиваете в цикл автоматизации — одной и той же формы в каждом проекте.
casp check занимает то же место, что линтер и тесты. Состояние, которое лжёт, нельзя смержить — расхождение блокируется на уровне организации, а не оставляется на дисциплину каждого.
Автономные агенты множат ошибки. CASP вручает каждому из них одну и ту же проверенную нить для чтения и один и тот же жёсткий шлюз перед push. Автоматизация без налога на двойную работу.
Каждый переход состояния — это git-коммит. Полная, сравниваемая через diff и обратимая летопись того, как двигался каждый проект — 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