aminghadersohi commented on code in PR #45504:
URL: https://github.com/apache/superset/pull/45504#discussion_r4337362354
##########
superset/mcp_service/chart/tool/get_chart_data.py:
##########
@@ -440,6 +440,24 @@ def _big_number_headline(
)
+def _with_query_post_processing(response: ChartData, query_context: Any) ->
ChartData:
+ """Carry each executed query's operations to the composed dashboard
summary.
+
+ Use the context passed to the command, not the saved chart's viz type or
+ form data: saved, rebuilt and mixed queries can run different pipelines.
+ Private metadata survives response preflight without enlarging the wire
payload.
+ """
+ response._query_post_processing = [
+ [
+ str(step["operation"])
+ for step in getattr(query, "post_processing", None) or []
+ if isinstance(step, dict) and step.get("operation")
Review Comment:
Fixed in 831598148220a36a37c0d7a4a3890a75bff6ed59: ungrouped pivots retain
ordinary completeness checks; grouped pivots and trendline reducers remain
conservative. Regression: `test_pivot_completeness_respects_groupby` fails
before and passes after; saved/rebuilt grouped-pivot coverage remains in
`test_timeseries_groupby_pivot_does_not_claim_complete_input`.
The smaller follow-ups are included: executed per-query limits
(`test_completeness_uses_executed_limit`,
`test_multi_query_completeness_uses_each_executed_limit`), conservative
distribution fallbacks, shared dashboard guidance
(`test_dashboard_completeness_guidance_is_shared`), schema/changelog
clarification, and neutral format examples
(`test_number_format_examples_are_currency_neutral`). The final regression set
had 13 failures before and 20 passes after (7 preservation cases).
Siblings checked:
- superset/mcp_service/chart/tool/get_chart_data.py — fixed in
831598148220a36a37c0d7a4a3890a75bff6ed59
- superset/mcp_service/dashboard/tool/get_dashboard_data.py — fixed in
831598148220a36a37c0d7a4a3890a75bff6ed59
- superset/mcp_service/chart/big_number_headline.py — not affected: headline
coverage uses its own executed limit and reducer handling; raw sql_rowcount
propagation remains a separate follow-up, not part of this change.
##########
superset/mcp_service/dashboard/tool/duplicate_dashboard.py:
##########
@@ -292,10 +293,10 @@ async def duplicate_dashboard(
"""
Duplicate an existing dashboard under a new title.
Review Comment:
Fixed in 831598148220a36a37c0d7a4a3890a75bff6ed59: the first paragraph
states the deep-copy default and explicit sharing option; regenerated inventory
records a 112-character compact description. Regression:
`test_compact_duplicate_description_keeps_default` fails before and passes
after; `test_duplicate_description_explains_isolated_default` also asserts the
truncated output.
Siblings checked:
- superset/mcp_service/dashboard/tool/duplicate_dashboard.py — fixed in
831598148220a36a37c0d7a4a3890a75bff6ed59
- superset/mcp_service/app.py — not affected: server instructions already
state the isolated default and explicit false option.
- superset/mcp_service/dashboard/schemas.py — not affected: duplicate_slices
already defaults to true and documents sharing when false.
- superset/mcp_service/server.py — not affected: paragraph-preserving
truncation is intentional; the tool description needed the default in its first
paragraph.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]