phase4-D: repo.meta.json — expose mcp_tools + release_wheel for catalog gen#5
Merged
Conversation
…og gen Track D §5 D3 prep. The .github meta-repo's build-catalog.py translates each ``exposes.<kind>`` into ``<kind>_url`` in profile/tools.json. Updating exposes here means the org catalog will generate the right pointer-URL keys naturally on regen — no hand-edits to tools.json required, which preserves the "facts in repos, routing in meta" architectural inversion. * Renamed ``exposes.tools`` → ``exposes.mcp_tools`` so the catalog surfaces it as ``mcp_tools_url`` (the field name phase4-plan.md §5 D3 specifies). The same dist/mcp-tools.json file remains the generated manifest; only the catalog-facing label changes. * Added ``exposes.release_wheel`` pointing at the v0.1.0 GitHub Release wheel asset. The org schema explicitly allows absolute URLs in ``exposes`` for cross-host pointers; the build-catalog generator's ``resolve_exposes_value`` passes them through verbatim. Verified: ``make check`` green (41/41 pytest, ruff/mypy/manifest/ agents gates clean) and ``make check-repo-meta META=… ARGS=--no-resolve`` on the org schema returns OK. The full ``--resolve`` mode chokes when the validator tries to UTF-8 decode the wheel binary — that's a real validator gap worth a follow-up PR on .github (validator should skip decoding for non-text extensions). Out of scope for Track D. After this merges, the .github phase4-D PR adds the TIER_3 URL for this repo and runs ``make catalog`` — the new ``tools.m-dev-tools-mcp`` entry then materializes with both ``mcp_tools_url`` and ``release_wheel_url`` populated.
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.
Summary
Track D §5 D3 prep. The
.githubmeta-repo'sbuild-catalog.pytranslates eachexposes.<kind>into a<kind>_urlfield inprofile/tools.json. Updatingexposeshere means the org catalog generates the right pointer-URL keys naturally on regen — no hand-edits totools.jsonrequired, which preserves the "facts in repos, routing in meta" architectural inversion.Changes
exposes.tools→exposes.mcp_toolsso the catalog surfaces it asmcp_tools_url(the field name phase4-plan.md §5 D3 specifies). Samedist/mcp-tools.jsonfile remains the generated manifest; only the catalog-facing label changes.exposes.release_wheel→https://github.com/m-dev-tools/m-dev-tools-mcp/releases/download/v0.1.0/m_dev_tools_mcp-0.1.0-py3-none-any.whl. The org schema explicitly allows absolute URLs inexposes;build-catalog.py'sresolve_exposes_valuepasses them through verbatim.Verified
make checkgreen (41/41 pytest, ruff/mypy/manifest/agents drift gates clean)make check-repo-meta META=… ARGS=--no-resolveagainst the org schema → OKOut-of-scope follow-up
The full
--resolvemode ofvalidate-repo-meta.py(on.github) chokes when the validator tries to UTF-8 decode the wheel binary. That's a real validator gap — worth a separate PR on.githubto skip decoding for non-text extensions. Track D doesn't need it:build-catalog.pydoesn't fetch the wheel (it just passes the URL through).What lands next
After this merges, the
.githubphase4-DPR (already drafted locally) adds the TIER_3 URL for this repo and runsmake catalog. The newtools.m-dev-tools-mcpentry then materializes with bothmcp_tools_urlandrelease_wheel_urlpopulated.