-
Notifications
You must be signed in to change notification settings - Fork 77
CALM Schema 1.2 - make protocol extensible and optional #1814
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: release-1.2
Are you sure you want to change the base?
CALM Schema 1.2 - make protocol extensible and optional #1814
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces Draft 1437, which makes the CALM protocol field extensible and optional in relationship definitions. The change enables support for emerging protocols (like GraphQL, gRPC) without requiring schema updates, while maintaining backward compatibility with existing CALM models.
Key Changes:
- Protocol definition changed from strict enum to anyOf pattern (enum values OR any string)
- Protocol property removed from relationship schema (remains optional via additionalProperties: true)
- Three example files demonstrating enum protocol, custom string protocol, and no protocol
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| calm/draft/1437/core.json | New draft schema implementing extensible protocol definition and optional protocol property |
| calm/draft/1437/README.md | Documentation explaining the proposal, rationale, and compatibility impact |
| calm/draft/1437/prototype/relationship-example-enum.json | Example using predefined enum protocol value (HTTPS) |
| calm/draft/1437/prototype/relationship-example-with-string.json | Example using custom string protocol value (GraphQL) |
| calm/draft/1437/prototype/relationship-example-no-protocol.json | Example with no protocol field present |
π‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
calm/draft/1437/core.json
Outdated
| ], | ||
| "additionalProperties": true | ||
| }, | ||
| "protocol": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the benefit of making this a enum or string, rather than just a string?
Is it to encourage standard capitalization of some common values, and give examples of those common values?
Otherwise it might be an unnecessary complication of the schema definition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Following the same convention we adopted when we made the same change for node-type
|
Discussed in #1798 . This PR makes protocol more extensible. It is a non-breaking change. Change protocol to be just a 'string', but agreed to include in release 1.1. |
Add comprehensive documentation for CALM Copilot Chatmode and Voice Mode features to address GitHub issue finos#1755. Changes: - Add copilot-chatmode.md: Complete guide for setting up AI-powered development assistance with GitHub Copilot Chat, including setup, usage, specialized tools, and troubleshooting - Add voice-mode.md: Comprehensive guide for hands-free interaction using VS Code Speech extension, covering installation, microphone setup, usage, best practices, accessibility, and platform-specific instructions for Windows/macOS/Linux - Update index.md: Add links to new Copilot Chatmode and Voice Mode docs - Update using-the-cli.md: Add copilot-chatmode command reference and AI-Powered Development section Resolves: finos#1755
β¦x sidebar_position Resolves: finos#1755
Bumps the npm_and_yarn group with 1 update in the /calm-models directory: [glob](https://github.com/isaacs/node-glob). Updates `glob` from 10.4.5 to 10.5.0 - [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md) - [Commits](isaacs/node-glob@v10.4.5...v10.5.0) --- updated-dependencies: - dependency-name: glob dependency-version: 10.5.0 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <[email protected]>
* fix(deps): update minor updates * chore(deps): update JaCoCo version and enhance dependency grouping in Renovate config --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Matthew Bain <[email protected]> Co-authored-by: rocketstack-matt <[email protected]>
Add experimental CALM Explorer tool for interactive visualization and exploration of FINOS CALM (Common Architecture Language Model) architecture diagrams. Key features: - Interactive graph visualization with ReactFlow - JSON editor with Monaco - GitHub integration for loading CALM files - Support for CALM patterns and nested containers - Dagre-based automatic layout Configuration changes: - Add package-lock.json for CI compatibility - Update workspace configuration for experimental/calm-explorer - Add GitHub Actions workflow for building and testing - Configure proper package naming (@finos/calm-explorer)
β¦nd add related tests
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
The semantic release notes step is failing. Updating to a method that will import the module correctly.
Bumps the npm_and_yarn group with 1 update in the / directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `vite` from 5.4.20 to 5.4.21 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.21/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.21/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 5.4.21 dependency-type: direct:development dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <[email protected]>
One or more co-authors of this pull request were not found. You must specify co-authors in commit message trailer via: Supported
Please update your commit message(s) by doing |
One or more co-authors of this pull request were not found. You must specify co-authors in commit message trailer via: Supported
Please update your commit message(s) by doing |
|
Let's get #1872 into main, then sync main into release-1.2 branch, then get this merged in. Why are there so many files??? |
Addresses #1437
Type of Change
Affected Components
cli/)shared/)calm-widgets/)calm-hub/)calm-hub-ui/)docs/)calm-plugins/vscode/)Commit Message Format β
Testing
Checklist