-
-
Notifications
You must be signed in to change notification settings - Fork 206
docs(revdep): Analyze and document reverse dependency problems #2500
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: krlmlr <1741643+krlmlr@users.noreply.github.com>
Co-authored-by: krlmlr <1741643+krlmlr@users.noreply.github.com>
|
@copilot: Check if passing |
Co-authored-by: krlmlr <1741643+krlmlr@users.noreply.github.com>
Yes! The mechanism: Updated analysis and examples to document this workaround. Commit: 3351e96 |
|
@copilot: Create a script that uses |
Co-authored-by: krlmlr <1741643+krlmlr@users.noreply.github.com>
Created
Usage: Outputs to
See |
|
@copilot: Determine now if the package is on GitHub or not, the script should either create an issue or draft an e-mail, not both. |
Co-authored-by: krlmlr <1741643+krlmlr@users.noreply.github.com>
Updated script to determine upfront if package is on GitHub:
Previously created 6 files (3 issue templates + 3 emails), now creates only what's needed. Commit: 1ad205a |
Analyzed three packages with newly broken checks to determine root causes and assess whether issues stem from igraph bugs or downstream package issues.
Analysis
Created
revdep/problems-analysis.mdwith detailed findings:1. Cascade - Namespace Collision (Minor)
New
circulant()export conflicts withmagic::circulant. Non-breaking warning only.Root cause:
make_circulant()added in v2.2.1.9003 exports constructor alias that collides with magic package.2. jewel - Integer Validation (High Impact)
Package breaks on non-integer
nitervalues:Root cause:
rewire_impl()usesas.numeric()but C code now strictly validates integers. Previously silently truncated.Recommendation: Add
as.integer(round(niter))inrewire_keeping_degseq()for backward compatibility.3. rSpectral - Modularity Changes (Medium Impact)
Tests fail due to different modularity values.
Root cause:
modularity_impl()auto-detects weight attribute whenweights = NULL:Workaround discovered: Passing
weights = numeric()effectively disables auto-detection:This works because
numeric()is notNULL(skips auto-detection), but!all(is.na(numeric()))isFALSE, causing the code to setweights <- NULLinternally.Deliverables
revdep/problems-analysis.md: Root cause analysis, assessment, and recommendations for each issuerevdep/examples/*.R: Runnable minimal reproducible examples demonstrating each problem, including theweights = numeric()workaroundrevdep/notify-maintainers.sh: Automation script to notify package maintainers via GitHub issues or email draftsrevdep/NOTIFY-README.md: Documentation for using the notification scriptMaintainer Notification Script
Created
notify-maintainers.shto automate notifying package maintainers:ghCLI to create GitHub issues directly for packages hosted on GitHub (Cascade, jewel, rSpectral)notifications/directoryUsage:
./notify-maintainers.shThe script checks repository accessibility first and creates only the appropriate output type per package, eliminating redundant files.
See
NOTIFY-README.mdfor detailed instructions on using the script, authentication setup, and troubleshooting.By submitting this pull request, I assign the copyright of my contribution to The igraph development team.
Fixes Verify revdep problems #2499
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.