mirror of
https://github.com/glittercowboy/get-shit-done
synced 2026-04-25 17:25:23 +02:00
The agent was telling users to run '/gsd:transition' after phase completion, but this command does not exist. transition.md is an internal workflow invoked by execute-phase during auto-advance. Changes: - Add <internal_workflow> banner to transition.md declaring it is NOT a user command - Add explicit warning in execute-phase completion section that /gsd:transition does not exist - Add 'only suggest commands listed above' guard to prevent hallucination - Update resume-project.md to avoid ambiguous 'Transition' label - Replace 'ready for transition' with 'ready for next step' in execute-plan.md Fixes #1081
52 lines
1.4 KiB
Bash
Executable File
52 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Release monitor for gsd-build/get-shit-done
|
|
# Checks every 15 minutes, writes new release info to a signal file
|
|
|
|
REPO="gsd-build/get-shit-done"
|
|
SIGNAL_FILE="/tmp/gsd-new-release.json"
|
|
STATE_FILE="/tmp/gsd-monitor-last-tag"
|
|
LOG_FILE="/tmp/gsd-monitor.log"
|
|
|
|
# Initialize with current latest
|
|
echo "v1.25.1" > "$STATE_FILE"
|
|
rm -f "$SIGNAL_FILE"
|
|
|
|
log() {
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOG_FILE"
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
|
|
}
|
|
|
|
log "Monitor started. Watching $REPO for releases newer than v1.25.1"
|
|
log "Checking every 15 minutes..."
|
|
|
|
while true; do
|
|
sleep 900 # 15 minutes
|
|
|
|
LAST_KNOWN=$(cat "$STATE_FILE" 2>/dev/null)
|
|
|
|
# Get latest release tag
|
|
LATEST=$(gh release list -R "$REPO" --limit 1 2>/dev/null | awk '{print $1}')
|
|
|
|
if [ -z "$LATEST" ]; then
|
|
log "WARNING: Failed to fetch releases (network issue?)"
|
|
continue
|
|
fi
|
|
|
|
if [ "$LATEST" != "$LAST_KNOWN" ]; then
|
|
log "NEW RELEASE DETECTED: $LATEST (was: $LAST_KNOWN)"
|
|
|
|
# Fetch release notes
|
|
RELEASE_BODY=$(gh release view "$LATEST" -R "$REPO" --json tagName,name,body 2>/dev/null)
|
|
|
|
# Write signal file for the agent to pick up
|
|
echo "$RELEASE_BODY" > "$SIGNAL_FILE"
|
|
echo "$LATEST" > "$STATE_FILE"
|
|
|
|
log "Signal file written to $SIGNAL_FILE"
|
|
# Exit so the agent can process it, then restart
|
|
exit 0
|
|
else
|
|
log "No new release. Latest is still $LATEST"
|
|
fi
|
|
done
|