* Update .NET Copilot SDK cookbook for GitHub.Copilot.SDK 1.0
Align the dotnet copilot-sdk cookbook recipes and docs with the 1.0.1 release:
- Namespace GitHub.Copilot.SDK -> GitHub.Copilot
- MCP config uses Dictionary<string, McpServerConfig> + McpStdioServerConfig (drop Type discriminator)
- StopAsync no longer returns an error list; wrap graceful shutdown in try/catch
- GetMessagesAsync -> GetEventsAsync with event pattern matching
- LogLevel string -> CopilotLogLevel.Error enum
* Address PR review: clarify package/namespace, default event case, MCP stdio wording
- Note that the GitHub.Copilot.SDK package exposes the GitHub.Copilot namespace in each recipe
- Add a default case + note to the GetEventsAsync history example so other event kinds are not silently dropped
- Refine accessibility-report docs to describe a local stdio MCP server (McpStdioServerConfig via npx)
* Address re-review: add using for event types, note StopAsync throw behavior
- Add WorkingDirectory/working_directory to pin sessions to project root
- Add OnPermissionRequest/on_permission_request for unattended operation
- Add tool execution event logging for visibility
- Add See Also cross-links to error-handling and persisting-sessions
- Add best practices for WorkingDirectory and permission auto-approval
- Consistent across all 4 languages (Node.js, Python, .NET, Go)
Git operations (commit, push) belong in the prompt instructions, not
hardcoded in the loop orchestrator. The SDK recipes should focus purely
on the SDK API: create client, create session, send prompt, destroy.
- Move session.On handler outside loop to prevent handler accumulation (C#)
- Use TrySetResult instead of SetResult to avoid duplicate-set exceptions (C#)
- Wrap CreateSessionAsync in broader try/finally so client always stops (C#)
- Fix PersistentRalphLoop to use maxIterations parameter instead of hardcoded 10
- Align model name to gpt-5.1-codex-mini across all doc snippets
- Fix completion promise DONE -> COMPLETE in usage snippet
- Replace Claude references with generic model terminology
Add iterative RALPH-loop (Read, Act, Log, Persist, Halt) pattern
implementations for all four supported languages:
- C#/.NET: ralph-loop.cs with documentation
- Node.js/TypeScript: ralph-loop.ts with documentation
- Python: ralph_loop.py with documentation (async API)
- Go: ralph-loop.go with documentation
Each recipe demonstrates:
- Self-referential iteration where AI reviews its own output
- Completion promise detection to halt the loop
- Max iteration safety limits
- File persistence between iterations
Verified against real Copilot SDK APIs:
- Python: fully verified end-to-end with github-copilot-sdk
- Node.js: fully verified end-to-end with @github/copilot-sdk
- C#: compiles and runs successfully with GitHub.Copilot.SDK
- Go: compiles against github.com/github/copilot-sdk/go v0.1.23