From 7b749e1fdc5c6966e0a70ecd1d6d1a9e7cf56394 Mon Sep 17 00:00:00 2001 From: kenbak wan Date: Mon, 2 Nov 2026 08:28:35 -0500 Subject: [PATCH] Fix status.sh reading "dirty": false as unknown jq's // operator treats false as missing, so a clean release-info.json reported DIRTY. Verified against mainnet release 20261102-b902f50: now prints "drift: none (serving main)" and exits 0. Co-Authored-By: Claude Opus 5.5 --- scripts/release/status.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/release/status.sh b/scripts/release/status.sh index 5e190d0..5c69d2a 100755 --- a/scripts/release/status.sh +++ b/scripts/release/status.sh @@ -13,7 +13,8 @@ if ! test -f "$info"; then fi sha=$(jq -r '.source_head // empty' "$info") -dirty=$(jq -r '.dirty // .source_dirty // "unknown"' "$info") +# Not `//`: jq treats false as missing there, which hid "dirty": false. +dirty=$(jq -r 'if has("dirty") then .dirty elif has("source_dirty") then .source_dirty else "unknown" end' "$info") echo "commit: $sha (dirty: $dirty)" if test "$dirty" != false; then echo "drift: DIRTY (running code is not a committed revision)"