diff --git a/CLAUDE.md b/CLAUDE.md index fb97658..42427aa 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -18,4 +18,8 @@ bash scripts/sync.sh # Deploy to ~/.claud ## Rules - `lib/__init__.py` must be bare package marker (comment only, NO eager imports) - After edits: run `bash scripts/sync.sh` to deploy -- Git remotes: origin=private, upstream=public +- Git remote: origin = public (`mvanhorn/last30days-skill`) + +## Beta channel + +Experimental changes get tested on `mvanhorn/last30days-skill-private`, which installs as a parallel `/last30days-beta` slash command. Beta-only changes never ship to public without a review PR here. Workflow guide lives at `BETA.md` in the private repo. Plan that established this setup: `docs/plans/2026-04-17-005-feat-beta-skill-from-private-repo-plan.md`. diff --git a/scripts/compare.sh b/scripts/compare.sh index d32cdbe..47088e6 100755 --- a/scripts/compare.sh +++ b/scripts/compare.sh @@ -1,14 +1,13 @@ #!/bin/bash -# A/B/C test runner for last30days skill variants +# A/B test runner: public release vs private beta # Usage: bash scripts/compare.sh "Kanye West" # -# Runs all 3 skills sequentially (30s gap for rate limits), -# saves raw results with unique suffixes, then prints file paths -# for comparison. +# Runs /last30days (public release) and /last30days-beta (private beta) +# sequentially with a 30s gap, saves raw results with distinct suffixes, +# prints file paths for comparison. set -e -# Join all args as the topic (so "bash compare.sh Kevin Rose" works without quotes) if [ $# -eq 0 ]; then echo "Usage: bash scripts/compare.sh " echo " Example: bash scripts/compare.sh Kevin Rose" @@ -20,40 +19,42 @@ DIR="$HOME/Documents/Last30Days" DATE=$(date +%Y-%m-%d) echo "==============================================" -echo " A/B/C Test: $TOPIC" +echo " A/B Test: $TOPIC" echo " Date: $DATE" echo "==============================================" echo "" -# Run 1: v2.9 production -echo "[1/3] Running v2.9 (production /last30days)..." +# Run 1: public release +echo "[1/2] Running /last30days (public release)..." echo " This takes 2-4 minutes..." claude -p --dangerously-skip-permissions "/last30days $TOPIC" > /dev/null 2>&1 || true -V2_FILE="$DIR/${SLUG}-raw.md" -[ -f "$V2_FILE" ] && echo " ✓ Done → $V2_FILE" || echo " ✗ FAILED — no output file" +RELEASE_FILE="$DIR/${SLUG}-raw.md" +[ -f "$RELEASE_FILE" ] && echo " Done: $RELEASE_FILE" || echo " FAILED: no output file" echo "" echo " Waiting 30s for API rate limits..." sleep 30 -# Run 2: v3 Gemini -echo "[2/3] Running v3 (/last30days-3)..." +# Run 2: private beta +echo "[2/2] Running /last30days-beta (private beta)..." echo " This takes 2-4 minutes..." -claude -p --dangerously-skip-permissions "/last30days-3:last30days-skill-private $TOPIC" > /dev/null 2>&1 || true -V3GEM_FILE="$DIR/${SLUG}-raw-v3.md" -[ -f "$V3GEM_FILE" ] && echo " ✓ Done → $V3GEM_FILE" || echo " ✗ FAILED — no output file" -echo "" - +claude -p --dangerously-skip-permissions "/last30days-beta $TOPIC" > /dev/null 2>&1 || true +BETA_FILE="$DIR/${SLUG}-raw-beta.md" +[ -f "$BETA_FILE" ] && echo " Done: $BETA_FILE" || echo " FAILED: no output file" echo "" echo "==============================================" echo " Both complete. Raw files:" echo "==============================================" echo "" -ls -la "$DIR/${SLUG}-raw"*.md 2>/dev/null || echo " (no files found — check if skills saved correctly)" +ls -la "$DIR/${SLUG}-raw"*.md 2>/dev/null || echo " (no files found - check if skills saved correctly)" echo "" echo "To compare, run in Claude Code:" echo " Read and compare these raw research files, produce a detailed report:" -echo " $DIR/${SLUG}-raw.md" -echo " $DIR/${SLUG}-raw-v3.md" +echo " $RELEASE_FILE" +echo " $BETA_FILE" +echo "" +echo "Beta output should start with a line like:" +echo " 🧪 last30days-beta · branch · synced $DATE" +echo "If that line is missing, the beta badge regressed. See docs/plans/2026-04-17-005-*-plan.md." echo ""