fix(aigen): align schema collation default and guard misconfigured boot#8
Merged
Merged
Conversation
Source audit revealed that the route initialized selectedClubId from clubs.items[0], silently violating the spec's "first queue item" rule; the `none` SelectedClubAction variant was dead code; filter chips were in the spec but unwired in the plan; AccessDeniedException handling was already in place via SharedApplicationErrorHandler; and Task 3 broke the TypeScript build until Task 4 landed. Fix the docs so each issue is addressed at the level (spec or plan) where it belongs. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Capture the source-verified notification source-of-truth analysis, the FeedbackDocumentService.kt:126 call-site removal, the AI commit single-fire check, and the E2E impact on aigen-jsonupload-coexistence. Also flag the rename ordering trap in Task 2 and pin the required E2E update list so the plan stops describing it as optional. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Three changes that close the loop on the v1.10.0/v1.10.1 incident chain: 1. V33 schema-default collation alignment. Production database default was utf8mb4_unicode_ci while existing tables (clubs.id, users.id, ...) are utf8mb4_0900_ai_ci, which is what caused V31's FK to fail with errno 3780. V33 runs ALTER DATABASE DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci — affects only new tables/columns that omit an explicit COLLATE, no rewrite of existing data. 2. AiGenerationConfigValidator. @PostConstruct check that fails fast with an actionable message when readmates.aigen.enabled=true but no AiGenerationJobQueue bean is wired. Replaces the cryptic "No qualifying bean of type AiGenerationJobQueue" boot failure that surfaced in v1.10.1. Checks bean existence (not just kafka.enabled flag) so narrow integration tests using @MockitoBean still boot. 3. FK-collation regression test in MySqlFlywayMigrationTest. Forces a schema-default vs clubs.id collation mismatch and verifies that implicit-COLLATE FK creation fails while explicit-COLLATE succeeds. Cleanup in finally to preserve Testcontainers withReuse(true). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes the loop on the v1.10.0/v1.10.1 incident chain with three changes:
No functional changes. Tag v1.10.2 to deploy.
Test plan
🤖 Generated with Claude Code