<#10303 feat: suggest existing locked variants whe...
# meltano-repo-activity
g
#10303 feat: suggest existing locked variants when plugin definition is not found Pull request opened by BLVCK-MAMBA-6 Description When a plugin definition fails to resolve because no variant was explicitly specified in
meltano.yml
, Meltano previously surfaced a generic error directing users to run
meltano lock --update --all
. If a lockfile already exists on disk for that plugin under a specific variant (e.g.,
tap-fleetio--fleetio.lock
), this PR detects it and surfaces an actionable error message that: • Explains which variant lockfile(s) exist on disk. • Instructs the user to add
variant: <variant_name>
to their plugin definition in
meltano.yml
. Changes • Added
find_locked_variants
to
PluginLockService
and
LockedDefinitionService
to scan for
<plugin_name>--<variant>.lock
files in the plugin root directory. • Updated
PluginDefinitionNotFoundError
to accept discovered variants and generate a contextual reason and remediation instruction. • Added regression test
test_plugin_definition_not_found_suggests_variant
in
tests/meltano/core/test_project_plugins_service.py
. Verification • Ran test module:
uv run pytest tests/meltano/core/test_project_plugins_service.py
(10 passed). • Linted and formatted:
uv run --with ruff ruff check
and
ruff format
passed with 0 errors. Checklist • I have read the contribution guide Was generative AI tooling used to co-author this PR? • Yes (Gemini-3.8-flash) Generated-by: Gemini following the agentic coding guidelines Related Issues • Closes #8427 Summary by Sourcery Help users resolve missing plugin definitions by identifying matching locked variants and explaining how to configure them. New Features: • Suggest existing locked plugin variants and the required
variant
configuration when a plugin definition cannot be resolved. Enhancements: • Improve plugin definition errors with contextual explanations and actionable remediation based on discovered lockfiles. • Add resilient locked-variant discovery across plugin lock directories, including handling missing directories and filesystem errors. Tests: • Add regression coverage for single- and multiple-variant suggestions and locked-variant discovery edge cases. meltano/meltano