Issue-217: Rearchitect monitor-prs as a dev_team-driven workflow - #231
Open
jodavis-claude wants to merge 1 commit into
Open
Issue-217: Rearchitect monitor-prs as a dev_team-driven workflow#231jodavis-claude wants to merge 1 commit into
jodavis-claude wants to merge 1 commit into
Conversation
Splits dev_team.py into a generic engine plus two leaf scripts (implement.py for the implement/fix task pipeline, monitor_prs.py for the new long-lived PR monitor) so each pipeline's Step subclasses/state map live separately from the shared state-machine/context-file infrastructure. monitor_prs.py drives two new Mermaid workflow assets (monitor-stack-plan.md, monitor-pr-plan.md) that expose every real scripted operation (gh stack sync, event scanning, worktree bootstrap, rebase-cascade continuation, cleanup) as its own individually-failable state, replacing monitor-prs's previous flat, untested prose loop. workflow-orchestrate gains a --script argument (symmetric with --workflow), a "notify" action verb for human-comment reactions (direct PushNotification, no agent spawn), item.context_file-aware dispatch routing (needed since monitor Steps act on a task's own context file, not the monitor's), a fix for needs_user_input when AskUserQuestion is unavailable to an Agent-spawned session (propagates via a new pending_user_question field instead), and a universal one-retry-then-hard-stop troubleshooter bound. concurrent-orchestrate gets a matching two-pass check to notice a spawned child's pending_user_question, answer it, and respawn. Also fixes a latent bug: merge_pending_deliverables() was never called against a task's own context file when fix-pr/resolve-rebase-conflict ran post-hand-off, so their scratch deliverables were silently never merged in. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
build-and-test: Python test resultsStatus: ✅ Passed Test log |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
dev_team.pyinto a generic engine plus two leaf scripts (implement.pyfor the implement/fix task pipeline,monitor_prs.pyfor the new long-lived PR monitor) so each pipeline's Step subclasses/state map live separately from the shared state-machine/context-file infrastructure.monitor_prs.pydrives two new Mermaid workflow assets (monitor-stack-plan.md,monitor-pr-plan.md) that expose every real scripted operation (gh stack sync, event scanning, worktree bootstrap, rebase-cascade continuation, cleanup) as its own individually-failable state, replacing monitor-prs's previous flat, untested prose loop.workflow-orchestrategains a--scriptargument (symmetric with--workflow), anotifyaction verb for human-comment reactions (direct PushNotification, no agent spawn),item.context_file-aware dispatch routing (needed since monitor Steps act on a task's own context file, not the monitor's), a fix forneeds_user_inputwhenAskUserQuestionis unavailable to an Agent-spawned session (propagates via a newpending_user_questionfield instead), and a universal one-retry-then-hard-stop troubleshooter bound.concurrent-orchestrategets a matching two-pass check to notice a spawned child'spending_user_question, answer it, and respawn.merge_pending_deliverables()was never called against a task's own context file when fix-pr/resolve-rebase-conflict ran post-hand-off, so their scratch deliverables were silently never merged in.Test plan
python3 -m pytest plugins/dev-team/skills/workflow-orchestrate/scripts/— 409 passed