Skip to content

feat(registry): new registry protocol and 1.0.1 release - #72

Merged
GuillaumeSachet merged 1 commit into
devfrom
feat/tool-kin-registry
Aug 28, 2026
Merged

feat(registry): new registry protocol and 1.0.1 release#72
GuillaumeSachet merged 1 commit into
devfrom
feat/tool-kin-registry

Conversation

@GuillaumeSachet

Copy link
Copy Markdown
Contributor

Points the agentic-mesh-protocol submodule at the merged registry rework and brings the repository back in line with the protocol it now generates.

Protocol

The submodule moves to the registry rework merged upstream, which replaces module_registry, task_manager and pagination with registry/v1.

Generation pipeline

Those removed services had left orphaned Python packages behind. buf only ever writes files — it never deletes output for protos that disappear upstream — so the stale packages survived in agentic-mesh-protocol/gen/python/ and were copied back into src/ on every generation. They had been there since May.

  • proto:generate now wipes gen/python before running buf, so a service deleted upstream can no longer leave an orphaned package behind
  • proto:copy gains preconditions: rsync --delete would otherwise wipe src/ if a generation produced nothing
  • proto:clean stops hardcoding a service list that had already gone stale (it listed module_registry, and missed gateway, registry and pagination)

Configuration

  • .gitignore drops the src/digitalkin_proto/* paths left over from the package rename; the *_pb2* globs already cover the generated tree
  • pyproject.toml points pytest testpaths and ruff src at test/ instead of the nonexistent tests/, which made pytest warn and fall back to a recursive scan
  • .bumpversion.toml settings move into [tool.bumpversion]; they had been indented inside a [[tool.bumpversion.files]] table, so bump-my-version never read them as global options
  • CLAUDE.md is rewritten to describe agentic_mesh_protocol as it is today

Dependencies

Every dev dependency was locked exactly at its declared floor, so the lockfile had never been refreshed. The pre-commit hooks had drifted far behind the dev group — pre-commit linted with ruff 0.9.9 while task lint used 0.15.22, six minor versions apart, so code could pass one and fail the other.

  • runtime: grpcio/grpcio-tools 1.83.1, protobuf 7.36.0, googleapis-common-protos 1.75.2, bump-my-version 1.5.1
  • dev: build 1.6.0, mypy 2.3.1, pre-commit 4.6.2, ruff 0.16.5
  • hooks: pre-commit-hooks v6.0.0, ruff-check v0.16.5, mirrors-mypy v2.3.1

protovalidate is held at 1.2.0 and twine at 6.2.0. Both are the last release in their current major line, so the only way forward is the major bump — and protovalidate is a published runtime dependency, so moving it forces every consumer to follow. Worth deciding separately.

Release

Version 1.0.1 across pyproject.toml, .bumpversion.toml, __version__.py and uv.lock.

Verification

  • task gen runs clean end to end; the generated packages now match the proto tree exactly, with no orphans
  • pytest passes against protobuf 7.36.0 and grpcio 1.83.1 — the existing gencode is compatible
  • ruff 0.16.5 check and format are clean; all pre-commit hooks pass

Note for reviewers

Do not run task --force gen. --force overrides the status: guard on init, which then runs git submodule update --init --recursive, silently resetting the submodule to the committed pointer and regenerating from the wrong protos. Plain task gen is safe.

Related

Closes #64 (dependabot lockfile bump, entirely superseded) and #65 (validation-proto, already in the project) — both closed with reasons during this work.

Point the agentic-mesh-protocol submodule at the merged registry rework
and bring the repository back in line with the protocol it now generates.

Protocol:
- submodule moves to the registry rework merged upstream, replacing
  module_registry/task_manager/pagination with registry/v1

Generation pipeline:
- the removed services had left orphaned Python packages behind: buf only
  ever writes files and never deletes output for protos that disappear, so
  the stale packages survived in gen/python and were copied back into src/
  on every run. proto:generate now wipes gen/python first
- proto:copy gains preconditions, since rsync --delete would otherwise wipe
  src/ if a generation produced nothing
- proto:clean stops hardcoding a service list that had already gone stale

Configuration:
- .gitignore drops the src/digitalkin_proto/* paths left over from the
  package rename; the *_pb2* globs already cover the generated tree
- pyproject points pytest and ruff at test/ instead of the nonexistent
  tests/, which made pytest fall back to a recursive scan
- .bumpversion.toml settings move into [tool.bumpversion], where they were
  always meant to be read from
- CLAUDE.md is rewritten to describe agentic_mesh_protocol as it is today

Dependencies:
- every dev dependency had been locked at its declared floor, and the
  pre-commit hooks had drifted far behind the dev group: pre-commit linted
  with ruff 0.9.9 while task lint used 0.15.22
- runtime: grpcio/grpcio-tools 1.83.1, protobuf 7.36.0,
  googleapis-common-protos 1.75.2, bump-my-version 1.5.1
- dev: build 1.6.0, mypy 2.3.1, pre-commit 4.6.2, ruff 0.16.5
- hooks: pre-commit-hooks v6.0.0, ruff-check v0.16.5, mirrors-mypy v2.3.1
- protovalidate is held at 1.2.0 and twine at 6.2.0; both have a new major
  available, and protovalidate is a published runtime dependency, so moving
  it forces every consumer to follow

Release 1.0.1.
@GuillaumeSachet
GuillaumeSachet merged commit c14efa0 into dev Aug 28, 2026
4 checks passed
@Ekyoz
Ekyoz deleted the feat/tool-kin-registry branch September 2, 2026 13:49
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.

2 participants