Currently, our catalog files (basic and minimal) for v0.9 and v0.10 reside in the generic specification/vX_X/json/ directory alongside the core protocol schemas.
To improve modularity and organization, we need to restructure the minimal and basic catalogs (and their examples) into a dedicated catalogs/ hierarchy.
Important: This change should only apply to v0.9 and v0.10. The v0.8 specification must remain untouched for backward compatibility.
Proposed Structure (for both v0.9 and v0.10):
specification/v0_9/catalogs/basic/catalog.json (formerly basic_catalog.json)
specification/v0_9/catalogs/basic/rules.txt (formerly basic_catalog_rules.txt)
specification/v0_9/catalogs/basic/examples/
specification/v0_9/catalogs/minimal/catalog.json (formerly minimal_catalog.json)
specification/v0_9/catalogs/minimal/examples/
specification/v0_9/catalogs/minimal/README.md
Acceptance Criteria:
- File Moves: Relocate the basic and minimal catalogs, rules, and example directories for v0.9 and v0.10 to the new structure.
- Schema Updates: Update internal
$id, $ref, and catalogId properties within the JSON schemas to reflect the new paths. (e.g. https://a2ui.org/specification/v0_9/catalogs/basic/catalog.json).
- Example Updates: Update the
catalogId references in all example JSON files.
- Tooling & SDK Updates:
- Update
agent_sdks/python/src/a2ui/basic_catalog/constants.py (for v0.9/v0.10).
- Update
specification/scripts/validate.py.
- Update
tools/build_catalog/assemble_catalog.py.
- Update
renderers/web_core/package.json and renderers/web_core/scripts/copy-spec.js.
- Documentation & Hosting:
- Update mentions in
@docs/** (like renderer_guide.md, a2ui_protocol.md, catalogs.md).
- Update
.github/workflows/docs.yml to ensure that the new catalogs/ directory structure is copied and hosted correctly on the documentation site so that URLs like https://a2ui.org/specification/v0_9/catalogs/basic/catalog.json resolve correctly.
- Set up backward compatibility copying in the docs workflow if necessary so existing links don't immediately break.
Note to Implementer:
Before implementing, please perform a fresh repository-wide search (e.g., using grep or codebase search) for basic_catalog.json, minimal_catalog.json, v0_9/json, and v0_10/json. This is crucial to catch any new references or examples that may have been merged recently.
Currently, our catalog files (basic and minimal) for v0.9 and v0.10 reside in the generic
specification/vX_X/json/directory alongside the core protocol schemas.To improve modularity and organization, we need to restructure the minimal and basic catalogs (and their examples) into a dedicated
catalogs/hierarchy.Important: This change should only apply to
v0.9andv0.10. Thev0.8specification must remain untouched for backward compatibility.Proposed Structure (for both v0.9 and v0.10):
specification/v0_9/catalogs/basic/catalog.json(formerlybasic_catalog.json)specification/v0_9/catalogs/basic/rules.txt(formerlybasic_catalog_rules.txt)specification/v0_9/catalogs/basic/examples/specification/v0_9/catalogs/minimal/catalog.json(formerlyminimal_catalog.json)specification/v0_9/catalogs/minimal/examples/specification/v0_9/catalogs/minimal/README.mdAcceptance Criteria:
$id,$ref, andcatalogIdproperties within the JSON schemas to reflect the new paths. (e.g.https://a2ui.org/specification/v0_9/catalogs/basic/catalog.json).catalogIdreferences in all example JSON files.agent_sdks/python/src/a2ui/basic_catalog/constants.py(for v0.9/v0.10).specification/scripts/validate.py.tools/build_catalog/assemble_catalog.py.renderers/web_core/package.jsonandrenderers/web_core/scripts/copy-spec.js.@docs/**(likerenderer_guide.md,a2ui_protocol.md,catalogs.md)..github/workflows/docs.ymlto ensure that the newcatalogs/directory structure is copied and hosted correctly on the documentation site so that URLs likehttps://a2ui.org/specification/v0_9/catalogs/basic/catalog.jsonresolve correctly.Note to Implementer:
Before implementing, please perform a fresh repository-wide search (e.g., using
grepor codebase search) forbasic_catalog.json,minimal_catalog.json,v0_9/json, andv0_10/json. This is crucial to catch any new references or examples that may have been merged recently.