Skip to content

fix: follow the claude-jit-context -> jit-context rename, reading both names (#1804) - #1805

Open
fdaviddpt wants to merge 2 commits into
mainfrom
fix/1804-jit-rename
Open

fdaviddpt wants to merge 2 commits into
mainfrom
fix/1804-jit-rename

Conversation

@fdaviddpt

Copy link
Copy Markdown
Contributor

Closes #1804.

Merge order: merge this right after Digital-Process-Tools/claude-marketplace#5, not before. jit-context does not exist in the marketplace until that PR lands. Whether a dependencies entry naming the old plugin resolves through the marketplace's renames map is not documented, so if it does not, oss installs fail from the moment the marketplace PR merges until this one does: the window should be as short as possible.

What changed

claude-jit-context is renamed jit-context upstream (Digital-Process-Tools/claude-jit-context#452, PR #453): the claude- prefix is reserved for Anthropic's own plugins.

  • .claude-plugin/plugin.json dependencies: claude-jit-context -> jit-context.
  • .claude/settings.json: claude-jit-context@dpt-plugins -> jit-context@dpt-plugins.
  • scripts/doctor.py: JIT_PLUGIN = "jit-context", plus a DEPENDENCY_RENAMES map and dependency_spellings(name), so both names count during the transition, matched on the whole name (my-jit-context does not count):
    • active_versions(): a record key under either spelling answers for the requested name (this also covers check_freshness and dependency_resolution_state, which read the declared names through it).
    • dependency_install_roots(): the record lookup by key prefix and the cache glob both try every spelling. jit_hook_roots() now delegates to it instead of carrying a second copy of the same body, which would have needed the same change.
    • dependency_repositories(): the cache manifest glob tries every spelling.
    • _jit_layer_verdict(): the declared-dependency check accepts either name.
    • dependency_diagnostic_state(): the DEPENDENCY_DIAGNOSTICS route and the 0/1/2 exit-code contract resolve under either name.
  • The skill is cited as jit-context:vocabulary (the plugin namespace moves with the rename) in commands/run/curate.md and in doctor_check_claude_md_size.py's remedy text. Live mentions in commands/doctor.md and commands/run/setup.md were updated too.
  • Left alone on purpose: version-history prose (claude-jit-context 0.5.0, claude-jit-context#176, #203), the /claude-jit-context:stats measurement note in oss_rules.py, test docstrings attributing a rule to the skill, and CHANGELOG.
  • changelog.d/1804.fixed.md.

Test evidence

New suite tests/test_jit_context_rename_1804.py (20 cases): either name in the install record, in installPath, in the cache glob fallback, in declared dependencies (each crossed with the installed name), and in the diagnostic relay. Controls: the old name keeps working, and a lookalike my-jit-context is refused in the record, the cache, the declared-dependency check and the diagnostic route.

Red before the fix (python3 -m pytest tests/test_jit_context_rename_1804.py -q --no-cov):

E  AssertionError: assert {} == {'jit-context': '9.9.9'}
E  AssertionError: assert ([], None) == ([PosixPath('...9')], '9.9.9')            (installPath and cache glob)
E  ... 'claude-jit-context is no longer a declared dependency of this plugin ...'
E  AssertionError: ('could-not-run', 'no known diagnostic route for jit-context ...')
E  AssertionError: assert 'jit-context' in ['supertool', 'remember', 'claude-jit-context']
E  AssertionError: {..., 'claude-jit-context@dpt-plugins': True}
11 failed, 9 passed     # the 9 passing were the old-name and lookalike controls

tests/test_doctor_check_claude_md_size_1631.py with its assertion moved to the new skill name (both directions, since the old spelling contains the new one): 1 failed, 10 passed -> after the fix 11 passed.

Green after:

  • tests/test_jit_context_rename_1804.py: 20 passed.
  • Every suite that references jit_hook_roots, active_versions, dependency_repositories, dependency_install_roots, dependency_diagnostic*, JIT_PLUGIN, jit_layer_readers, declared_dependencies, check_freshness, dependency_resolution or the string claude-jit-context (40 files): 1336 passed, 1 failed. The one failure was tests/test_statusline_channel_613.py::test_refresh_records_a_failed_channel_reading_1636, a 15s timing test; that file run alone passes 54 passed both with and without this change, so it is not from this diff.
  • Suites referencing the touched command files or the size check, plus the manifest test: 464 passed.
  • Changelog and content guards (test_changelog_gate, test_command_references, test_content_invariants, test_changelog_link_refs, test_changelog_rule_commands_721): 459 passed.

All of this ran on macOS, Python 3 only. Results on the other platforms and interpreters come from CI.

🤖 Generated with Claude Code

[AI-generated]

fdaviddpt and others added 2 commits October 3, 2026 01:09
…h names (#1804)

The dependency was renamed upstream because the `claude-` prefix is reserved
for Anthropic's own plugins. The manifest dependency, .claude/settings.json and
the `jit-context:vocabulary` skill citations now use the new name.

scripts/doctor.py gains DEPENDENCY_RENAMES / dependency_spellings(): the
install-record lookup, the cache globs, the declared-dependency check and the
diagnostic route all accept either spelling, so a migrated install and an
unmigrated one both read as jit-context installed. Whole-name match only:
my-jit-context does not count. jit_hook_roots now delegates to
dependency_install_roots instead of carrying a second copy of it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
CI failed one assertion on every leg: the finding now names the plugin
`jit-context`, and this suite's PLUGIN constant still said the old name.
The old name stays covered by test_jit_context_rename_1804.py.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

claude-jit-context is renamed jit-context: the dependency, the settings key and doctor's JIT_PLUGIN must follow

1 participant