fix: register preset-provided namespaced commands#2863
Open
wondr-wclabs wants to merge 1 commit into
Open
Conversation
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.
Summary
Fixes #2862.
Preset command registration was treating every
speckit.<domain>.<command>name as an extension command override. That made valid preset-provided commands, such asspeckit.extendedflow.reviewer, disappear whenever.specify/extensions/<domain>/did not exist.This changes the missing-extension guard so it applies only when the preset is actually targeting an extension command:
replaces: speckit.<ext-id>.<command>; orprepend,append, orwrap) that needs a lower-priority base command.A default
replacecommand with a three-part name and noreplacesentry is now treated as preset-provided and is registered normally. The existing extension-override behavior is preserved by making the override tests explicit throughreplaces.Validation
uv sync --extra testuv run python -m pytest tests/test_presets.py -k "extension_command or three_part_preset_command" -q— 6 passeduv run python -m pytest tests/test_presets.py -q— 273 passeduv run specify --helpgit diff --checkuv run python -m pytest -q— 3576 passed, 45 skippedAI assistance disclosure
This PR was developed with AI assistance from Codex/ChatGPT for codebase inspection, implementation, and validation. I reviewed the resulting diff and test output before submitting.