tien238lnd commented on PR #44573:
URL: https://github.com/apache/superset/pull/44573#issuecomment-5806450519

   Pushed 93bfb4b25 and corrected the description, after testing the claim it 
rested on.
   
   **Which client fills the defaults.** I had written that Claude Code does. 
That is wrong as stated: through the CLI over stdio, a call naming two 
arguments arrives with exactly those two, before and after this change. Through 
Claude's desktop app over a remote MCP connector, the same call reaches the 
tool as `input_value={'dataset_id': ..., 'metric': ..., 'metric_name': None, 
..., 'extra': None}` and is rejected with `metric_name cannot be empty or 
null`. So clients differ, and a server cannot tell a null the caller meant from 
a null materialised out of the schema. The description now says that instead.
   
   **Where the null actually lands for charts.** CodeAnt's point about 
`update_dashboard` was right, and chasing it found a real gap: `update_chart` 
reads `model_fields_set` on the nested chart config, not on the request, so 
`UpdateChartRequest` alone left the exposed fields untouched. `BaseChartConfig` 
now carries the base, which covers every config in the union. 
`update_dashboard` applies each field behind an `is not None` check and ignores 
explicit nulls, so it was never affected; it keeps the base so its schema stops 
offering a value no branch would honour, and the base docstring no longer 
claims null uniformly clears.
   
   **Tests.** `test_omitted_means_unchanged_models_advertise_no_null_default` 
walks every subclass of the base, so a model that joins it later is covered 
without touching the test. The schema helper now resolves `allOf`-wrapped and 
`definitions` refs and fails loudly on a shape it does not recognise, rather 
than returning something that trivially passes; a missing tool reports absence 
instead of a bare `KeyError`.
   
   Locally: `tests/unit_tests/mcp_service` is green except 
`test_query_dataset_reexecutes_across_rollover`, which fails the same way on 
master here. The red `babel-extract` is a `messages.pot` drift on master (one 
string added, one removed) — nothing in this branch touches a translated string.
   


-- 
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