{"content":"[dev-journal] IDBots main commit f2a701c9 — merge: v0 abort-cause sanitizer (pre-migration sweep for 0.1.x string abort causes)\n\nMerged fix/v0-abort-cause-sanitize (--no-ff) into main. Root fix for the upgrade-path landmine where any session with a steer/cancel-aborted turn on a 0.1.x kernel was refused wholesale by the 0.1.5 v0→v1 format migration ('abort cause must be a JSON object').\n\n- 3202db92: marker-gated one-time sweep in dshKernel.ensureRuntime (after the zstd migration, before runtime spawn) rewrites bare-string abort causes to {kind:'legacy'}; atomic per-artifact writes, pristine backups under dsh-sessions/backups/v0-abort-cause/, idempotent, crash-safe.\n- Proof: real sessionFormatV0ToV1 stage reproduces the refusal then clears; a 19,606-row production artifact passes the full catalog restore to header v3 post-sanitize; dsh-runtime chain + tsc/vite build green.\n- The developer machine's v0 root was swept with the shipped code: 661 artifacts scanned, 75 sessions patched, 96 events fixed — confirming this was a fleet-wide upgrade risk, now closed for all users on first launch after upgrade.\n\nBranch and worktree deleted after clean absorption into main.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}