Update dev-team plugin version#41
Merged
Merged
Conversation
…elSteps (#32) * ADR-277: uncommitted changes at validation * ADR-277: Address PR review comments - Delete Step.run() shim - Remove redundant print() status calls from step methods - Remove results parameter from handle_results() and --results CLI arg - Split reviewing state into creating-pr + reviewing; delete _REDISPATCH - Make combine_results abstract on ParallelSteps - Update workflow files and dev-team.md orchestration docs accordingly Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Bump dev-tools version from 1.2.1 to 1.2.2 * Increment plugin version in dev-team plugin JSON Increment the version in the plugin JSON file for the dev-team plugin by 0.0.1 in each task. --------- Co-authored-by: Joe Davis <ElwoodMoves@hotmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Joe Davis <jodasoft@outlook.com>
* ADR-234: uncommitted changes at validation
* ADR-234: Address review comments — exit-0 guarantee, dirty-tree skip, quoted paths
- Wrap parse_args() in try/except SystemExit so --help and argument
errors exit 0 instead of propagating and blocking SessionStart.
- Check git status --porcelain before pulling; skip and log to stderr
when the working tree has local changes.
- Run both git invocations with GIT_TERMINAL_PROMPT=0 and timeout=30
to prevent interactive credential prompts from hanging the hook.
- Quote \${CLAUDE_PLUGIN_ROOT} and \${CLAUDE_PLUGIN_DATA} in hooks.json
so paths containing spaces are passed as single arguments.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Joe Davis <ElwoodMoves@hotmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
) * Fix pipeline friction: permissions, branch setup, skill file access - Pre-approve common git/script commands in ~/.claude/settings.json to eliminate repeated approval prompts for get-context-path.sh and git ops - Add setting-up pipeline state + SetupWorkspaceStep: finds epic branch via spec/Jira, pulls latest, creates dev/claude/<work-item-id> before research - Fix task-runner to embed skill content in sub-agent prompt (reads skill file itself and substitutes $TASK_BRIEF/$ARGUMENTS/etc.) so sub-agents no longer need plugin-dir file access via the Skill tool - Fix developer-implement step 0: check for exact dev/claude/<id> branch name instead of loose "contains work-item-id" which matched feature branches - Simplify branch naming: drop slug suffix, use dev/claude/<work-item-id> only - Pass plugin_root to task-runner so it knows where to load skill files from Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Update dev-team version to 1.2.3 --------- Co-authored-by: Joe Davis <ElwoodMoves@hotmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…ipts (#40) * Create the workflow-setup skill and consume it from researcher-plan. The workflow-setup skill ensures we are on the right branch and that the context file is initialized. All other skills will depend on this one, so that any skill will start a context file and work in the right branch regardless of how it is invoked. The researcher-plan skill is the first to take advatage of this. * Create the workflow-worker skill, which wraps other skills to make sure they behave correctly within a workflow context. * Integrate workflow-setup into developer-implement * Create the `workflow-script` skill to replace the `script-runner` agent * Add context file usage to all the step commands used by `implement-task-pipeline.md` * workflow-orchestrate skill to run the orchestration loop * Bug fixes in the implement-task workflow * Fix more bugs in the workflow system - Developer needs access to GitHub MCP for reading comments - Researcher and Reviewer need Edit to update the context file - Moved workflow-related scripts to the workflow-orchestrator skill - Deleted some obsolete commands (create-branch, dev-team) and steps (SetupWorkspaceStep) - Developer should not resolve review comments - Pass the precomputed log-file into workflow-script * Fix 1: Forbid cd-prefixed git commands in developer skill files The developer agent was prepending `cd <repo-root> &&` before git commands despite the Claude Code system prompt already prohibiting this pattern. Added an explicit reminder in both developer-implement and developer-fix so the instruction is visible inside the skill context where the agent operates. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix 2: Spawn troubleshooter on non-zero dev_team.py exit or non-successful agent result Previously the orchestrator would stop and report on dev_team.py non-zero exit (which invited the top-level agent to investigate inline, building up context). It also had no handling at all when a workflow-worker or workflow-script returned anything other than 'successful'. Now both conditions spawn the troubleshooter sub-agent, keeping investigation out of the orchestrator's context window. Also added the `workflow-troubleshooter` skill, since it was missing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix 3: Replace --watch flag with explicit polling loop in wait-pr-checks.sh `gh pr checks --watch` relies on interactive terminal features and was returning immediately when run in a non-interactive subprocess (the script-runner agent), causing the signoff step to evaluate checks before they had completed. Replace with an explicit polling loop that queries the JSON bucket field every 15 seconds until no checks remain in the "pending" bucket, with a 30-minute timeout. Also changed exit codes: exit 1 on failure or timeout, exit 0 only on pass, so the workflow-script agent records a meaningful failure message in the context file rather than always writing "Succeeded". Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix 4: Check for 'Succeeded' not 'passed' in signoff build result The workflow-script agent writes 'Succeeded' to the context section when the script exits 0, and a failure description when it exits non-zero. The signoff build-validation step was checking startswith("passed"), which never matched 'Succeeded', so the step always returned "failed" even when all checks passed. This caused the signoff->fixing-pr loop to cycle indefinitely on a clean PR. Updated both BuildValidationStep.handle_results() and SignoffStep.handle_results() to check for 'Succeeded', consistent with what workflow-script actually writes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix 4 (revised): Standardize section result parsing on JSON status objects The original Fix 4 was wrong in two ways: - For spawn_agent skills (debugger-investigate, developer-create-pr), the step handlers were using text heuristics instead of parsing the JSON the skills already write to their sections. - For the run_script build-validation step, changing to 'Succeeded' addressed the symptom but not the root cause: the section should carry structured status, not a generic word. Changes: workflow-script/SKILL.md: when the last non-empty log line is a valid JSON object, write it as the section result instead of 'Succeeded'. Scripts that don't output JSON continue to get 'Succeeded'/'failure description' as before. wait-pr-checks.sh: emit a JSON status object as the final stdout line on every exit path so workflow-script picks it up into the section: {"status": "passed"} or {"status": "failed", "reason": "..."} dev_team.py: - DebugStep: read {"status": "reproduced"} from debug_report instead of scanning for the heading string "# Debug report for" - CreatePrStep: read {"pr_url": "..."} from the PR URL section instead of applying a regex over the raw section text - BuildValidationStep / SignoffStep: revert 'Succeeded' back to 'passed', now correctly sourced from parse_json_output(ctx.signoff_build_result) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * PR #40: Fix typo and add PR check failures fetch in developer-fix.md Fix 'tthe' typo on line 22, and extend Step 3 to also fetch PR check failures alongside review comment threads. * PR #40: Restore first-pass code review intro line in reviewer-review.md The line 'You are performing the first-pass code review for the work item described in the context file.' was accidentally removed during the refactor. * PR #40: Use named arguments when invoking workflow-orchestrate in implement.md workflow-orchestrate expects --work-item-id, --workflow, and --research-skill named arguments; the previous invocation used positional args which don't match. * PR #40: Fix $SCRIPT_DIR typo to $SKILL_DIR in workflow-orchestrate/SKILL.md The --workflow flag was referencing $SCRIPT_DIR which is undefined; all other paths in the file correctly use $SKILL_DIR. * PR #40: Clarify work-item-type and fix step 4e issues in workflow-setup/SKILL.md Add a 'Determining work-item-type' table so the branches that reference work-item-type are actionable. Fix duplicate '4e' heading (renamed second to '4f') and correct typo 'ins' -> 'is'. * PR #40: Fix path expansion, fatal pull, and remote-only checkout in prepare-working-branch.py - Add .expanduser() so ~-prefixed context file paths resolve correctly. - Make pull() exit on failure; it is only called when the branch is known to exist on the remote, so any pull error is a real problem. - Update checkout() to use 'git checkout -b <branch> origin/<branch>' when the branch exists only on the remote, avoiding failures on clean clones where no local ref exists yet. * PR #40: Fix test_handle_results_extracts_pr_url_from_section to use JSON section format The test was not updated when Fix 4 changed CreatePrStep.handle_results() to parse a JSON object (via parse_json_output) instead of a raw URL string. * PR #40: Fail wait-pr-checks.sh when gh pr checks errors instead of defaulting to 0 Previously, '|| echo "0"' masked auth errors, network failures, and missing gh CLI by treating them as "no pending/failing checks" and reporting success. Now uses 'if !' to capture the error output and exit with a JSON failure object when gh returns a non-zero exit code. --------- Co-authored-by: Joe Davis <ElwoodMoves@hotmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
build-and-test: Python test resultsStatus: ✅ Passed Test log |
Owner
Author
|
@copilot resolve merge conflicts in the branch |
# Conflicts: # plugins/dev-team/.claude-plugin/plugin.json
Contributor
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.
No description provided.