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]

Reply via email to