Skip to content

Pin the MCP server the plugin delivers, and join the consumer register - #18

Merged
samuelduchesne merged 2 commits into
mainfrom
004-integrate-unified-releases
Sep 11, 2026
Merged

samuelduchesne merged 2 commits into
mainfrom
004-integrate-unified-releases

Conversation

@samuelduchesne

Copy link
Copy Markdown
Contributor

Part of feature 004 of the unification.

Waits on governance-2026.18, cut from idfkit/idfkit-conformance#10. The new consumer-register job and the rehearsal pin that tag, so they stay red until it exists. Merge after the tag is cut.

  • .mcp.json pins idfkit-mcp@0.9.3. Two installs separated by a release now run the same server. The user still types no version (/plugin install idfkit@idfkit, FR-019). README and AGENTS.md taught the unpinned form and are corrected.
  • .lsp.json is unchanged, because there is nothing to pin. idfkit-lsp has never been published to PyPI (The language server path resolves nothing: idfkit-lsp is not on PyPI #17), so that entry resolves nothing on a clean machine. The register records it as a not-yet lag.
  • CODEOWNERS covers .mcp.json and .lsp.json (FR-016).
  • bump-idfkit.yml adopts after its servers publish on the level. The MCP half proceeds when idfkit-mcp has. The LSP half stays unchanged, and the PR says so, until idfkit-lsp publishes.
  • consumer-register job in tests.yml, plus rehearse-candidate.yml (through its providers).

All 25 discovery tests pass.

.mcp.json ran `uvx idfkit-mcp` with no version, so every editor got whatever
was newest on the day and a release reached users the moment it published,
reviewed by nobody (feature 004 of the unification, FR-015). It now pins
idfkit-mcp@0.9.3, the newest release. The user still types no version.

.lsp.json is unchanged: idfkit-lsp has never been published to PyPI, so there
is no version to pin and the entry resolves nothing today (#17). The consumer
register records that as a not-yet lag rather than pinning something that does
not exist. CODEOWNERS puts both files under review (FR-016), and the README and
AGENTS.md no longer teach the unpinned form.
The consumer-register job calls check-consumer.yml at governance-2026.18,
which is not cut yet, so it fails until it is. bump-idfkit.yml is dispatched
in wave 2: it refuses an idfkit level until idfkit-mcp has a release pinning
it, naming idfkit-mcp (FR-020), then moves .mcp.json to that release. The
language server cannot move while idfkit-lsp is unpublished, and the pull
request says so rather than pretending. decline_reason records a deliberate
lag (FR-024). rehearse-candidate.yml rehearses through the two servers.
@samuelduchesne
samuelduchesne merged commit 3f41897 into main Sep 11, 2026
5 checks passed
@samuelduchesne
samuelduchesne deleted the 004-integrate-unified-releases branch September 11, 2026 17:34
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.

1 participant