Repository navigation
feat(tools): Categorize the impls igraph 1.0 adds, and stop on any without a category - #2998
Merged
krlmlr merged 1 commit intoOct 18, 2026
Merged
Conversation
…thout a category `tools/aaa-categories.yaml` now places the 22 functions that the vendored C core on `main` does not generate yet, but igraph 1.0 does. `tools/split-aaa-auto.R` ignores entries for functions it does not see, so a rebuild of the series from `main` no longer writes `R/aaa-uncategorized.R`. `tools/rebuild-cats.R` keeps these entries instead of removing them as stale. `tools/split-aaa-auto.R` now stops on a generated function without a category, before it removes any `R/aaa-*.R`. Listing a function under a top-level `uncategorized:` key is the explicit opt-out. Regenerating on `main` changes no generated file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qv1u8Hr4XRrZgbEsS2y7ku
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The generated interface no longer has an "uncategorized" bucket: every
*_impl()that the C core 1.0 adds has its category onmainalready, and the split of the generated R code stops on a function without one. It is stacked on #2997.What it changes
tools/aaa-categories.yamlplaces the 22 functions that igraph 1.0 generates but the vendored C core onmaindoes not, among themigraph_community_leiden_simple, the_blissisomorphism variants,igraph_hammingandigraph_lcf, and the proximity graphs andigraph_spatial_edge_lengthsin two new subcategories ofspatial.tools/split-aaa-auto.Rignores entries for functions it does not see, so these entries change nothing onmain, and a rebuild of the vendoring series frommainno longer writesR/aaa-uncategorized.R.tools/rebuild-cats.Rkeeps these entries instead of removing them as stale, and says why.tools/split-aaa-auto.Rnow stops with an error listing every generated function without a category, before it removes anyR/aaa-*.R, instead of writing it toR/aaa-uncategorized.Rwith a warning. Listing a function under a top-leveluncategorized:key is the explicit opt-out. The Stimulus page of the handbook (handbook/architecture/stimulus/) describes both rules.Checks
make -f Makefile-cigraph r_wrappers) writes 28R/aaa-<category>.Rfiles with 490 impls and changes no file; noR/aaa-uncategorized.Rappears.tools/rebuild-cats.Rreproducestools/aaa-categories.yamlbyte for byte.igraph_degreeremoved from the YAML, the split stops with "impls without a category" namingdegree_impl, and leavesR/untouched.devtools::document()andair formatchange nothing, and the handbook check script is clean.LLM use: this PR was prepared with Claude Code (Claude Opus 5.5), at the maintainer's request. The change comes from the subsession https://claude.ai/code/session_01Qv1u8Hr4XRrZgbEsS2y7ku.
🤖 Generated with Claude Code
https://claude.ai/code/session_01JXnA76zWTu4ZD8BQCSYRpk