#!/usr/bin/env bash # gstack-review-read — read review log and config for dashboard # Usage: gstack-review-read # # Emits, in order: the raw reviews JSONL, ---CONFIG--- (skip_eng_review), # ---HEAD--- (short sha), ---WTREE--- (current working-tree fingerprint from # bin/gstack-wtree, or "unknown"), ---TREE--- (HEAD tree, informational) and # ---DIRTY--- (tracked-file dirty flag). Consumers grade diff-scoped review # rows CURRENT when a record's `wtree` equals ---WTREE---; everything needed # for that rule ships in this one output so graders run no extra commands. 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" echo "---WTREE---" "$SCRIPT_DIR/gstack-wtree" 2>/dev/null || echo "unknown" echo "---TREE---" git rev-parse 'HEAD^{tree}' 2>/dev/null || echo "unknown" echo "---DIRTY---" if [ -n "$(git status --porcelain -uno 2>/dev/null | head -1)" ]; then echo "true"; else echo "false"; fi