Repository navigation
docs(calm-hub): propose extensions framework design as ADRs and CALM architecture - #3520
Closed
markscott-ms wants to merge 1 commit into
Closed
markscott-ms wants to merge 1 commit into
markscott-ms wants to merge 1 commit into
Conversation
…architecture Add proposed ADRs 0009 to 0016 for the CALM Hub extensions framework (finos#3396) and namespace-bound validation (finos#3399). Add calm-4, a future moment in the CALM timeline, with a system architecture and a detailed Hub architecture that model the design and its controls.
markscott-ms
requested review from
a team,
Thels,
grahampacker-ms,
jpgough-ms,
rocketstack-matt and
willosborne
as code owners
October 27, 2026 00:08
2 of 5 tasks
Member
|
@markscott-ms this is a lot to review in one go, any chance we could split up into related ADRs so there are 2-3 max per review? |
Contributor
Author
|
Closed in favour of a stack of four smaller PRs, for easier review. The content does not change. Each branch is based on the one before it:
The PRs for these branches will be linked here when they are open. |
This was referenced Oct 29, 2026
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR proposes a design for #3396, the CALM Hub extensions framework. It records the design as ADRs and models it in CALM. @rocketstack-matt, please review it against your proof of concept and the thread on #3396.
The design keeps the main points that the thread agreed: operator-only install, a proxy-only backend, one
hubApiversion, and a Hub-signed identity assertion. It adds answers to the open questions and changes to the delivery plan. #3399 is the test case for the server-side points.vertx-json-schemavalidation,hubApiversioning, configuration by extension id (Q6)calm hub extdispatch in the CLI, and one MCP tool for each commandArchitecture.
calm-4.architecture.jsonis the system view.calm-hub-4-detail.architecture.jsonis the Hub detail, and the Hub node in calm-4 links to it. Controls in both files link to the ADRs.calm-4is a moment aftercurrent-momentin the timeline, with novalid-from, so it is a future state.Findings in the code that change the plan:
X-Frame-Options: DENYapplies to all routes, so Hub cannot frame a page that it serves.$schemaof the architecture, cannot accept resolved documents, and limits Hub to 100 calls in 15 minutes.applies-toindecorators.jsonneeds at least one item, so a pass cannot be recorded.allow.put.operationsis on.Not yet verified. A step-0 spike must test
ToolManager, JWT signing andvertx-json-schemain a native image, and streaming on RESTEasy Classic. The ADRs give the fallback for each.All ADRs are
Proposed. This PR changes no code.Type of Change
Affected Components
cli/)calm/)calm-ai/)calm-hub/)calm-hub-ui/)calm-lab/)calm-models/)calm-server/)calm-studio/)calm-widgets/)calm-guard/)docs/)shared/)calm-plugins/vscode/)Commit Message Format ✅
docs(calm-hub): propose extensions framework design as ADRs and CALM architectureTesting
calm validatepasses with no errors or warnings for both architectures and for the timeline. Run it fromcalm/architecture, because the CLI findsdetailed-architecturefiles from the working directory.Do not open
calm-4.architecture.jsonin CALM Canvas 0.9.2 and save it. The canvas removes fields from it (#3518, #3519).Checklist