You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove old participant_stats() in favor of vectorized replacement
Delete the O(participants × groups × members) participant_stats() from
repness.py (~130 lines) now that _compute_participant_info_optimized()
on the Conversation class provides a 3-15x faster NumPy replacement.
- Remove function from repness.py and __init__.py exports
- Update all imports (conversation.py, run_analysis.py, 4 test files)
- Rewrite 3 test methods to call the vectorized Conversation method
- Add "remove dead code after replacement" principle to the plan
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: delphi/docs/PLAN_DISCREPANCY_FIXES.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,6 +49,7 @@ Because this work will span multiple Claude Code sessions, we maintain:
49
49
-**All datasets, not just biodiversity**: Every fix must pass on ALL datasets. biodiversity is just one reference among many.
50
50
-**Synthetic edge-case tests**: Every time we discover an edge case specific to one conversation, extract it into a synthetic unit test with made-up data (never real data from private datasets). These run fast and document the intent clearly.
51
51
-**E2E awareness**: GitHub Actions has Cypress E2E tests (`cypress-tests.yml`) testing UI workflows, and `python-ci.yml` running pytest regression. The Cypress tests don't test math output values directly, but `python-ci.yml` will break if clustering/repness changes. Formula-level fixes (D4, D5, D6, D7, D8, D9) are pure computation — no E2E risk. Selection logic changes (D10, D11) and priority computation (D12) could affect what the TypeScript server returns. We decide case-by-case which PRs need E2E verification.
52
+
-**Remove dead code after replacement**: When a function is replaced by a new implementation (e.g. vectorized version), the old function must be deleted and all callers updated — not left as dead code. Do this in the same PR or a follow-up, after benchmarks and tests confirm the replacement works.
52
53
53
54
### Datasets Available (sorted by size, smallest first)
0 commit comments