- _clean_json_metadata now also removes the chart's entry from
default_filters (stored as a JSON-encoded string inside json_metadata),
matching the pruning done by DashboardDAO.set_dash_metadata when
the positions branch runs.
- The secondary json_metadata commit (written directly to avoid the
set_dash_metadata positions-branch slices overwrite) is now wrapped
in its own try/except: if it fails, the chart removal is still
reported as successful and the error is logged as a warning, since
the chart has already been detached from layout and slices.
- Update docstrings and module-level description to mention default_filters.
- Add test_clean_json_metadata_cleans_default_filters unit test.
- Extend test_json_metadata_cleanup to cover default_filters cleanup.