aminghadersohi commented on issue #39827: URL: https://github.com/apache/superset/issues/39827#issuecomment-4732487441
1. The lazy-hydration model doesn't cover MCP's use case — the SIP should. MCP's build_query_context_from_form_data() generates a QueryContext in-memory on the fly to run a live chart data query — it doesn't persist to DB. The SIP's hydration path is designed for the opposite: generate → persist → reuse. If the sidecar only returns a query_context to be stored, MCP still can't use it to replace its Python logic without an extra parse step. The SIP should explicitly support an ephemeral / direct response mode (i.e., return the raw query_context dict to the caller without requiring DB persistence), so code like MCP can call the sidecar inline and feed the result into QueryContextFactory. Otherwise MCP remains a maintained duplicate regardless of this SIP. 2. Plugin-version coupling needs a versioning contract. The sidecar bundles frontend chart plugin JS. Plugin behavior evolves — new chart types, new form_data fields, changed metric/column resolution logic. If the sidecar version drifts from the Superset backend version, query_context can be silently wrong (wrong columns, missing filters, wrong metrics) without any error. This is especially risky for MCP where query accuracy is user-visible. The SIP should define a concrete versioning contract: which versions of @superset-ui/chart-controls and each viz plugin are pinned per Superset release, how mismatches are detected at startup, and whether the sidecar is distributed as a versioned artifact alongside each Superset release. -- 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]
