Skip to content

ADR-256: Remove authenticated connector tools from sub-agents; add 8-milestone scrum master table - #12

Merged
jodavis merged 8 commits into
feature/ADR-246-cloud-dev-teamfrom
dev/claude/ADR-256-remove-authenticated-connector-tools-fr
Jun 5, 2026
Merged

ADR-256: Remove authenticated connector tools from sub-agents; add 8-milestone scrum master table#12
jodavis merged 8 commits into
feature/ADR-246-cloud-dev-teamfrom
dev/claude/ADR-256-remove-authenticated-connector-tools-fr

Conversation

@jodavis-claude

Copy link
Copy Markdown
Collaborator

Work item

ADR-256 — Remove Jira MCP tools from the Developer sub-agent, update the Reviewer output format to reflect the thread-based schema, and add the full 8-milestone scrum master milestone table (with sidecar file mechanics) to dev-team.md so the top-level session owns all GitHub and Jira operations.

Changes

  • plugins/dev-team/agents/developer.md — Removed all five Jira MCP tool entries (mcp__jira__atlassianUserInfo, mcp__jira__getTransitionsForJiraIssue, mcp__jira__transitionJiraIssue, mcp__jira__editJiraIssue, mcp__jira__addCommentToJiraIssue) from the tools: list; Developer now relies solely on Bash/git for its operations.
  • plugins/dev-team/agents/reviewer.md — Updated role description body and replaced the output format section: old {"status": "...", "pr_url": "..."} replaced with the full {body, threads[], status} schema; documented that pr_url moves to the scrum master sidecar file.
  • plugins/dev-team/commands/dev-team.md — Added Step 6 (244 lines) covering: sidecar file structure (.claude/logs/dev-team/<work-item-id>-threads.json) and load/write semantics; context file section extraction via sentinel comments; Jira idempotency guard; thread-posting logic (reply-existing vs. create-new); and all 8 milestone entries with full action descriptions.

Design decisions

  • mcp__github__help unavailable — fell back to gh CLI. The spec called for discovering exact MCP method names for reply-to-thread and resolve-thread at implementation time. The plugin:github:github MCP server never became available in this session. Used gh api .../pulls/comments/<id>/replies (for githubCommentId) and gh api graphql resolveReviewThread (for githubThreadId) — the same patterns already established in reviewer-review.md and reviewer-sign-off.md.
  • Reviewer frontmatter description not changed. The brief flagged updating "Creates GitHub PRs and posts structured review comments" as an ambiguity (scope unclear for ADR-256). Resolved conservatively — no change.
  • Step 6 is additive. Steps 1–5 are untouched; Step 6 describes concurrent scrum master behavior triggered by [DEV-TEAM] markers while Step 4's pipeline runs.

…ema, add dev-team.md milestone table

All authenticated connector tools removed from developer.md per the scrum-master-owns-all-operations design.
Reviewer output schema updated to thread-based JSON. Full 8-milestone table added to dev-team.md with sidecar
persistence, thread-matching, and Jira idempotency guard.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@jodavis-claude jodavis-claude left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ADR-256 First-Pass Review

Three issues require changes: one exit-criterion gap (P1) and two correctness bugs in dev_team.py (P2). One documentation note (P4) on reviewer.md frontmatter.

Exit criteria status

  • developer.md: all 5 Jira MCP tools removed
  • reviewer.md: output format updated to {body, threads[], status}
  • dev-team.md: all 8 milestones present with sidecar read/write logic; [DEV-TEAM] PR details ready absent (guard satisfied)
  • GitHub MCP method names for reply/resolve: implementation uses gh api REST/GraphQL instead of MCP methods (see inline comment)

Comment thread plugins/dev-team/commands/dev-team.md Outdated
Comment thread plugins/dev-team/scripts/dev_team.py Outdated
Comment thread plugins/dev-team/scripts/dev_team.py
jodavis-claude and others added 5 commits June 4, 2026 12:22
* ADR-255: Update reviewer/developer skill files to use thread schema

- reviewer-review.md: replace $PR_URL with $BASE_BRANCH; remove Step 3
  (PR gate) and Step 6 (gh api post); replace gh pr diff with git diff
  origin/$BASE_BRANCH; output uses threads[] with filePath/lineNumber/
  resolved/comments schema (no id field)
- reviewer-sign-off.md: replace $PR_URL with $BASE_BRANCH and
  $REVIEW_THREADS; remove GraphQL fetch (Step 3), GitHub MCP resolve
  calls, gh api post (Step 6), and Step 6a; Reviewer evaluates threads
  from $REVIEW_THREADS and returns every thread evaluated (comments: []
  if no new comment); output has no status field; id preserved on
  carried-over threads
- developer-fix.md: remove Step 3 (GitHub MCP fetch) and Step 4
  (triage with direct GitHub reply); add Build/Test Issues and Review
  Threads input sections; add mode-detection; in review-fix mode
  Developer returns full updated threads[] JSON block; disagree flow
  appends Developer comment to thread instead of posting to GitHub

* ADR-255: Fix developer-fix.md to preserve prior comments in threads output

Returning comments: [] erased the original Reviewer comment, leaving
the sign-off Reviewer with no issue description. Instruction now says
to include all prior comments as-is and append a Developer reply only
when disagreeing or explaining. Example JSON block updated to match.

* ADR-255: Fix FixPrStep to increment iteration before save

ctx.save() was called before ctx.review_fix_iteration += 1, so a
crash between the two lines would replay the step with the same
iteration count, allowing one extra retry beyond the configured limit.

---------

Co-authored-by: Joe Davis <ElwoodMoves@hotmail.com>
…_team.py

P2a: Move ctx.save() to after review_fix_iteration and work_summaries updates in
FixPrStep so a pipeline resume after interruption sees the correct iteration count
and the latest work summary.

P2b: Preserve signoff body in SignoffStep when failures is empty but threads are
unresolved. ctx.review_notes now falls back to ctx.signoff_notes so the developer-fix
agent receives textual context explaining why sign-off failed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…frontmatter

P1: Add implementation note to the thread-posting section of dev-team.md explaining
that mcp__github__help was called but plugin:github:github was unavailable, and that
gh api REST/GraphQL calls are the direct equivalent. Preserves all functional
behaviour; satisfies the exit criterion by documenting the discovery outcome.

P4: Update reviewer.md description frontmatter to remove "Creates GitHub PRs" —
the scrum master owns PR creation after ADR-256; the reviewer only outputs a
structured JSON result.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The reply endpoint requires the pull number in the path:
  /pulls/<pull-num>/comments/<id>/replies
not the shorter form without it. Verified empirically while posting PR
thread replies — the shorter form returns 404.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ment for reply-to-thread

Satisfies exit criterion #4: MCP method name discovered from plugin:github:github
server and now referenced in Thread-posting logic. resolve-thread continues to
use gh api graphql resolveReviewThread (no MCP equivalent exists).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@jodavis-claude jodavis-claude left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign-off review: all three prior threads addressed satisfactorily. (1) Exit criterion #4 met — mcp__plugin_github_github__add_reply_to_pull_request_comment discovered and used in dev-team.md; resolve-thread correctly falls back to gh api graphql resolveReviewThread since no MCP equivalent exists. (2) review_notes empty-string bug fixed — ctx.signoff_notes or join(failures) preserves sign-off body when only failure is unresolved threads. (3) ctx.save() ordering in FixPrStep corrected — iteration count and work summaries now persisted before save. No new P1–P4 issues found in modified files. Approving.

@jodavis-claude
jodavis-claude marked this pull request as ready for review June 4, 2026 19:23
@jodavis-claude
jodavis-claude requested a review from jodavis June 4, 2026 19:23
@jodavis
jodavis changed the base branch from main to feature/ADR-246-cloud-dev-team June 5, 2026 15:51
@jodavis
jodavis enabled auto-merge (squash) June 5, 2026 15:52
@jodavis
jodavis disabled auto-merge June 5, 2026 16:02
@jodavis
jodavis merged commit 008be6e into feature/ADR-246-cloud-dev-team Jun 5, 2026
@jodavis
jodavis deleted the dev/claude/ADR-256-remove-authenticated-connector-tools-fr branch June 5, 2026 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants