Repository navigation
fix: keep Glue Compressor out of the compressor wrapper; flag a stale Remote Script in doctor - #132
Merged
Merged
Conversation
…te Script in doctor Glue Compressor matched the "compressor" label, so every standard compressor call failed on the missing Makeup key. It is now excluded from detection, even when renamed, because its parameters use other scales. doctor now compares the running Remote Script version with the CLI version and fails with a reinstall hint when they differ. Closes #101 (fixed in #131), closes #102, closes #103. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd-stale-remote-script # Conflicts: # src/ableton_cli/doctor.py
Owner
Author
Checked in Live 12 SuiteThis is a local, unpushed merge of this branch with #133. I installed its Remote Script with
Glue Compressor (track
Not checked: the renamed-Glue case. The CLI has no device rename, so it is covered only by the unit test on 🤖 Generated with Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this changes for you
Glue Compressor no longer breaks the compressor wrapper (#102). The
compressortype matched any device whose label contained "compressor", so Glue was detected ascompressor. Everyeffect compressor/master effect compressorcall then failed withMissing required standard effect keys for compressor: makeup. Glue has no Makeup parameter, and its Threshold, Ratio and Attack use raw dB and stepped values, so the compressor keys would have the wrong meaning even if they resolved. Glue is now excluded from detection, even when it is renamed (itsclass_nameisGlueCompressor).effect findskips it, and the wrappers report "not a supported effect". Edit Glue withdevice parameter set-display/selectinstead. The README says so.doctorcatches a stale Remote Script (#103). A newremote_script_versioncheck compares the version the running Remote Script reports inpingwith the CLI version.tests/test_version.pyalready requires the bundledREMOTE_SCRIPT_VERSIONto match that version. If they differ, the check fails with: "Run 'ableton-cli install-remote-script --yes' and restart Ableton Live." Before this,doctorpassed and then every ref-based command failed with confusing errors. When the endpoint is unreachable, the check is skipped with a WARN, like the other remote checks. Release automation bumps both versions together, so a script left over from an earlier release is now caught.#101 (Drift
LP Reso→LP Res) was already fixed in #131 and is covered bytests/test_standard_parameter_specs_live12.py. This PR only closes the issue.Left out of #103 on purpose:
track must be an integererror that pre-Resolve architecture review findings: protocol fixes, remote config/auth, spec-driven note model, Live 11+ extended note API #88 scripts return. That would be a compatibility shim for an old script; the doctor check now points at the real cause.Closes #101, closes #102, closes #103.
Public contract impact
This is an intentional change, with no change to the snapshot.
doctoroutput gains one check,remote_script_version, withcli_versionandremote_script_versionin its details. A Glue Compressor is no longer reported withdetected_type: "compressor". The command surface, envelopes, exit codes and protocol are unchanged.Update after merging main
Main added a
pluginsdoctor check and aplugin_healthargument torun_doctor(#134). Theremote_script_versioncheck sits alongside it: the conflict indoctor.pykept both, and this PR's doctor test helper now passesplugin_health. Nothing in this PR touches code that moved into plugins.After the merge: full pytest 1527 passed,
dev_checks/ruff check/ruff format --checkpass, the quality harness reports 0 failures (409 warnings), andgenerate_skill_docs.pyproduces no diff.Verification (original)
tests/test_effect_detection.pyandtests/test_doctor.pyfailed first (5 failures), then passed.run_doctorwent over the quality harnessestimated_tokenslimit, so I moved the ping-based checks into_remote_checks/_remote_script_version_check.dev_checks,ruff checkandruff format --checkpass. Full pytest: 1459 passed. The quality harness exits 0 with 0 failures; warnings went from 416 to 418 because of the new helper functions.generate_skill_docs.pyproduces no diff.effect find, then rundoctoragainst an older installed script.🤖 Generated with Claude Code