From 64bb5a304baca37ed3b1a34b27549fc96d6e5058 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Thu, 19 Mar 2026 00:34:45 -0700 Subject: [PATCH] fix: add gstack-review-log and gstack-review-read atomic helpers Branch names with `/` break review log filepaths when Claude Code runs multi-line bash blocks as separate shell invocations. These two scripts encapsulate the full operation in a single command. Co-Authored-By: Claude Opus 4.6 (1M context) --- bin/gstack-review-log | 9 +++++++++ bin/gstack-review-read | 12 ++++++++++++ 2 files changed, 21 insertions(+) create mode 100755 bin/gstack-review-log create mode 100755 bin/gstack-review-read diff --git a/bin/gstack-review-log b/bin/gstack-review-log new file mode 100755 index 00000000..ad29c172 --- /dev/null +++ b/bin/gstack-review-log @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# gstack-review-log — atomically log a review result +# Usage: gstack-review-log '{"skill":"...","timestamp":"...","status":"..."}' +set -euo pipefail +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +eval $("$SCRIPT_DIR/gstack-slug" 2>/dev/null) +GSTACK_HOME="${GSTACK_HOME:-$HOME/.gstack}" +mkdir -p "$GSTACK_HOME/projects/$SLUG" +echo "$1" >> "$GSTACK_HOME/projects/$SLUG/$BRANCH-reviews.jsonl" diff --git a/bin/gstack-review-read b/bin/gstack-review-read new file mode 100755 index 00000000..247c022f --- /dev/null +++ b/bin/gstack-review-read @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# gstack-review-read — read review log and config for dashboard +# Usage: gstack-review-read +set -euo pipefail +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +eval $("$SCRIPT_DIR/gstack-slug" 2>/dev/null) +GSTACK_HOME="${GSTACK_HOME:-$HOME/.gstack}" +cat "$GSTACK_HOME/projects/$SLUG/$BRANCH-reviews.jsonl" 2>/dev/null || echo "NO_REVIEWS" +echo "---CONFIG---" +"$SCRIPT_DIR/gstack-config" get skip_eng_review 2>/dev/null || echo "false" +echo "---HEAD---" +git rev-parse --short HEAD 2>/dev/null || echo "unknown"