Uh oh!
There was an error while loading. Please reload this page.
feat: improve tabular SK large result handling - #913
Merged
Paul Lizer (paullizer) merged 2 commits intoJun 18, 2026
Merged
Conversation
Adds paginated row-returning tabular tools, safe row payload trimming, return_columns projection, a larger computed-results handoff guardrail, and Python 3.13-safe Semantic Kernel parameter annotations. Inspired by and adapted from PRs microsoft#892 and microsoft#894 by @vivche. Co-authored-by: vivche <214204244+vivche@users.noreply.github.com>
Adds v0.242.068 release notes for tabular SK large-result handling and Python 3.13 Semantic Kernel parameter compatibility. Attributes the source ideas to PRs microsoft#892 and microsoft#894 by @vivche. Co-authored-by: vivche <214204244+vivche@users.noreply.github.com>
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
Summary
This PR improves Tabular Semantic Kernel analysis by adding safer large-result handling and Python runtime compatibility on top of the current Development tabular pipeline.
Changes include:
start_row,page_size,has_more, andnext_start_row.return_columnsprojection and protected row metadata such as_sheet,_matched_columns,_matched_values,_matched_on,_matched_source_values, and_related_document_reference_values.@kernel_functiontabular tool parameters to avoidAnnotated[Optional[str], ...], preserving compatibility with both Python 3.12 and Python 3.13.Attribution
This work is inspired by and adapted from the intent and design direction in these PRs by vivche:
Optional[str]parameter compatibility.return_columnsforwarding, automatic large-result trimming, and a larger computed-results handoff guardrail.The implementation here was rebuilt against the current Development branch to preserve newer model-context routing, related-document evidence, generated tabular outputs, and thought tracking.
The commit includes this co-author trailer for attribution:
Thank you vivche for surfacing the problems and proposing the original direction.
Documentation
Added:
docs/explanation/features/v0.242.067/TABULAR_SK_LARGE_RESULT_PAGINATION.mddocs/explanation/fixes/v0.242.068/TABULAR_SK_PY313_KERNEL_PARAMETER_FIX.mdUpdated:
docs/explanation/features/index.mddocs/explanation/fixes/index.mdTests
Verified locally:
py_compileon modified Python modules and modified functional tests.functional_tests/test_tabular_kernel_parameter_annotations.py: 1/1 passed.functional_tests/test_tabular_large_result_pagination.py: 5/5 passed.functional_tests/test_tabular_large_result_handoff.py: 2/2 passed.functional_tests/test_tabular_relational_analysis_helpers.py: 12/12 passed.functional_tests/test_tabular_related_document_evidence.py: 7/7 passed.get_errors: no diagnostics on touched files.git -c core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol diff --check: passed.Notes
This PR intentionally does not include the unrelated ServiceNow docs/spec changes that were bundled in the source PR branches.