Fix project docs and build config to match actual codebase#1
Merged
Conversation
- Rewrite CLAUDE.md: replace references to non-existent patterns (SqlRepoUtils, RepoResolver, QuillWrapper, zio-protoquill) with accurate descriptions of Magnum-based SQL layer and CcasSubtype system - Fix SBT version in Versions.scala (1.10.11 → 1.12.0) to match build.properties - Remove commented-out zio-schema and scala-reflect dependencies from build.sbt and unused vZioSchema from Versions.scala - Add application.conf.example template for new developer onboarding https://claude.ai/code/session_01Tkct32FMZzGdPqxKLwdFXU
Sootopolis
added a commit
that referenced
this pull request
Apr 11, 2026
Three issues surfaced after running recruitment in production with the new CheckAdminOfDiscoveredClub filter: 1. evaluateClub's "skip if existing admin rows" branch incorrectly accepted candidates whose admin rows had been persisted earlier in the same run by another candidate's late-confirm pass — the run-start adminExcludedPlayerIds set didn't see those rows. Fix: in that branch, re-apply the gate predicate against current local data and check the candidate's membership directly. Extracted a passesGate helper so both branches use identical predicates. 2. ClubAdmin.replaceForClub raced with itself when two recruitment fibers concurrently late-checked the same unknown club: under READ COMMITTED both transactions DELETE 0 rows in their own snapshots, then collide on the INSERT with a duplicate-key violation. Added ON CONFLICT (club_id, player_id) DO NOTHING to the INSERT. Documented why in the scaladoc. 3. Persistent 404s on restricted mega-clubs (chess-com-community, improvers, etc.) were re-fetched once per candidate. Added a per-run failedAdminSlugs Ref so we give up on a slug after the first failure within a run; resets on next run so transient failures get a fresh chance. Includes a regression test for #1 (two candidates, both admins of the same newly-discovered sizable club, processed sequentially — both must be rejected). Verified by stashing the fix and confirming the test fails with the buggy code, then restoring. Co-Authored-By: Claude Opus 4.6 (1M context) <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.
(SqlRepoUtils, RepoResolver, QuillWrapper, zio-protoquill) with
accurate descriptions of Magnum-based SQL layer and CcasSubtype system
build.properties
build.sbt and unused vZioSchema from Versions.scala
https://claude.ai/code/session_01Tkct32FMZzGdPqxKLwdFXU