Validation: Fix GroupMe reconciliation (requires_approval + nickname)

validation-159-2026-03-27 Validation

validation pass

Verdict: PASS

Ticket

forgejo_admin/basketball-api#159 — Fix GroupMe reconciliation: set requires_approval=false on new groups and add nickname parameter to add_member. PR #195.

Environment

Local checkout at commit f26ec7c. Tests run with pytest.

Checks

# Criterion How Verified Result Evidence
1 PR merged to main <code>git log --oneline -5</code> PASS Commit <code>f26ec7c fix: set requires_approval=false on new GroupMe groups (#195)</code> at HEAD, plus <code>344afc5 chore: remove unused _run_script helper from reconciliation tests</code> (cleanup commit)
2 update_group called after create_group with requires_approval=False Read <code>scripts/create_groupme_groups.py</code> PASS Line 136: <code>client.update_group(group_id, requires_approval=False)</code> called immediately after group creation
3 add_member includes nickname parameter Read <code>scripts/create_groupme_groups.py</code> PASS Lines 144-148: <code>client.add_member(group_id=group_id, user_id=user_id, nickname=name)</code> with name from the loop tuple
4 Test: update_group called with requires_approval=false <code>pytest tests/test_reconciliation.py -v</code> PASS <code>test_update_group_called_with_requires_approval_false PASSED</code>
5 Test: add_member includes nickname <code>pytest tests/test_reconciliation.py -v</code> PASS <code>test_add_member_includes_nickname PASSED</code>
6 Test: existing groups are skipped <code>pytest tests/test_reconciliation.py -v</code> PASS <code>test_existing_groups_are_skipped PASSED</code>

Regression Check

All 3 reconciliation tests pass (0.34s). The script still correctly skips teams that already have a groupme_group_id. Error handling wraps both update_group and add_member in try/except so failures are logged but don't block the reconciliation loop.

Discovered Issues

None.