Add ASW-based faultline strength scoring to Group#305
Group#305Conversation
Co-authored-by: mgmodell <7279993+mgmodell@users.noreply.github.com>
Co-authored-by: mgmodell <7279993+mgmodell@users.noreply.github.com>
Co-authored-by: mgmodell <7279993+mgmodell@users.noreply.github.com>
Co-authored-by: mgmodell <7279993+mgmodell@users.noreply.github.com>
Group
|
@copilot write Cucumber tests for this (like generate_diversity_scores.feature). |
Co-authored-by: mgmodell <7279993+mgmodell@users.noreply.github.com>
Added Cucumber coverage in commit |
|
@copilot , if code is inspired by research, the calculations should be documented with references to the research that served as inspiration (in this case: Keivan et. al and Keivan et. al) |
Co-authored-by: mgmodell <7279993+mgmodell@users.noreply.github.com>
Added the research documentation in commit |
|
@copilot what is the range of possible fault line strengths? Is it bounded? |
Yes—it's bounded. In this implementation the returned faultline strength is in |
This PR adds a faultline-strength capability to
Groupparallel to the existing diversity-score APIs, implementing an ASW-based approach for multiple subgroup structures. It introduces both direct group scoring and proposed-group scoring from email lists.Public faultline scoring API
Group#calc_faultline_strengthfor persisted groups.Group.calc_faultline_strength_for_group(users:)andGroup.calc_faultline_strength_for_proposed_group(emails:)to mirror the existing diversity-score method family.ASW computation pipeline
k = 2..n-1).0.0for undersized groups.Proposed-group query normalization
DISTINCTat query level so repeated email rows do not inflate subgroup/member counts.Focused model coverage