- Remove STATE_FILE variable and all STATE.md references from phase 2 - Restore matrix_send for gap analysis issue creation - Replace broad `git add -A "*.md"` with targeted `find -name AGENTS.md` Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
3bb75f18be
commit
7f41048aea
1 changed files with 6 additions and 12 deletions
|
|
@ -4,7 +4,7 @@
|
||||||
#
|
#
|
||||||
# Two-phase planner run:
|
# Two-phase planner run:
|
||||||
# Phase 1: Navigate and update AGENTS.md tree using Claude with tool access
|
# Phase 1: Navigate and update AGENTS.md tree using Claude with tool access
|
||||||
# Phase 2: Compare AGENTS.md + STATE.md vs VISION.md, create backlog issues
|
# Phase 2: Compare AGENTS.md vs VISION.md, create backlog issues for gaps
|
||||||
#
|
#
|
||||||
# Usage: planner-agent.sh (no args — uses env vars from .env / env.sh)
|
# Usage: planner-agent.sh (no args — uses env vars from .env / env.sh)
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|
@ -18,7 +18,6 @@ source "$FACTORY_ROOT/lib/env.sh"
|
||||||
|
|
||||||
LOG_FILE="$SCRIPT_DIR/planner.log"
|
LOG_FILE="$SCRIPT_DIR/planner.log"
|
||||||
CLAUDE_TIMEOUT="${CLAUDE_TIMEOUT:-3600}"
|
CLAUDE_TIMEOUT="${CLAUDE_TIMEOUT:-3600}"
|
||||||
STATE_FILE="${PROJECT_REPO_ROOT}/STATE.md"
|
|
||||||
VISION_FILE="${PROJECT_REPO_ROOT}/VISION.md"
|
VISION_FILE="${PROJECT_REPO_ROOT}/VISION.md"
|
||||||
|
|
||||||
log() { echo "[$(date -u +%Y-%m-%dT%H:%M:%S)Z] $*" >> "$LOG_FILE"; }
|
log() { echo "[$(date -u +%Y-%m-%dT%H:%M:%S)Z] $*" >> "$LOG_FILE"; }
|
||||||
|
|
@ -120,9 +119,7 @@ $(echo -e "$AGENTS_INFO")
|
||||||
git checkout "${PRIMARY_BRANCH}" --quiet 2>/dev/null || true
|
git checkout "${PRIMARY_BRANCH}" --quiet 2>/dev/null || true
|
||||||
else
|
else
|
||||||
# Commit and push
|
# Commit and push
|
||||||
git add -A "*.md" 2>/dev/null || git add -A 2>/dev/null
|
find . -name "AGENTS.md" -not -path "./.git/*" -exec git add {} +
|
||||||
# Only add AGENTS.md files and STATE.md
|
|
||||||
git diff --cached --name-only | grep -vE '(AGENTS|STATE)\.md$' | xargs -r git reset HEAD -- 2>/dev/null || true
|
|
||||||
|
|
||||||
if ! git diff --cached --quiet; then
|
if ! git diff --cached --quiet; then
|
||||||
git commit -m "chore: planner update AGENTS.md tree" --quiet 2>/dev/null
|
git commit -m "chore: planner update AGENTS.md tree" --quiet 2>/dev/null
|
||||||
|
|
@ -163,7 +160,7 @@ fi
|
||||||
# ── Phase 2: Gap analysis ───────────────────────────────────────────────
|
# ── Phase 2: Gap analysis ───────────────────────────────────────────────
|
||||||
log "Phase 2: gap analysis"
|
log "Phase 2: gap analysis"
|
||||||
|
|
||||||
# Build project state from AGENTS.md tree + STATE.md
|
# Build project state from AGENTS.md tree
|
||||||
PROJECT_STATE=""
|
PROJECT_STATE=""
|
||||||
for f in $(find . -name "AGENTS.md" -not -path "./.git/*" | sort); do
|
for f in $(find . -name "AGENTS.md" -not -path "./.git/*" | sort); do
|
||||||
PROJECT_STATE="${PROJECT_STATE}
|
PROJECT_STATE="${PROJECT_STATE}
|
||||||
|
|
@ -171,10 +168,6 @@ for f in $(find . -name "AGENTS.md" -not -path "./.git/*" | sort); do
|
||||||
$(cat "$f")
|
$(cat "$f")
|
||||||
"
|
"
|
||||||
done
|
done
|
||||||
[ -f "$STATE_FILE" ] && PROJECT_STATE="${PROJECT_STATE}
|
|
||||||
### STATE.md
|
|
||||||
$(cat "$STATE_FILE")
|
|
||||||
"
|
|
||||||
|
|
||||||
VISION=""
|
VISION=""
|
||||||
[ -f "$VISION_FILE" ] && VISION=$(cat "$VISION_FILE")
|
[ -f "$VISION_FILE" ] && VISION=$(cat "$VISION_FILE")
|
||||||
|
|
@ -202,7 +195,7 @@ PHASE2_PROMPT="You are the planner for ${CODEBERG_REPO}. Your job: find gaps bet
|
||||||
## VISION.md (human-maintained goals)
|
## VISION.md (human-maintained goals)
|
||||||
${VISION}
|
${VISION}
|
||||||
|
|
||||||
## Current project state (AGENTS.md tree + STATE.md)
|
## Current project state (AGENTS.md tree)
|
||||||
${PROJECT_STATE}
|
${PROJECT_STATE}
|
||||||
|
|
||||||
## Vision-labeled issues (goal anchors)
|
## Vision-labeled issues (goal anchors)
|
||||||
|
|
@ -219,7 +212,7 @@ For each gap, output a JSON object (one per line, no array wrapper):
|
||||||
|
|
||||||
## Rules
|
## Rules
|
||||||
- Max 5 new issues — focus on highest-leverage gaps only
|
- Max 5 new issues — focus on highest-leverage gaps only
|
||||||
- Do NOT create issues for things already documented in AGENTS.md or STATE.md
|
- Do NOT create issues for things already documented in AGENTS.md
|
||||||
- Do NOT create issues that overlap with ANY existing open issue, even partially
|
- Do NOT create issues that overlap with ANY existing open issue, even partially
|
||||||
- Do NOT create issues about vision items, tech-debt, or in-progress work
|
- Do NOT create issues about vision items, tech-debt, or in-progress work
|
||||||
- Each title should be a plain, action-oriented sentence
|
- Each title should be a plain, action-oriented sentence
|
||||||
|
|
@ -277,6 +270,7 @@ ${DEPS}"
|
||||||
RESULT=$(codeberg_api POST "/issues" -d "$CREATE_PAYLOAD" 2>/dev/null || true)
|
RESULT=$(codeberg_api POST "/issues" -d "$CREATE_PAYLOAD" 2>/dev/null || true)
|
||||||
ISSUE_NUM=$(echo "$RESULT" | jq -r '.number // "?"' 2>/dev/null || echo "?")
|
ISSUE_NUM=$(echo "$RESULT" | jq -r '.number // "?"' 2>/dev/null || echo "?")
|
||||||
log "Created #${ISSUE_NUM}: ${TITLE}"
|
log "Created #${ISSUE_NUM}: ${TITLE}"
|
||||||
|
matrix_send "planner" "📋 Gap issue #${ISSUE_NUM}: ${TITLE}" 2>/dev/null || true
|
||||||
CREATED=$((CREATED + 1))
|
CREATED=$((CREATED + 1))
|
||||||
|
|
||||||
[ "$CREATED" -ge 5 ] && break
|
[ "$CREATED" -ge 5 ] && break
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue