---
name: v0185-checkpoint-edu-70ms-submit
description: 2026-07-09 SHIPPED v0.18.5 — checkpoint agent-education (fear-disarm + intent-map) + 70ms pre-enter submit settle in the translate binary
metadata: 
  node_type: memory
  type: project
  originSessionId: 57495b6e-3f65-40bd-b9b7-a7177ccb8a8d
---

**SHIPPED 2026-07-09 — adapter v0.18.5 (version-of-truth; strings + binary). GH release live with
adapter.spt asset. Skeleton unchanged (no cplugs bump). Operator pickup: `spt adapter update
claude-spt`.**

Two operator-requested changes, one release:

1. **Checkpoint agent-education** (adapter strings — edited BOTH delivery paths a live agent reads):
   `adapter/strings/briefs/live-ops.md` (the `live-ops` brief, composed into the perched SessionStart
   brief — manifest `[strings.briefs]`) AND `adapter/strings/skills/live.md` step 5 (the `/sptc:live`
   go-live body, because going live in-session does NOT re-fire SessionStart). Two education fixes:
   (a) **disarm the "checkpoint takes my perch down" fear** — it does NOT; it cleans the context window
   + restores durable context (role + freshest commune), the OPPOSITE of signoff (nothing goes
   offline); (b) **map operator intent** — when the operator says "checkpoint" / "save and clear" /
   "compact and continue", that MEANS a commune WITH the `!!checkpoint!!` marker, not a plain commune
   (agents were communing plain). See [[v0180-items-3-5-and-f032]] lineage for commune/checkpoint.

2. **70ms pre-enter submit settle** (translate binary, `tools/claude-spt/src/translate.rs`): the
   text→enter settle was 50ms (`DELAY_MS`) and a paragraph-length injection could still be landing
   when the discrete `enter` fired → the enter coalesced into the tail as a SOFT NEWLINE instead of
   submitting. Fix = new `const ENTER_SETTLE_MS: u64 = 70` used at ALL FOUR pre-enter sites
   (commands_for_event message, commands_for_boundary wake + rename, commands_for_clear `/clear`
   submit). **DELIBERATELY split**: the post-`ctrl+s` STASH-settle stays `DELAY_MS = 50` (unrelated to
   the soft-newline race) — I did NOT bump every delay wholesale (offered; operator took the surgical
   split). 250 crate tests green (pre-enter test vectors → `delay:70`, stash → `delay:50`); binary
   dogfood confirms `ctrl+s · delay 50 · text · delay 70 · enter · commit`. No REQ change (covered by
   REQ-DIST-IDLE-TRANSLATE / -CHECKPOINT-COMMUNE / -BOUNDARY-RENAME / ROLE-EDIT-ROUNDTRIP).

Ship mechanics (binary release): all 3 triples rebuilt — win native `cargo build`, linux-gnu + musl
via `cargo zigbuild` (zig at `~/.sptc-zig/zig-x86_64-windows-0.14.1` on PATH); `dist/adapter.spt`
(gitignored artifact, rides GH release only) repacked; `gh release create v0.18.5 --repo
SaberMage/claude-spt ... dist/adapter.spt#adapter.spt`. Repo commit 132189c, tag v0.18.5 pushed.
