Files
GmRelayBot/docs/review-brief.md
Toutsu d034d6acb9 @chore(release): bump version to 3.9.0 (issue #112)
- deploy.yml: VERSION 3.8.0 -> 3.9.0 (docker image tag for next push to main)
- NavMenu.razor: visible version v3.8.0 -> v3.9.0
- CampaignTemplatesNavigationTests.NavMenu_ShouldExposeCurrentProjectVersion: expected v3.7.1 -> v3.9.0 (was broken since 3.8.0 bump in commit 71080ae)
- RELEASE_NOTES.md: prepend Minor 3.9.0 entry (Discord wizard, issue #112) with full file inventory
- docs/review-brief.md: code-review spec for the verifier session

Build green (0 warnings, 0 errors), dotnet format clean.
2026-06-05 22:48:49 +03:00

2.0 KiB

"""Detailed code review plan for the Discord wizard feature branch.

Read this file FIRST. It has the full review scope. The original prompt in the spawn was truncated due to Windows CLI limits; this file is the canonical spec. """

Branch to review

BRANCH = "feat/issue-112-wizard-refactor" BASE = "origin/main"

Files of interest

SHARED = "src/GmRelay.Shared/Features/Sessions/CreateSession/Wizard/" BOT_WIZARD = "src/GmRelay.Bot/Features/Sessions/CreateSession/Wizard/" BOT_CREATE = "src/GmRelay.Bot/Features/Sessions/CreateSession/" MIGRATION = "src/GmRelay.Bot/Migrations/V032__add_wizard_drafts_platform.sql" DISCORD = "src/GmRelay.DiscordBot/Features/Sessions/Wizard/" PROG_CS = "src/GmRelay.DiscordBot/Program.cs" TESTS_WIZ = "tests/GmRelay.Bot.Tests/Features/Sessions/CreateSession/Wizard/*" TESTS_SMOKE = "tests/GmRelay.Bot.Tests/Discord/DiscordWizardInteractionModuleSourceTests.cs" DELIVERABLE = "deliverable.md"

REVIEW_FOCUS = [ "Architecture: Shared/Bot/DiscordBot separation; no Telegram.Bot in Shared; no NetCord in Shared; single state machine source.", "Security: owner/co-GM checks everywhere; NRE on null Context.User; SQL injection; connection strings with passwords.", "Correctness: AOT-safety (no reflection, no dynamic); off-by-one in customId parsers; CancellationToken/Services.", "Style: naming consistent; Async/await by convention; logging at right levels.", "Tests: smoke tests are string-matching — where would real tests be useful?", "Migration safety: V032 DEFAULT value, will it fail on existing rows?", "Documentation: deliverable.md updated, open questions listed?", ]

OUTPUT_FORMAT = """\

VERDICT: APPROVE / REQUEST_CHANGES / COMMENT

Critical findings

(file:line — what's wrong — how to fix)

Important findings

(file:line — what's wrong)

Nits

(quick observations)

Summary

(1-2 sentences) """

COMMANDS_HINT = """
git fetch origin git diff origin/main..feat/issue-112-wizard-refactor --stat git diff origin/main..feat/issue-112-wizard-refactor dotnet build && dotnet test """