Skip to content

phase4-D: repo.meta.json — expose mcp_tools + release_wheel for catalog gen#5

Merged
rafael5 merged 1 commit into
mainfrom
phase4-D-manifest
May 11, 2026
Merged

phase4-D: repo.meta.json — expose mcp_tools + release_wheel for catalog gen#5
rafael5 merged 1 commit into
mainfrom
phase4-D-manifest

Conversation

@rafael5
Copy link
Copy Markdown
Contributor

@rafael5 rafael5 commented May 11, 2026

Summary

Track D §5 D3 prep. The .github meta-repo's build-catalog.py translates each exposes.<kind> into a <kind>_url field in profile/tools.json. Updating exposes here means the org catalog generates 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.

Changes

  • Renamed exposes.toolsexposes.mcp_tools so the catalog surfaces it as mcp_tools_url (the field name phase4-plan.md §5 D3 specifies). Same dist/mcp-tools.json file remains the generated manifest; only the catalog-facing label changes.
  • Added exposes.release_wheelhttps://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 in exposes; build-catalog.py's resolve_exposes_value passes them through verbatim.

Verified

  • make check green (41/41 pytest, ruff/mypy/manifest/agents drift gates clean)
  • make check-repo-meta META=… ARGS=--no-resolve against the org schema → OK

Out-of-scope follow-up

The full --resolve mode of validate-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 .github to skip decoding for non-text extensions. Track D doesn't need it: build-catalog.py doesn't fetch the wheel (it just passes the URL through).

What lands next

After this merges, the .github phase4-D PR (already drafted locally) 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.

…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.
@rafael5 rafael5 merged commit 2d69bff into main May 11, 2026
1 check passed
@rafael5 rafael5 deleted the phase4-D-manifest branch May 11, 2026 12:06
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