Skip to content

Retain one-shot entity iterables during grouped operation scans - #324

Open
theman6660 wants to merge 1 commit into
KLR-Pattern:masterfrom
theman6660:fix/grouped-scan-iterators
Open

theman6660 wants to merge 1 commit into
KLR-Pattern:masterfrom
theman6660:fix/grouped-scan-iterators

Conversation

@theman6660

Copy link
Copy Markdown
Contributor

scan_grouped_methods accepts an Iterable but iterates it twice. The first pass collects entity type names and consumes iterators/generators, leaving the second pass with no entities. This silently returns an empty operation map and bypasses all collision and reserved-name checks.

Materialize the entity iterable once before the two passes. Tests exercise both query and mutation extraction with the real SchemaBuilder, list/tuple controls, iterator/generator inputs, group-name collisions, and reserved names.

Before the fix, 8 new cases failed and 4 controls passed; all 12 now pass. GraphQL and UseCase suites: 439 passed, 1 skipped. Ruff and git diff --check passed. This addresses the helper's declared iterable contract; no claim is made that built-in list-based handler callers previously triggered the issue.

Prepared with OpenAI Codex assistance. No production usage, human review or upstream CI is claimed.

This branch has not been deployed

No deployments
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