You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix: preserve registered integration skills during extension update - #5005
Fixes#5002. Updating an extension now refreshes commands and native skills for integrations recorded in its previous registry entry, including a non-default Codex integration. An integration with no prior registration remains untouched.
Testing
Regression test: failed before the fix because the Codex SKILL.md was deleted; both positive and negative cases pass after the fix.
Thank you for both findings. Commit 3542570 reuses the refreshed command list when integrations share a skills directory, preserving the active integration’s rendering. Secondary integrations now retain the normal output-directory and project-marker checks.
The new CLI regressions cover shared Codex/Zed output, a deleted output directory, a removed Hermes project marker, and failure after secondary registration has overwritten an existing candidate and created new alias files. The rollback test checks byte-for-byte restoration, removal of the new directories, and equality with the original registry entry. Removing the expanded backup inventory makes that test fail with leftover files. The three affected suites pass all 93 tests, and the CLI help entry point succeeds.
Posted on behalf of chelsealong. Codex (model GPT-6, autonomous) implemented the follow-up, ran the tests, and drafted this summary.
Historical targets bypass the output-directory and detect_dir checks used by the refresh pass, so a removed Hermes marker can make an unrelated hard-linked skill at a new alias abort the entire update. Apply those checks before adding secondary backup targets, while preserving the manager's active recovery targets and the backups of previously registered files.
AI-generated for the review requester by GitHub Copilot (model unknown, autonomous mode).
Preserve previously registered Copilot skills during integration changes
An extension previously used by Copilot in --skills mode is tracked only in registered_skills, so updating after integration use claude still deletes its Copilot skills. Capture the previously owned skill roots before removal and refresh those integrations in their original skills mode.
AI-generated for the review requester by GitHub Copilot (model unknown, autonomous mode).
Refresh persisted generic registrations when inactive
After integration use claude, the registrar omits generic from AGENT_CONFIGS, so this filter drops a prior generic registration even though removal has deleted its hash-owned command files. Resolve the persisted generic directory and refresh its commands and ownership hashes even when generic is inactive.
AI-generated for the review requester by GitHub Copilot (model unknown, autonomous mode).
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
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.
Description
Fixes #5002. Updating an extension now refreshes commands and native skills for integrations recorded in its previous registry entry, including a non-default Codex integration. An integration with no prior registration remains untouched.
Testing
SKILL.mdwas deleted; both positive and negative cases pass after the fix..venv/bin/python -m pytest tests/specify_cli/extensions/test_command_update.py tests/specify_cli/extensions/test_command_update_transaction.py tests/specify_cli/extensions/test_command_update_artifacts.py -q— 61 passed..venv/bin/specify --helpandgit diff --check— passed.AI Disclosure
AI disclosure: Codex (GPT-6, autonomous mode) investigated the issue and generated the code and regression test. No human review is claimed.