Problem Description
Currently, modules are identified by ID, but there's no formal specification for versioning (e.g., SemVer for modules) or how to handle breaking changes in a distributed agentic environment.
Why solve it
As ecosystems grow, modules will evolve. Agents need to know if they are calling a compatible version of a tool to avoid runtime failures.
- Robustness: Preventing issues due to mismatched schemas or behavioral changes.
- Compatibility: Allowing side-by-side versions or automated version negotiation.
- Ecosystem Scale: Enabling reliable updates for modules in production.
How to solve it
- Metadata Field: Add a
version field to the module metadata.
- Negotiation Algorithm: Define a
negotiate_version algorithm (Algorithm A14) in PROTOCOL_SPEC.md.
- Registry Update: Implement version-aware lookup and resolution in the Registry API.
- Compatibility Check: Specify rules for SemVer usage in modules (e.g., how to handle minor vs. major version bumps in schemas).
Problem Description
Currently, modules are identified by ID, but there's no formal specification for versioning (e.g., SemVer for modules) or how to handle breaking changes in a distributed agentic environment.
Why solve it
As ecosystems grow, modules will evolve. Agents need to know if they are calling a compatible version of a tool to avoid runtime failures.
How to solve it
versionfield to the module metadata.negotiate_versionalgorithm (Algorithm A14) inPROTOCOL_SPEC.md.