From 00155f28fc77982ae20e37f29702e9a5d6473f08 Mon Sep 17 00:00:00 2001 From: Levi Neely Date: Fri, 24 Apr 2026 08:48:58 +0200 Subject: [PATCH] s/b: write s/new as single write() to avoid partial-KV parse failure Bash's printf builtin issues one write() syscall per call; the server processes each write independently, so the first write (name= only) would fail the cwd-required check. Build the full KV string first, then write once. Co-Authored-By: Claude Sonnet 4.6 --- scripts/s/b | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/scripts/s/b b/scripts/s/b index d442e49..f3eba75 100755 --- a/scripts/s/b +++ b/scripts/s/b @@ -77,13 +77,17 @@ fn_run_one() { local id=$1 local B="$MOUNT/s/$id" - { - printf 'name=%s\n' "$id" - printf 'cwd=%s\n' "$cwd" - [ -n "$agent" ] && printf 'agent=%s\n' "$agent" - [ -n "$backend" ] && printf 'backend=%s\n' "$backend" - [ -n "$model" ] && printf 'model=%s\n' "$model" - } > "$MOUNT/s/new" || die "failed to create session" + # Build as a single string: bash's printf builtin issues one write() per call; + # the server processes each write independently, so partial KV would fail. + local kv="name=${id} +cwd=${cwd}" + [ -n "$agent" ] && kv="${kv} +agent=${agent}" + [ -n "$backend" ] && kv="${kv} +backend=${backend}" + [ -n "$model" ] && kv="${kv} +model=${model}" + printf '%s\n' "$kv" > "$MOUNT/s/new" || die "failed to create session" printf '%s\n' "$prompt" > "$B/prompt" || die "failed to submit prompt"