$ the-wire · showcase
Crabbox hardens checkpoint forks and lifecycle claims
By RepoJournal · Filed · About OpenClaw
Crabbox shipped replay-safe checkpoint forks with exact lease IDs plus a wave of claim-fencing fixes for machines, Morph instances, and Semaphore jobs.
Crabbox now lets external orchestrators fork a checkpoint under a fixed lease ID with `checkpoint fork <chk> --lease-id cbx_<12 hex>`, using warmup-equivalent replay adoption, and both `checkpoint create` and `fork` gained machine-readable output [1]. Separately, `checkpoint inspect --verify --json` and `checkpoint delete` used to exit 2 when the local record was missing; they now return a verdict and delete idempotently, so automation can distinguish a dead checkpoint from an operational error [2].
Crabbox also fenced resource lifecycles behind exact scoped claims. Retained Machine0 workers lost their coordinator heartbeat after provisioning because generic heartbeat authorization compared against the wrong scope; claims are now bound to `machine0:<cloud-id>` [3]. Morph instances require an exact API-scoped local ownership claim before pause, delete, or cleanup, with claims and SSH keys preserved on failures [4]. Semaphore CI jobs require exact org-host/project/job claims before stopping, with idempotent cleanup of already-finished jobs [5].
In the agents, direct-message turns now persist sender identity (`senderId`, `senderName`, `senderUsername`); previously the Control UI rendered the operator fallback `You` because transcript persistence dropped the sender [6]. Cloud session failures now show one shared error notice with a readable, selectable diagnostic and a copy control, instead of a single truncated line [7].
Action items
- → Update crabbox to use `checkpoint fork --lease-id` for deterministic lease adoption openclaw/crabbox [plan]
- → Review crabbox claim fencing changes before next deploy if you use Machine0, Morph, or Semaphore openclaw/crabbox [immediate]
- → Verify direct-message sender identity now persists in transcripts openclaw/openclaw [plan]
References
- [1] feat: replay-safe fixed checkpoint forks and JSON output ↗ openclaw/crabbox
- [2] fix: machine-readable missing-checkpoint verdicts and idempotent delete ↗ openclaw/crabbox
- [3] fix(machine0): retained workers lose coordinator heartbeat ↗ openclaw/crabbox
- [4] fix(morph): fence instance lifecycle with exact scoped claims ↗ openclaw/crabbox
- [5] fix(semaphore): fence job lifecycle with exact scoped claims ↗ openclaw/crabbox
- [6] fix(agents): persist sender identity for direct-message turns ↗ openclaw/openclaw
- [7] fix(ui): make cloud failure diagnostics readable and copyable ↗ openclaw/openclaw