Skip to content

Preserve iterable middleware arguments#569

Draft
claell wants to merge 1 commit into
sciunto-org:mainfrom
claell:fix/531-preserve-iterable-middleware
Draft

Preserve iterable middleware arguments#569
claell wants to merge 1 commit into
sciunto-org:mainfrom
claell:fix/531-preserve-iterable-middleware

Conversation

@claell

@claell claell commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Materialize one-shot append_middleware and prepend_middleware iterables
    before checking their types.
  • Ensure those middleware objects still execute after duplicate detection.
  • Correct the unparse-stack duplicate warning to name the unparse parameters.

Fixes #531.

Validation

  • Focused iterator regressions under warnings-as-errors: 2 passed.
  • Complete upstream suite: 2,578 passed, 12 skipped, with the four existing
    deprecation warnings in tests/test_entrypoint.py.
  • git diff --check: passed.
  • The project pre-commit executable was not available in the isolated local
    environment; GitHub CI should independently run the configured hooks.

Review note

This change was developed and validated in a concentrated session rather than
exercised over a long period in production. It has focused public-API regression
coverage, but careful human review of the implementation and assumptions is
requested.

AI assistance

This pull request was prepared with ChatGPT Codex using GPT-5.6 Sol with high
reasoning effort. Codex assisted with analysis, implementation, branch
isolation, and test execution. Automated validation is not a substitute for
maintainer review.

* Materialize one-shot middleware iterables before duplicate checks.
* Exercise parse and unparse iterator inputs through the public API.
* Correct unparse duplicate-warning terminology.
@claell claell force-pushed the fix/531-preserve-iterable-middleware branch from 7bcff02 to 464778f Compare July 16, 2026 13:26
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.

Iterator passed as append_middleware/prepend_middleware is silently dropped

1 participant