BookinglyTech News
Inteligencia artificial

codsh 0.23.0 sella los criterios de aceptación de /ship para bloquear el drift

El agente de codificación en terminal nativo de DeepSeek publica la Mission Contract, un contrato en disco que impide que el agente reescriba el objetivo a mitad de ejecución.

3 min de lecturaDev.to0 vistas

codsh es un agente de codificación en terminal nativo de DeepSeek, montado sobre dsh y sin pasar por Claude Code. La versión 0.23.0 de codsh, ya publicada en npm, añade la Mission Contract: un contrato que el runner escribe en disco y que fija los criterios de aceptación de /ship, el comando que convierte una frase en código verificado. A partir del sello, el agente deja de poder reescribir el objetivo a mitad de camino.

El problema que ataca es conocido por cualquiera que haya dejado a un agente trabajar solo durante media hora: el plan vive en la memoria de la conversación, deriva, y al final la aceptación se decide a ojo. Aquí, cuando el Gate 1 confirma la especificación, /ship compila un mission.contract.json verificable por máquina a partir del Main Track, el Out of Scope y los criterios de aceptación. Todo eso queda inmutable, igual que las decisiones de la entrevista previa y la redacción original.

Los cuatro mecanismos

Las escrituras sobre zonas protegidas se rechazan. Un drift externo detiene la ejecución y lo deja todo en disco para inspección posterior, en lugar de aceptar la reescritura. El Alignment Gate rechaza cualquier escritura que no esté mapeada a un requisito o que toque memoria inmutable. El Drift Detector puntúa la desviación entre plan y acción contra el sello, y reescribir el Main Track es un bloqueo, no un cambio aceptado. El Verifier empareja cada criterio de aceptación con evidencia registrada: sin ella, la entrega no se completa.

El flujo completo es Pre-flight, wayfinder, entrevista de especificación (Gate 1), tickets (Gate 2), landing con TDD y cierre con evidencias. Mientras hay trabajo en vuelo, el usuario ve un panorama con un overlay en la TTY bajo Ctrl+G, un resumen del número de tickets y la URL del flowchart web local; /ship no abre el navegador por su cuenta. También entra en esta versión el wayfinder previo a la entrevista, que fija destino y decisiones abiertas al margen de la implementación, y una coordinación padre/subagente más estricta: un ticket por turno en manos del padre e hijos con contexto limpio para investigar, aterrizar y revisar.

La instalación son tres pasos: Node 22.19 o superior, npm install -g @deepseek-ai/dsh codsh-cli, la variable DEEPSEEK_API_KEY o cualquier ruta compatible con OpenAI declarada en ~/.dsh/settings.yaml, y codsh. Los paquetes codsh-cli y codsh-bundle van con licencia MIT. El autor avisa de que el proyecto es joven y pide que le manden las aristas que encuentren, sobre todo en Windows y con endpoints de terceros.

Para quien venga de Claude Code o Codex, la advertencia es explícita: redirigir Claude Code a DeepSeek con variables de entorno funciona, pero esto es otro harness y otro producto. Hay un mapeo de equivalencias y huecos en la incidencia #64 para quien quiera comparar antes de migrar.

Lo relevante no es el comando en sí, sino dónde vive la intención. Si el contrato está en disco y las evidencias se registran, un equipo puede auditar qué se acordó y qué se entregó sin releer un historial de chat de dos horas. El precio es que /ship es multifase y consume tokens a propósito; el propio autor recomienda el chat normal o el modo plan para ediciones pequeñas. Queda por ver si el mecanismo aguanta proyectos reales más allá de la galería de ejemplos.