codsh 0.23.0 — Mission Contract: `/ship` that won't silently drift A developer released codsh 0.23.0, a DeepSeek-native terminal coding agent built on the open dsh harness, introducing a Mission Contract control plane for its /ship command. The contract compiles sealed acceptance criteria into a machine-checkable mission.contract.json so that scope drift blocks a run instead of silently rewriting the goal, and delivery requires recorded evidence. The release also adds a wayfinder step before the grill interview and tighter parent/subagent coordination, distributed via the codsh-cli and codsh-bundle npm packages. codsh is a DeepSeek-native terminal coding agent on open dsh https://github.com/deepseek-ai/deepseek-harness . It is not a Claude Code env wrapper. The hook stays the same: /ship takes one sentence to verified code. 0.23.0 ships the Mission Contract control plane for that loop — so acceptance criteria stay sealed, drift blocks the run instead of rewriting the goal, and delivery needs recorded evidence. When Gate 1 confirms the spec, /ship compiles a machine-checkable Mission Contract mission.contract.json from the sealed Main Track, Out of Scope, and acceptance criteria. After seal: Also in this release: wayfinder before the grill interview destination + open decisions, separate from implementation , and tighter parent/subagent coordination — one parent-owned ticket per turn, fresh-context children for investigation / landing / review, parent keeps questions, gates, and final proofs. npm: codsh-cli + codsh-bundle 0.23.0 . Ad-hoc agent plans live in conversation memory. They drift. Acceptance becomes vibes. /ship keeps the human projection in Markdown and the runner-owned contract on disk: While work is in flight you get a panorama : TTY overlay Ctrl+G , a ticket-count teaser with the local Web flowchart URL, and the flowchart itself — /ship does not auto-open a browser. Coming from Claude Code / Codex? Different harness, different product. Redirecting Claude Code at DeepSeek with env vars works; this is the native path on dsh. Map what maps / what’s missing on issue 64 https://github.com/Blackman99/codsh/issues/64 . /ship builds gallery Every gallery project started from a one-sentence request. Real screenshots and playable results: blackman99.github.io/codsh/gallery.html https://blackman99.github.io/codsh/gallery.html Publishing: upload local PNGs from /workspace/codsh-assets/gallery-0.23.0/ as cover + inline if Dev.to prefers hosted uploads. npm install -g @deepseek-ai/dsh codsh-cli export DEEPSEEK API KEY=… or any OpenAI-compatible route via ~/.dsh/settings.yaml codsh Node ≥22.19 . Already on a matching dsh? npm i -g codsh-cli is enough. Then: js /ship let long diffs open in a pager instead of scrolling past For tiny edits, plain chat or ⇧Tab plan mode is enough — /ship is multi-phase and burns tokens on purpose. codsh-cli codsh-bundle Early project. Sharp edges welcome — especially Windows 62 and third-party endpoints 63 .