Repository navigation
release: 1.5.0 - #118
Merged
Merged
release: 1.5.0#118
Conversation
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This was referenced Nov 8, 2026
Bump index-it-mcp to 1.5.0 for the treesitter-chunker 6 / tree-sitter 0.26 parser-stack upgrade (#115, merged in #116) and the baml-bridge 0.23.0 alignment (#119, merged in #120), so 1.5.0 co-installs with phase-loop-runtime 0.7.30. - pyproject.toml, mcp_server/__init__.py and the uv.lock root entry move to 1.5.0 (no dependency re-resolution; uv lock --check passes). - Release workflow default, Docker installers and current-surface docs name v1.5.0 as the prepared candidate and 1.4.1 as the latest published release, and mention the baml-bridge 0.23.0 runtime. - CHANGELOG [Unreleased] becomes [1.5.0] - 2026-11-08 and absorbs #120's entry. Upgrade notes: full reindex, mandatory grammar prefetch, glibc 2.34+, semantic re-embedding, baml-bridge 0.23.0, BAML recording/upload off by default with the MCP_BAML_TELEMETRY opt-in (uploads prompts containing source code when a Boundary key or login exists), upstream BAML_TELEMETRY ignored, the new LLM timeouts, client_id() -> requested_model(), and the Code-Index-MCP#117 follow-up. - BREAKING-CHANGES.md logs the chunk-id scheme change and the BAML SDK rename/telemetry variable. - Release-gate tests that pin the version move in lockstep. No tag, package or image is published by this change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ViperJuice
force-pushed
the
release/v1.5.0
branch
from
November 8, 2026 22:10
74b1e07 to
42b5e22
Compare
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.
Release-prep PR for v1.5.0. It ships the treesitter-chunker 6 / tree-sitter 0.26 parser-stack upgrade (#116, issue #115) and the baml-bridge 0.23.0 alignment (#120, issue #119). It can be reverted: nothing is tagged, published, signed or dispatched. Publishing is a separate step that needs owner approval (listed at the end).
Re-cut on 2026-11-08 on top of
origin/mainbba0941(#120 merge). The only conflict was inCHANGELOG.md, where #120's[Unreleased]entry now sits under[1.5.0].✅ Fleet co-install goal met
1.5.0 now installs in one environment with agent-harness
phase-loop-runtime==0.7.30from PyPI, which pinstree-sitter==0.26.0andbaml-bridge==0.23.0. Thebaml-bridgeblocker from the first cut is gone: #120 moved this repo tobaml-bridge==0.23.0.Fresh Python 3.12.14 venv,
uv pip install dist/index_it_mcp-1.5.0-py3-none-any.whl 'phase-loop-runtime==0.7.30', thenuv pip check:Resolved versions: index-it-mcp 1.5.0, phase-loop-runtime 0.7.30, baml-bridge 0.23.0, tree-sitter 0.26.0, treesitter-chunker 6.0.0, tree-sitter-language-pack 1.20.0, protobuf 7.36.2 and pydantic 2.14.3.
Version choice: 1.5.0 (minor)
The repo follows SemVer 2.0.0 (CHANGELOG header). There's no separate policy doc, so I judged against SemVer and this repo's past releases:
mcp-index/index-it-mcpCLI and themcp_server.clientAPI keep their contracts. The new pieces aregrammars prefetch|checkand agrammarsblock inget_status. Theclient_id()→requested_model()rename is in the generatedbaml_sdk/, an internal SDK. Only a test read it.scheme_mismatch, fail closed and are rebuilt byreindex. That is the CHUNKERSAFE path, which shipped as part of a minor release: 1.4.0 adopted chunker v4 and CHUNKERSAFE. P10's breaking schema-compat flip (BREAKING-CHANGES.md) also shipped without a major bump.index-it-mcp2.14.6–2.14.9 (yanked) and 2.15.0a1 (not yanked), so a "2.0.0" would sort below an older line.If the owner treats mandatory prefetch plus the glibc floor as breaking, the only change needed is renaming 1.5.0 → 2.0.0 in the same files.
Contents since the last release (v1.4.1, published 2026-10-13)
From
git log v1.4.1..origin/main:get_status.grammars, sandbox grammar hardening, fail-closedgrammar_unavailable,treesitter_chunk_id_v6, the Python 3.12–3.14 agent gate and the bookworm devcontainer.baml_sdk/and bakes BAML call recording tooff, with theMCP_BAML_TELEMETRYopt-in. It also adds the 5 min total / 10 s connect LLM timeouts, theclient_id()→requested_model()rename,DO_NOT_TRACK=1forbaml-cli, and a release-smoke assertion that nothing is recorded by default.The bump (16 files)
pyproject.tomlandmcp_server/__init__.py→1.5.0. Inuv.lockonly theindex-it-mcproot entry changes (one line), anduv lock --checkpasses.v1.5.0.docs/operations/v13-release.md:1.5.0as the prepared candidate and1.4.1as the latest published release.1.4.0is published on PyPI" row had been stale since October and now says 1.4.1.:v1.4.0tags are unchanged. Since 1.4.1, releases ship digest-only throughimage-reference.txt, and that tag still exists.v13-release.mdkeeps the 1.4.1 evidence narrative. It adds a note that the owner decides which review seats and live checks from the 1.4.1 Publication Gate apply to 1.5.0.[Unreleased]→## [1.5.0] - 2026-11-08, using the 1.4.1 "Prepared … does not imply publication" format.### Changed.[Unreleased]is left empty, astests/test_release_notes.pyrequires.requested_model()rename, andBAML_TELEMETRY→MCP_BAML_TELEMETRYwith the upload caveat.tests/test_release_metadata.py, now driven byEXPECTED_VERSION/EXPECTED_TAG;tests/docs/test_pubname_public_docs.py(Published \1.4.1``);tests/smoke/test_release_smoke_contract.py.Upgrade notes (in the CHANGELOG)
treesitter_chunk_id_v6, and chunker-4 indexes reportscheme_mismatchuntil reindexed.mcp-index grammars prefetchafter installing and after every language-pack upgrade. Without it, files fail withgrammar_unavailableand the generation isn't published.phase-loop-runtime0.7.30, now co-install.offMCP_BAML_TELEMETRYrecords nothing.low|medium|highrecords under~/.baml. When aBOUNDARY_API_KEYor saved Boundary login exists, it uploads prompts that contain source code to Boundary.BAML_TELEMETRYis ignored. OnlyMCP_BAML_TELEMETRYcontrols recording.client_id()→requested_model()in the generatedFunctionSpec. It returns the bare model name.Packaging verification (dev0, glibc 2.43, Linux x86_64, re-cut head)
uv build→index_it_mcp-1.5.0-py3-none-any.whl(sha2563640d9da42145a1c33535dba3d5c083d973df72cbd7c74228b5d535e0dfb9629) andindex_it_mcp-1.5.0.tar.gz(sha256ec4a3f6e8ee568b5953e2f2a04b47d65983d0499a0d9c6407bdf439bedc5ed10). These were built from treea50816b5, the same tree as this head.phase-loop-runtime==0.7.30:uv pip checkis clean (output above).mcp-index --versionandindex-it-mcp --version→code-index-mcp, version 1.5.0.mcp-index grammars checkwith a cold cache → exit 1, every grammar MISSING (fails closed as designed).mcp-index grammars prefetch→ exit 0, "Prefetched and verified 47/47 grammars."mcp-index grammars checkagain → exit 0, "47 grammars load offline; 0 missing."baml_contractscript fromscripts/release_smoke.py, run with the 3.12 venv's Python instead of inside the container image;baml_sdkwas imported from the venv's site-packages. It assertsbaml-bridge0.23.0, builds both summarization requests with sockets patched off, and runs the calls in a child with blankMCP_BAML_TELEMETRYand an isolatedHOME/BAML_HOME→ exit 0,files= []. Neither the probe HOME nor the outer HOME has a.bamldirectory or any file.release_smoke.py --stdio/ container run was not repeated for the re-cut. The first cut's--stdiorun passed on the earlier head, and the container probe runs in Release Automation.Tests run locally on the re-cut (one file per invocation, serial,
nice,--no-cov, Python 3.14)tests/test_release_notes.py: 4 passed.tests/test_release_metadata.py: 26 passed.tests/test_v13_release_candidate.py: 79 passed.tests/test_workflow_release_policy.py: 40 passed.tests/smoke/test_release_smoke_contract.py: 24 passed.tests/test_schema_strict.py: 10 passed.tests/docs/test_*.pyfile (66 files): all passed.tests/test_baml_contract.py: 11 passed, 1 skipped. The regeneration-reproducibility test needs the BAML 0.23.0 toolchain, which isn't installed on dev0; hosted CI downloads it.tests/test_summarization.py: 72 passed.Remaining publish steps (each needs owner approval, none done here)
These follow
docs/operations/v13-release.md(Publication Gate) and.github/workflows/release-automation.yml.v1.5.0tag, norelease-claims/v1.5.0ref, no GitHub release and no PyPIindex-it-mcp==1.5.0. As of 2026-11-08 none exist; PyPI latest is 1.4.1.gh workflow run "Release Automation" --ref main -f mode=publish -f version=v1.5.0 -f auto_merge=false -f expected_commit=<merge SHA> -f expected_tree=<tree SHA>.release-claims/v1.5.0once.image-reference.txt.release_smoke.py --wheel-path <downloaded wheel> --wheel-sha256 <PyPI sha256> --image-ref ghcr.io/consiliency/code-index-mcp@sha256:<registry digest>;phase-loop-runtime==0.7.30;🤖 Generated with Claude Code