Skip to content

Rectify: Issue #4341 — Schema-Driven Recipe Section Pagination#4344

Merged
Trecek merged 45 commits into
developfrom
impl-rectify_issue_4341_schema_driven_recipe_section_pagination_2026-07-23_095431-20260723-114055
Jul 24, 2026
Merged

Rectify: Issue #4341 — Schema-Driven Recipe Section Pagination#4344
Trecek merged 45 commits into
developfrom
impl-rectify_issue_4341_schema_driven_recipe_section_pagination_2026-07-23_095431-20260723-114055

Conversation

@Trecek

@Trecek Trecek commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

get_recipe_section currently destroys a section's type before pagination. The architectural correction retains and validates the typed value, resolves an explicit RecipeSectionDef, constructs an immutable grammar-aware page plan, and renders and measures each complete final response.

The implementation adds schema-driven section definitions, deterministic grammar-aware pagination, fixed-point metadata convergence, immutable plan identities, strict consumer validation, bounded failure handling, cache retirement, and exhaustive verification for raw text, scalar JSON, arrays, and oversized element fragments.

Closes #4341

Implementation Plan

Plan file: /home/talon/projects/generic_automation_mcp/.autoskillit/temp/rectify/rectify_issue_4341_schema_driven_recipe_section_pagination_2026-07-23_095431.md

🤖 Generated with Claude Code via AutoSkillit

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit PR Review — Verdict: approved_with_comments

Comment thread src/autoskillit/core/types/_type_constants_registries.py
Comment thread src/autoskillit/core/types/_type_constants_registries.py
Comment thread src/autoskillit/server/_recipe_delivery.py Outdated
Comment thread src/autoskillit/server/_recipe_section_pagination.py
Comment thread src/autoskillit/server/_recipe_section_pagination.py Outdated
Comment thread src/autoskillit/server/_recipe_section_pagination.py Outdated
Comment thread src/autoskillit/server/tools/tools_recipe.py Outdated
Comment thread tests/arch/test_recipe_section_registry.py
"""
EXEMPTIONS: dict[str, int] = {
"server": 15, # +_recipe_delivery unified finalizer and immutable generation store
"server": 16, # +_recipe_section_pagination deterministic bounded planner

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[warning] cohesion: The PR raises the server root file-count exemption while simultaneously creating server/recipe_section for this feature: the 914-line planner/cache/renderer remains in the parent and only verification is placed in the subpackage. This weakens the architectural guard and splits one private feature asymmetrically; localize the implementation under the new package instead of increasing the exemption.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Valid observation — flagged for design decision. The asymmetry is real, but the originating plan and current server/AGENTS.md deliberately place planner/cache/renderer at the server root and verification in the supporting package. Moving the full feature is an architectural migration beyond a targeted review fix.

Comment thread tests/server/test_recipe_section_pagination.py

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit review: warning-only findings detected. See inline comments — no blocking changes required.

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit PR Review — Verdict: changes_requested

Comment thread src/autoskillit/server/_recipe_section_pagination.py
Comment thread src/autoskillit/server/tools/tools_recipe.py Outdated
Comment thread tests/arch/test_recipe_section_registry.py
Comment thread tests/server/test_recipe_section_pagination.py
Comment thread tests/server/test_recipe_section_pagination.py Outdated

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit review: blocking findings detected. See inline comments. GitHub does not permit an author to request changes on their own pull request.

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit PR Review — Verdict: approved_with_comments

Comment thread src/autoskillit/core/types/_type_constants_registries.py
Comment thread src/autoskillit/core/types/_type_recipe_sections.py Outdated
Comment thread src/autoskillit/core/types/_type_recipe_sections.py
Comment thread src/autoskillit/server/_recipe_section_pagination.py
Comment thread src/autoskillit/server/recipe_section/_contracts.py Outdated
Comment thread src/autoskillit/server/recipe_section/_lifecycle.py Outdated
Comment thread src/autoskillit/server/tools/_cancellation_shield.py
Comment thread tests/server/test_tools_recipe_pull.py

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit review: warning-only findings detected. See inline comments — no blocking changes required.

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit PR Review — Verdict: approved_with_comments

Comment thread src/autoskillit/core/types/_type_constants_registries.py
Comment thread src/autoskillit/server/_recipe_section_pagination.py Outdated
Comment thread src/autoskillit/server/tools/tools_recipe.py Outdated
Comment thread tests/execution/backends/test_codex_recipe_delivery_conformance.py Outdated
Comment thread tests/execution/backends/test_codex_recipe_delivery_conformance.py Outdated

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit review: warning-only findings detected. See inline comments — no blocking changes required.

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit PR Review — Verdict: changes_requested

Comment thread src/autoskillit/core/types/_type_constants_registries.py Outdated
Comment thread src/autoskillit/server/_recipe_section_pagination.py
Comment thread src/autoskillit/server/recipe_section/_contracts.py
Comment thread src/autoskillit/server/recipe_section/_contracts.py
Comment thread src/autoskillit/server/tools/tools_recipe.py Outdated

@Trecek Trecek left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AutoSkillit review: blocking findings detected. See the inline comments; changes are required before approval.

@Trecek
Trecek added this pull request to the merge queue Jul 24, 2026
Merged via the queue into develop with commit a6d14a8 Jul 24, 2026
3 checks passed
@Trecek
Trecek deleted the impl-rectify_issue_4341_schema_driven_recipe_section_pagination_2026-07-23_095431-20260723-114055 branch July 24, 2026 23:31
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