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, 차단됨
결정론적

모호한 유사도 점수 따위는 없습니다. 상태가 거짓을 말하는 동안 push를 멈추는, 단호하고 재현 가능한 pass/fail 게이트입니다.

03 / 기존 스택 곁에서

git, PR, CI는 다음에 무엇이 출시될지 알지 못합니다.

CASP는 당신의 워크플로에서 아무것도 대체하지 않습니다. 다른 어느 것도 메우지 못하는 단 하나의 빈틈을 채울 뿐입니다 — 프로젝트의 검증된 현재 시제를, 에이전트가 읽고 실행할 수 있는 형태로.

Jira · Linear
의도
당신이 하려고 계획한 것.
현실에서 어긋나고, 클라우드에 살며, 에이전트가 안정적으로 읽지 못합니다.
CASP
검증된 현재
지금 이 순간 프로젝트가 서 있는 지점 — 그리고 git과 대조해 증명된 정확한 다음 한 걸음.
기계가 읽을 수 있고, 저장소 안에 있으며, 결정론적입니다. 에이전트가 실행하는 단 하나의 흐름.
git · PR · CI
이력 & 검증
무엇이 바뀌었는가 · 리뷰되었는가 · 빌드되는가.
과거에 대한 완벽한 기록 — 그러나 다음에 무엇이 오는지에는 침묵합니다.
04 / 세 개의 파일. 하나의 흐름.

프로토콜 전체가 당신의 저장소 안에 들어갑니다.

데이터베이스도 없습니다. 서비스도 없습니다. 벡터 스토어도 없습니다. 에이전트가 어떤 세션이든 첫 줄에서 읽을 수 있는 세 개의 단순한 파일뿐입니다.

state.json
진실의 원천

프로젝트별로 기계가 읽을 수 있게: 현재 단계, 다음 단계, 실행할 정확한 next-prompt, 출시된 단계들, 적용된 마이그레이션, 마지막 커밋, 마지막 세션 id.

now.md
사람을 위해

한 화면짜리 "지금 내가 어디에 있는가." 열어 보면 5초 만에 흐름을 되찾습니다 — 발굴 작업은 필요 없습니다.

roadmap.md
다음에 출시될 것

출시할 다음 3개와 단계 스코어보드. 에이전트는 언제나 작업 순서를 압니다.

템플릿은 가이드가 아니라 게이트입니다.  정규 session-prompt, session-log, audit-brief 템플릿 덕분에 모든 세션은 — 사람이든 에이전트든 — 같은 모양의 산출물을 만들어 냅니다. 구조는 제안되는 것이 아니라 강제됩니다.
05 / 큰 로드맵을 위해 설계됨

마흔 개 단계를 가로지르는 하나의 정렬된 흐름 — 웹 그리고 모바일.

진짜 제품은 기능 하나가 아닙니다. API, 웹 클라이언트, 모바일에 걸친 수십 개의 단계이며, 교대로 도는 세션과 에이전트가 몇 주에 걸쳐 출시합니다. CASP는 그 전부에 걸쳐 검증된 단일 순서를 유지합니다 — 그래서 어떤 에이전트든 다음 단계가 무엇인지 알고, 이미 출시된 단계를 결코 다시 출시하지 않습니다.

그리고 루프는 스스로 닫힙니다. 매 세션이 끝날 때 에이전트는 다음 세션의 프롬프트를 당신을 위해 작성하고 — 당신은 한 줄을 다듬을 뿐, 처음부터 쓰지 않습니다 — 세션 로그를 덧붙이고 상태를 갱신합니다. 다음 세션을 열면 지난 세션이 멈춘 바로 그 지점에서 이어집니다. 로드맵은 실행되고, 당신은 감독합니다.

roadmap.md — 단계 스코어보드 13 출시됨 총 22
10api실시간 동기화 엔진출시됨
11mobile푸시 알림출시됨
12mobile오프라인 우선 캐시출시됨
13web팀 권한출시됨
15api좌석별 과금대기 중
16mobile생체 인증 로그인대기 중
/ 프로덕션에서

데모가 아닙니다. 오늘 두 개의 실제 제품이 CASP 위에서 돌아갑니다.

아래 모든 수치는 각 프로젝트의 state.json에서 직접 읽어 온 것입니다 — 에이전트가 읽는 바로 그 파일이며, 마지막 push에서 git과 대조해 검증되었습니다. 마케팅용 계산은 없습니다.

LIVE

코트디부아르의 한 운송 회사를 위한 고객 대면 차량 관리 ERP — 웹 + 모바일, 멀티 모듈, 멀티 롤: 운전기사, 차량, 규정 준수, 출납, 정비소, 소송, 회계.

25+
출시된 단계
20+
추적된 마이그레이션
6
하루의 세션 수

모든 모듈은 검증된 단계입니다. 에이전트는 콕핏을 읽고, next_prompt에서 다음 단계를 실행하며, 이미 출시된 모듈을 단 한 번도 다시 출시한 적이 없습니다 — 세션이 여섯 번 도는 날에도.

LIVE

ZeroSuite의 내부 운영 & 런치 오케스트레이션 플랫폼 — 실제 팀이 진행하는 수개월짜리 로드맵으로, 런치 모드 게이팅과 추적되는 런치 후 백로그를 갖췄습니다.

41
출시된 단계
17
마이그레이션
3
운영자

40개 이상의 단계와 세 사람에 걸친 하나의 검증된 흐름 — 거기에 런치 이후로 명시적으로 미뤄진 58개 항목이 하나도 유실되지 않았습니다. 바로 CASP가 만들어진 목적인 "큰 멀티 유저 프로젝트" 사례입니다.

같은 프로토콜, 전혀 다른 두 제품. 콕핏만이 그들이 공유하는 유일한 것입니다.

06 / 메모리가 아니라 상태

CASP는 AI 메모리 레이어가 아닙니다.

메모리 도구는 당신이 누구인지를 기억합니다. CASP는 당신의 프로젝트가 어디에 서 있는지를 추적하고 — 그것을 증명합니다. 다른 산출물, 다른 동작, 막아 내는 실패도 다릅니다.

CASP
메모리 레이어 · Mem0 / Letta / git 네이티브 "soul"
담는 것
프로젝트 실행 상태
사용자 사실 & 선호
핵심 동작
git과 대조해 검증
저장 & 호출
충돌 시
기준 진실과 대조하는 결정론적 검사
모호한 유사도 추측
실행 시점
동기식 게이트 — push를 차단
비동기 / 최종적 호출
머신을 벗어나는가
결코 아님 · 텔레메트리 제로
제각각 / 클라우드
07 / 커맨드 덱

다섯 개의 동사. 손쉽게 입력.

한 음절, 동형이의어 없음, 영어·프랑스어·스페인어에서 똑같습니다.

casp init어떤 저장소에든 연속성 레이어를 설치합니다.
casp status한 화면 스냅숏: 단계, 다음, 출시된 것.
casp check드리프트 검증기. 모든 push 전에 필수입니다.
casp nextstate.next_prompt에서 다음 세션을 자동으로 시작합니다.
casp new prompt정규 템플릿에서 게이트가 걸린 session-prompt를 생성합니다.
casp new log모든 세션이 공유하는 형태로 session-log를 엽니다.
08 / 당신의 에디터 안에서

에이전트를 위한 네이티브 슬래시 커맨드.

CASP는 Claude Code 슬래시 커맨드를 제공하여, 상태가 당신이 이미 일하는 곳에 살게 합니다.

/casp

읽기 전용 상태 — 에이전트는 한 줄을 쓰기 전에 현재 흐름을 읽습니다.

/next

state.next_prompt에서 곧바로 다음 세션을 자동 시작합니다. 복사·붙여넣기도, 추측도 없습니다.

Claude Code · Cursor · Aider · Continue와 호환됩니다 — 파일을 읽는 것이라면 무엇이든.

09 / 엔지니어링 조직을 위해

에이전트가 무인으로 돌 때, 드리프트는 함대 차원의 문제가 됩니다.

에이전트 하나가 엉뚱한 일을 하면 한나절을 잃습니다. 백 개의 에이전트가 백 개의 저장소에서 그러면 한 분기를 잃습니다. CASP는 당신이 자동화 루프에 끼워 넣는 결정론적 가드레일입니다 — 모든 프로젝트에서 같은 모양으로.

필수 CI 상태 검사

casp check는 린트, 테스트와 같은 자리에 놓입니다. 거짓을 말하는 상태는 머지될 수 없습니다 — 드리프트는 누군가의 자제심에 맡겨지지 않고, 조직 차원에서 차단됩니다.

에이전트 함대를 위한 가드레일

자율 에이전트는 실수를 배가시킵니다. CASP는 그들 하나하나에게 읽을 같은 검증된 흐름과, push 전의 같은 단호한 게이트를 건넵니다. 중복 작업이라는 세금 없는 자동화입니다.

덤으로 따라오는 감사 추적

모든 상태 전이는 하나의 git 커밋입니다. 각 프로젝트가 어떻게 움직였는지에 대한, 완전하고 비교 가능하며 되돌릴 수 있는 기록 — git log 가 곧 당신의 컴플라이언스 추적입니다.

설계상 정보보안을 통과합니다

100% 로컬, 텔레메트리 제로, 클라우드 없음, 계정 없음. 심사할 것도, 빼낼 것도 없습니다. 보안 검토는 한 줄로 끝납니다: 머신을 결코 벗어나지 않습니다.

.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 네이티브, 100% 로컬. 텔레메트리 제로. 클라우드도, 계정도, 청구서도 없습니다.

2분 만에 출시

모든 프로젝트에 에이전트가 잃을 수 없는 흐름을 부여하세요.

설치하고, 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