From 533cf82ac8c70000409c0798ab8dd0598caca095 Mon Sep 17 00:00:00 2001 From: acamilo Date: Tue, 22 Sep 2026 16:26:29 +0000 Subject: [PATCH] infra(05-deploy): FLY_RESET_STATE=1 clears the chat ring too The deliberate reset already clears the tmpfs hot ring; the on-screen chat ring's sidecar lives there now, so it goes with it. --- infra/05-deploy.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/infra/05-deploy.sh b/infra/05-deploy.sh index 892bf3e..3b50552 100755 --- a/infra/05-deploy.sh +++ b/infra/05-deploy.sh @@ -258,9 +258,10 @@ if [ -n "$RELEASE_TARBALL" ]; then # BEFORE the symlink moves. Cost: one dataset load, a second or two. # # FLY_RESET_STATE=1 is the deliberate override: it archives the durable - # checkpoints (kept, never deleted) and clears the tmpfs hot ring, so the - # new build warms up fresh. Everything learned so far is thrown away, which - # is why it is not the default. + # checkpoints (kept, never deleted) and clears the tmpfs hot ring — the hot + # checkpoints and the on-screen chat ring's sidecar — so the new build warms + # up fresh. Everything learned so far is thrown away, which is why it is not + # the default. # ----------------------------------------------------------------------- state_dir="${FLY_STATE_DIR:-/srv/fly/state}" hot_dir="${FLY_STATE_HOT_DIR:-/run/fly/state}" @@ -294,7 +295,7 @@ if [ -n "$RELEASE_TARBALL" ]; then # state_dir is its own mountpoint, so the directory itself cannot be # renamed; its contents move instead. ct_exec "$CTID" -- sh -c "mkdir -p '$archive' && mv '${state_dir}'/*.checkpoint '${state_dir}/manifest.json' '$archive'/ 2>/dev/null; chown -R fly:fly '$archive'" - ct_exec "$CTID" -- sh -c "rm -f '${hot_dir}'/*.checkpoint '${hot_dir}/manifest.json' 2>/dev/null; true" + ct_exec "$CTID" -- sh -c "rm -f '${hot_dir}'/*.checkpoint '${hot_dir}/manifest.json' '${hot_dir}/chat-ring.json' 2>/dev/null; true" else die "05-deploy: REFUSING to deploy release ${version}: its checkpoint compatibility string does not match the live state in ${state_dir}, so flysim would refuse every checkpoint there and then refuse to start at all — a black stream. live state: ${live_compat}