Skip to content

fix(group-audit): PI membership comes from the NIH grant roster, not … - #272

Merged
nadernik merged 1 commit into
mainfrom
dev
Aug 8, 2026
Merged

fix(group-audit): PI membership comes from the NIH grant roster, not …#272
nadernik merged 1 commit into
mainfrom
dev

Conversation

@nadernik

@nadernik nadernik commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

…self-reported role

Policy call while testing the audit: "only people who can be pulled out of RePORTER are PIs." Verified against the KG -- of 24 addresses on pi@ that were queried, 23 are Co-Investigator and only one is genuinely PI-level. They are not intruders: groupsForRole treats co-investigator as PI-level, so the rule itself was wider than the policy.

The audit now derives pi@ entitlement from grant_investigators (contact_pi/co_pi/mpi/PI), which is the NIH-RePORTER-derived roster, and ignores investigators.role entirely for this purpose -- 25 members self-report a PI-ish title with no PI roster row at all, and roster 'co-investigator' does not qualify either. Expected pi@ membership: 98 -> 74.

It also now reports EXTRA members by ADDRESS per group (previously only a count), because that is the list an admin has to act on. Repair still only ADDS -- removals stay a deliberate manual action, deliberately, since removing people from a mailing list is outward-facing.

NOTE: the agent's groupsForRole and the KG sync-member-groups still assign pi@ from the self-reported role, so new co-investigators will keep being added until those follow this rule.

…self-reported role

Policy call while testing the audit: "only people who can be pulled out of RePORTER are PIs."
Verified against the KG -- of 24 addresses on pi@ that were queried, 23 are Co-Investigator and
only one is genuinely PI-level. They are not intruders: groupsForRole treats co-investigator as
PI-level, so the rule itself was wider than the policy.

The audit now derives pi@ entitlement from grant_investigators (contact_pi/co_pi/mpi/PI), which
is the NIH-RePORTER-derived roster, and ignores investigators.role entirely for this purpose --
25 members self-report a PI-ish title with no PI roster row at all, and roster 'co-investigator'
does not qualify either. Expected pi@ membership: 98 -> 74.

It also now reports EXTRA members by ADDRESS per group (previously only a count), because that
is the list an admin has to act on. Repair still only ADDS -- removals stay a deliberate manual
action, deliberately, since removing people from a mailing list is outward-facing.

NOTE: the agent's groupsForRole and the KG sync-member-groups still assign pi@ from the
self-reported role, so new co-investigators will keep being added until those follow this rule.
@nadernik
nadernik merged commit 1f18d53 into main Aug 8, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant