feat(loop): allow run_loop.sh to automatically load existing plan if --plan is omitted
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
|
||||
Run an autonomous planning-execution-review loop using multiple agents (Planner, Creator, Reviewers) in the workspace. It supports:
|
||||
- **Collaborative Planning** (`--plan` and `--plan-talk N`): Planner designs the solution, Creator challenges the plan for N turns to resolve edge cases, then implementation starts.
|
||||
- **Self-Planning** (default): Creator designs and executes the code independently.
|
||||
- **Self-Planning** (default): Planner를 거치지 않고 직접 구현을 시작합니다. 이때 최신 승격된 계획서(`.agents/reports/canary-projects-multi-agent-mux-planner-reviewer-claude/report-final.md`)가 존재한다면 이를 자동으로 로드하여 계획에 입각해 자율 구현합니다.
|
||||
- **Targeted Peer-Review** (`--reviewer`): Runs custom-selected reviewer agents to verify code changes.
|
||||
- **Total Peer-Review** (`--all-reviewer`): Enforces a unanimous PASS verdict from all registered reviewer sessions.
|
||||
- **Self-Review** (default): Creator verifies its code changes autonomously without peer reviews.
|
||||
|
||||
@@ -147,7 +147,7 @@ import os, json
|
||||
d = json.loads(os.environ.get('MAM_STATE_JSON', '{}'))
|
||||
target_agent = os.environ.get('TARGET_AGENT')
|
||||
reviewers = [s.get('name') for s in d.get('tmux_sessions', [])
|
||||
if s.get('role') == 'reviewer' and s.get('name') != target_agent]
|
||||
if 'reviewer' in s.get('role', '') and s.get('name') != target_agent]
|
||||
print(','.join(reviewers))
|
||||
"
|
||||
}
|
||||
@@ -185,9 +185,9 @@ resolve_planner_session() {
|
||||
MAM_STATE_JSON="$(load_state_json)" python3 -c "
|
||||
import os, json
|
||||
d = json.loads(os.environ.get('MAM_STATE_JSON', '{}'))
|
||||
planner = 'canary-projects-multi-agent-mux-planner-claude'
|
||||
planner = 'canary-projects-multi-agent-mux-planner-reviewer-claude'
|
||||
for s in d.get('tmux_sessions', []):
|
||||
if s.get('role') == 'planner':
|
||||
if 'planner' in s.get('role', ''):
|
||||
planner = s.get('name')
|
||||
break
|
||||
print(planner)
|
||||
@@ -312,6 +312,11 @@ if [ "$PLAN_MODE" = true ]; then
|
||||
log_success "Interactive planning completed. Plan finalized."
|
||||
else
|
||||
log_info "=== Phase 1: Self-Planning Mode (Direct Execution) ==="
|
||||
EXISTING_PLAN_FILE=".agents/reports/canary-projects-multi-agent-mux-planner-reviewer-claude/report-final.md"
|
||||
if [ -f "$EXISTING_PLAN_FILE" ]; then
|
||||
log_info "Found existing promoted plan at '$EXISTING_PLAN_FILE'. Loading plan..."
|
||||
CURRENT_PLAN=$(cat "$EXISTING_PLAN_FILE")
|
||||
fi
|
||||
fi
|
||||
|
||||
# ===========================================================================
|
||||
@@ -324,8 +329,8 @@ log_info "=== Phase 2: Code Implementation ==="
|
||||
BASE_COMMIT=$(git rev-parse HEAD 2>/dev/null || echo "")
|
||||
|
||||
EXECUTION_PROMPT="다음 작업 목표를 완성해주세요: $TASK"
|
||||
if [ "$PLAN_MODE" = true ]; then
|
||||
EXECUTION_PROMPT="최종 합의된 다음 계획서에 입각하여 코드를 수정 및 구현해주세요. 계획서:\n$CURRENT_PLAN"
|
||||
if [ -n "$CURRENT_PLAN" ]; then
|
||||
EXECUTION_PROMPT="이미 수립된 다음 계획서에 입각하여 작업자의 판단하에 코드를 구현하고 작업 목표를 완성해주세요. 계획서:\n$CURRENT_PLAN\n\n작업 목표: $TASK"
|
||||
fi
|
||||
|
||||
EXEC_JOB_OUTPUT=$(bash .agents/skills/multi-agent-mux-delegate-job/multi-agent-mux-delegate-job submit \
|
||||
|
||||
Reference in New Issue
Block a user