v3.0.0 — PR Review Loop, Multi-Repo Support, Autonomous Test Generation
What's New in v3.0.0
Phase 12 — Robustness Foundation
- Serilog structured JSON logging on every state transition (WorkflowId, StateName, IssueNumber, DurationMs)
- Polly v8 ratio-based circuit breaker on all MCP tool calls — prevents cascading failures
- xUnit + NSubstitute test project with 7 deterministic GsdStateMachine tests
Phase 13 — Smarter Issue Triage
- New
TriagingStateruns before planning — classifies issues as actionable / needs-info / duplicate / out-of-scope --triageflag: classify only, post comment, exit without full workflow- Duplicate detection via
list_issuescontext; out-of-scope issues closed automatically
Phase 14 — Autonomous Test Generation
- New
TestGeneratingStateafterEditingState— Claude generates xUnit tests for every code change - Tests committed alongside code on the feature branch
ValidatingStateverifies test compilation before PR is opened
Phase 15 — PR Review Loop
- New
--pr <N>mode: fetch diff → Claude LLM review (3-attempt retry) → inline comments with severity → APPROVE or REQUEST_CHANGES - Inline comments include file path, line number, and severity (info / warning / error)
- Legacy
--issueflow completely unaffected
Phase 16 — Multi-Repo Support
GSD_REPOSJSON array:[{"owner":"org","repo":"name","rateLimitDelaySeconds":30}]- Backwards compatible — falls back to
GSD_GITHUB_OWNER+GSD_GITHUB_REPOifGSD_REPOSis absent - Watch mode processes all configured repos in sequence with per-repo rate-limit delay
- Checkpoints namespaced per repo — no cross-contamination on resume
Test Coverage
35 tests, 0 failures across all state machine paths, triage logic, test generation, and multi-repo config.
Upgrade Notes
No breaking changes. Existing single-repo GSD_GITHUB_OWNER/GSD_GITHUB_REPO configuration continues to work without modification.