fix: Extract lib/pr-lifecycle.sh — walk-PR-to-merge library (#795)
New reusable library with clean function boundaries for the PR lifecycle: - pr_create, pr_find_by_branch — PR creation and lookup - pr_poll_ci — poll CI with infra vs code failure classification - pr_poll_review — poll for review verdict (bot comments + formal reviews) - pr_merge, pr_is_merged — merge with 405 handling and race detection - pr_walk_to_merge — full orchestration loop (CI → review → merge) - build_phase_protocol_prompt — git push instructions for agent prompts The pr_walk_to_merge function uses agent_run() which callers must define (guarded stub provided). This bridges to the synchronous SDK architecture where the orchestrator bash loop IS the state machine — no phase files. Extracted from: dev/phase-handler.sh, dev/dev-poll.sh, lib/ci-helpers.sh Smoke test updated to include the new library. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
779584be2d
commit
b7e09d17ef
2 changed files with 517 additions and 1 deletions
|
|
@ -113,7 +113,7 @@ echo "=== 2/2 Function resolution ==="
|
|||
# If a new lib file is added and sourced by agents, add it to LIB_FUNS below
|
||||
# and add a check_script call for it in the lib files section further down.
|
||||
LIB_FUNS=$(
|
||||
for f in lib/agent-session.sh lib/env.sh lib/ci-helpers.sh lib/load-project.sh lib/secret-scan.sh lib/file-action-issue.sh lib/formula-session.sh lib/mirrors.sh lib/guard.sh; do
|
||||
for f in lib/agent-session.sh lib/env.sh lib/ci-helpers.sh lib/load-project.sh lib/secret-scan.sh lib/file-action-issue.sh lib/formula-session.sh lib/mirrors.sh lib/guard.sh lib/pr-lifecycle.sh; do
|
||||
if [ -f "$f" ]; then get_fns "$f"; fi
|
||||
done | sort -u
|
||||
)
|
||||
|
|
@ -186,6 +186,7 @@ check_script lib/formula-session.sh lib/agent-session.sh
|
|||
check_script lib/load-project.sh
|
||||
check_script lib/mirrors.sh lib/env.sh
|
||||
check_script lib/guard.sh
|
||||
check_script lib/pr-lifecycle.sh
|
||||
|
||||
# Standalone lib scripts (not sourced by agents; run directly or as services).
|
||||
# Still checked for function resolution against LIB_FUNS + own definitions.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue