Releases: Coding-Autopilot-System/gsd-orchestrator
Release list
v4.1.0
4.1.0 (2026-07-13)
Features
- 26-01: add coverlet.runsettings with declarative boilerplate exclusions (2feb2c9)
- 26-01: rewrite CI gate to ratcheted branch-coverage threshold, add coverage tests (bffdee7)
- 27-02: map loop failures to typed FailureState records (#21) (439e75d)
Bug Fixes
- add JsonStringEnumConverter and flush-to-disk before atomic rename to prevent checkpoint corruption and replay errors (795242f)
- add JsonStringEnumConverter and flush-to-disk before atomic rename to prevent checkpoint corruption and replay errors (#17) (335e4d3)
- audit sweep (#11) (526e4e5)
- ci: repin release-please reusable workflow to reachable SHA (#25) (8146354)
- ci: wire release-please PAT into reusable workflow caller (#30) (f2d4800)
- powershell: mark non-ASCII scripts as UTF-8 (#29) (edfa2e1)
- recovery: preserve failed MCP state for fault injection (#20) (2080c44)
- validating: guard null fileResult from MCP before ParseInnerJson (42d80bc)
v4.0.0 - Quality Hardening
What's New in v4.0
CI Test Enforcement: dotnet test now runs in every CI pipeline with Coverlet XPlat Code Coverage. Coverage artifact uploaded.
73 xUnit Tests (up from 36): AnalyzingState (5), BranchingState (3), EditingState (5), CommittingState (5), DocumentingState (5), PrCreatingState (5), CheckpointStore (4).
Checkpoint Schema Versioning: GsdWorkflowContext now carries SchemaVersion 1.0. FileCheckpointStore.LoadAsync detects version mismatch and returns null for clean restart.
Portfolio Polish: GitHub topics applied across all CAS repos. OgeonX-Ai personal profile README rewritten.
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.
gsd-orchestrator v1.0.0
gsd-orchestrator v1.0.0
The first production release of an autonomous GitHub workflow system that converts a GitHub issue into a reviewed pull request — without human intervention.
What it does
gsd-orchestrator reads a GitHub issue, plans the code changes required, branches, edits the target files through a Claude-powered ReAct loop, validates the diff, commits, opens a pull request, posts a bot review comment, and updates the project changelog — all autonomously. If GSD_AUTO_MERGE=true, it squash-merges after documentation is complete.
How it works
State machine architecture — A 9-state workflow engine (Idle → Analyzing → Branching → Editing → Validating → Committing → PrCreating → Reviewing → Documenting → Done) makes each step auditable, resumable, and independently testable. Any state can transition to Failed without corrupting the workflow.
Stdio-based MCP integration — GitHub operations (branch creation, file reads and writes, PR management) are performed via a stdio-spawned github-mcp-server.exe process, using the Model Context Protocol as the transport layer. No HTTP polling, no webhook infrastructure required.
Polly resilience — Transient MCP failures trigger exponential backoff via Polly.Extensions 8.6.6. The orchestrator retries automatically rather than crashing on intermittent network errors.
File-based checkpointing — Workflow state is persisted to .gsd/state/{workflowId}.json after each state transition. Interrupted workflows resume from the last committed state with dotnet run -- --resume <workflow-id>.
Watch mode — --watch polls the target repository for open issues every 5 minutes, enabling fully unattended operation.
Stack
| Component | Version |
|---|---|
| Runtime | .NET 10 (Worker SDK) |
| LLM client | Anthropic.SDK 5.10.0 |
| AI abstractions | Microsoft.Extensions.AI 10.6.0 |
| Resilience | Polly.Extensions 8.6.6 |
| Hosting | Microsoft.Extensions.Hosting 10.0.7 |