GitHub
11/02/2026, 5:52 PM--catalog or --properties. An extractor that advertises neither capability never gets it, so meltano select used to save patterns and list "selected" properties that had no effect. SelectService.ensure_selection_supported() now raises SelectionNotSupportedError (a MeltanoError) for such an extractor. The error says which capability is missing and where to add it. Adding a pattern and `--list`/`--json` check it. --rm and --clear still work, so a project that already has patterns can be cleaned up.
2. The catalog extra overrides the rule extras, and now says so. When catalog is set, apply_catalog_rules skips the select, metadata and schema rules (only select_filter applies). This used to happen silently. SingerTap.catalog_override_warning() names the rule extras that are set to anything other than their default (defaults read from EXTRA_SETTINGS). The warning is logged:
• by apply_catalog_rules, so every `el`/`run`/`invoke` that ignores them says so;
• by SelectService.update when a pattern is added, since that pattern won't be used.
It stays a warning, as the issue asks: a full catalog override is a legitimate setup. schema is included because the same branch skips it.
Docs: the select caution in the CLI reference, and the catalog extra in plugin concepts.
Tests:
• `tests/meltano/core/test_select_service.py`:
• `test_select_service_needs_an_input_catalog`: adding and listing fail without the capability; removing and clearing work; properties alone is enough.
• `test_select_service_warns_when_the_catalog_extra_overrides_patterns`: one warning when adding with a catalog extra, none when removing.
• `tests/meltano/core/plugin/singer/test_tap.py`: test_apply_catalog_rules_warns_when_the_catalog_extra_overrides_rules covers select and metadata, then schema alone, then all defaults (no warning).
• These fail on main (the error and warning don't exist there).
• nox -s pytest -p 3.14 (SQLite): 1588 passed. One failure, tests/meltano/core/tracking/test_exception.py::test_complex_exception_context (a shortened path in an exception context), fails on main on this machine too; main has 1583 passing, the difference being the 5 new tests. nox -s pre-commit on the changed files and nox -s typing pass.
Checklist
• I have read the contribution guide
Was generative AI tooling used to co-author this PR?
• Yes (please specify the tool below)
Generated-by: Claude Code following the agentic coding guidelines
Related Issues
• Closes #6717
Summary by Sourcery
Ensure selection patterns only operate on extractors that accept catalogs and make catalog rule overrides visible.
Bug Fixes:
• Prevent meltano select from adding or listing patterns for extractors that cannot receive a catalog, while preserving removal and clearing operations.
• Warn when a configured catalog extra overrides selection, metadata, or schema rules.
Enhancements:
• Provide actionable errors for unsupported selection capabilities and identify overridden catalog rule extras in warnings.
Documentation:
• Document catalog rule overrides and selection limitations in the plugin concepts and CLI reference.
Tests:
• Add coverage for unsupported selection capabilities and catalog override warnings.
meltano/meltano