Skip to content

v1.108.287 — Yesterday's fixes stopped where the reports did

Latest

Choose a tag to compare

@jgravelle jgravelle released this 19 Aug 03:12
· 5 commits to main since this release

Four defects, all reported within a minute of each other, and every one probes a surface adjacent to something v1.108.286 shipped. Each fix is the same sentence — ask the authority instead of reproducing its logic — and each had been applied only where it was reported.

#506### Quick start could still recommend a disabled tool

v1.108.286 filtered the guide's ### All tools list. ### Quick start was six fixed strings assembled afterwards that no filter reached, so with search_text disabled the guide still said, as a numbered instruction, to call it.

Steps are data now: one naming a tool that won't dispatch is dropped whole and the remainder renumbered, and the shared index_folder / index_repo continuation is filtered per-tool.

#509index_file could write a file into another repository's index

index_file picked the deepest indexed source_root containing the file and never established it was the same repository. resolve_repo stopped doing this in v1.108.285; this path still did — and here the consequence is a write into an index built from a different repository, not a wrong read.

The check is imported from resolve_repo rather than reimplemented, which also inherits its boundary: a path inside a submodule still resolves to the parent.

#508index_file ignored the project's config

index_file passes repo= to is_secret_file, the context-provider gate and the language gate. Nothing on that path ever called load_project_config, so all three resolved to global config and the project's .jcodemunch.jsonc was inert.

#507 — both generated policies could name tools the server does not carry

_get_active_tools rebuilt the active set from tool_profile and the baked _PROFILE_TIERS, missing three inputs tools/list reads: the session tier override, tool_tier_bundles, and the languages gate on search_columns. Measured 70, 15 and 1 unmounted names.

The session case needs no configuration — announce_model writes the session tier, so an agent that announces a small model and then reads the guide arrives there on its own. The other two reach init, whose output is written into your CLAUDE.md and stays there.


Upgrade: uv tool install --upgrade jcodemunch-mcp or pip install -U jcodemunch-mcp

No migration. index_file on a file inside a nested independent repository now refuses and names the repository to index instead.

All four reported by @rknighton, each with a deterministic reproduction and a control.

Suite: 7999 passed, 17 skipped, 0 failed on 3.10 and 3.13 alike — same total and same skip split. ruff check src/ clean. CI green on 932209e.