Los nuevos modelos ejecutan toda tu hoja de ruta durante horas, incluso días, sin perder el hilo. Justo por eso la desviación del estado importa más, no menos: cuanto más hace un agente entre tus puntos de control, más fácil es que su estado registrado deje de coincidir con git en silencio. casp check es la compuerta determinista que bloquea el push en cuanto eso ocurre — con Claude Code hoy, y con cada modelo que llegue después.
Vuelves a un proyecto tras una semana — o haces malabares con cinco a la vez. El agente lee un archivo de estado que ya no coincide con la realidad, empieza con total confianza un trabajo que ya estaba entregado, y te quemas una tarde deshaciéndolo.
Tableros, tarjetas y hojas de cálculo no te salvan: reconstruir el contexto es manual, y el agente no puede leer nada de eso. El estado debe ser legible por máquinas, nativo de git — y demostrablemente verdadero.
CASP le da a cada proyecto un único hilo que sobrevive entre sesiones — y que no puede desviarse en silencio.{
"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
}
El espacio adyacente — Mem0, Letta, Zep, los nuevos proyectos de «memoria» nativos de git — todos almacenan lo que pasó. Casi ninguno verifica que el estado almacenado siga coincidiendo con la realidad de git. Esa verificación es casp check — y es obligatoria antes de cada push.
Tu next_prompt apunta a un archivo ya entregado — o que no existe. CASP se niega a arrancar la sesión equivocada.
last_commit ausente del historial, lista de migraciones desincronizada, estado sin confirmar — verificado contra git mismo, no contra una conjetura.
Sin puntuaciones difusas de similitud. Una compuerta dura y repetible de aprobado/fallido que detiene el push mientras el estado miente.
CASP no reemplaza nada en tu flujo de trabajo. Cubre el único hueco que nada más cubre — el presente validado de un proyecto, en una forma que tu agente puede leer y sobre la que puede actuar.
Sin base de datos. Sin servicio. Sin almacén de vectores. Tres archivos planos que un agente puede leer en la primera línea de cualquier sesión.
Legible por máquinas, por proyecto: fase actual, fase siguiente, el next-prompt exacto a ejecutar, fases entregadas, migraciones aplicadas, último commit, último id de sesión.
El «dónde estoy ahora mismo» de una pantalla. Ábrelo, recupera el hilo en cinco segundos — sin arqueología.
Las próximas 3 por entregar más un marcador de fases. El agente siempre conoce el orden del trabajo.
session-prompt, session-log y audit-brief hacen que cada sesión — humana o de agente — produzca artefactos con la misma forma. La estructura se impone, no se sugiere.Un producto real no es una sola función. Son docenas de fases entre API, cliente web y móvil, entregadas a lo largo de semanas por sesiones y agentes rotativos. CASP mantiene un único orden validado sobre todo ello — para que cualquier agente sepa qué fase viene a continuación, y nunca vuelva a entregar una ya entregada.
Y el bucle se cierra solo: al final de cada sesión el agente te escribe el prompt de la siguiente sesión — tú ajustas una línea, no lo redactas desde cero — añade un registro de sesión y actualiza el estado. Abres la siguiente sesión y retoma exactamente donde se detuvo la anterior. La hoja de ruta se ejecuta; tú supervisas.
Cada cifra de abajo se lee directamente del state.json de cada proyecto — el mismo archivo que lee el agente, validado contra git en el último push. Sin cuentas de marketing.
Un ERP de gestión de flotas de cara al cliente para una empresa de transporte en Costa de Marfil — web + móvil, multimódulo, multirrol: conductores, vehículos, cumplimiento, caja, taller, litigios, contabilidad.
Cada módulo es una fase validada. El agente lee la cabina de mando, ejecuta la siguiente fase desde next_prompt, y nunca ha vuelto a entregar un módulo ya entregado — ni siquiera en un día de seis sesiones.
La plataforma interna de operaciones y orquestación de lanzamientos de ZeroSuite — una hoja de ruta de varios meses trabajada por un equipo real, con control por modo de lanzamiento y un backlog post-lanzamiento rastreado.
Un único hilo validado a lo largo de más de 40 fases y tres personas — más 58 elementos explícitamente aplazados tras el lanzamiento, ninguno perdido. Este es el caso del «gran proyecto multiusuario» para el que se creó CASP.
El mismo protocolo, dos productos muy distintos. La cabina de mando es lo único que comparten.
Las herramientas de memoria recuerdan quién eres. CASP rastrea dónde está tu proyecto — y lo demuestra. Artefacto distinto, operación distinta, fallo distinto que previene.
Una sílaba, sin homógrafos, iguales en inglés, francés o español.
state.next_prompt.CASP incluye comandos slash de Claude Code para que el estado viva donde ya trabajas.
Estado de solo lectura — el agente lee el hilo actual antes de escribir una sola línea.
Arranca automáticamente la siguiente sesión directamente desde state.next_prompt. Sin copiar y pegar, sin adivinar.
Funciona con Claude Code · Cursor · Aider · Continue — cualquier cosa que lea archivos.
Un agente haciendo lo incorrecto cuesta una tarde. Cien agentes haciéndolo en cien repos cuesta un trimestre. CASP es el guardarraíl determinista que sueltas en el bucle de automatización — con la misma forma en todos los proyectos.
casp check ocupa la misma ranura que el lint y los tests. Un estado que miente no puede fusionarse — la desviación se bloquea a nivel de organización, no se deja a la disciplina de nadie.
Los agentes autónomos multiplican los errores. CASP entrega a cada uno de ellos el mismo hilo validado para leer y la misma compuerta dura antes de hacer push. Automatización sin el impuesto del trabajo duplicado.
Cada transición de estado es un commit de git. Un registro completo, comparable y reversible de cómo avanzó cada proyecto — git log es tu rastro de cumplimiento.
Solo local, cero telemetría, sin nube, sin cuenta. Nada que evaluar, nada que exfiltrar. La revisión de seguridad cabe en una línea: nunca sale de la máquina.
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
Un protocolo, cada repo. La misma forma validada, en toda la organización.
Un protocolo gana adopción al ser predecible. Estos no se doblan.
CASP verifica lo que tu repo es, nunca lo que pretendías hacer. Hechos contra git, cada vez.
Los artefactos canónicos se imponen, no se sugieren. Cada sesión sale con la misma forma.
El validador no es opcional. Un estado que miente nunca llega a tu remoto.
Determinista, nativo de git, solo local. Cero telemetría. Sin nube, sin cuenta, sin factura.
Instala, init, y tu agente lee la verdad en su primera línea.
$ npm i -g @justethales/casp $ casp init # scaffold the layer $ casp status # where am I right now $ casp check # prove the state is true