You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
docs(calm-hub): propose architecture validation and store write seam ADRs - #3581
Part 3 of 4 of the CALM Hub extensions framework design for #3396. #3520 had all of this in one PR. It is now a stack of PRs, so that each part gets a better review.
Validation is a Hub feature behind an internal interface, with calm-server as the default. Results are recorded asynchronously first
0016
A write seam on the store producers and an outbox for post-write events
Findings that change the plan:
calm-server rejects a Pattern that is not the $schema of the architecture, cannot accept resolved documents, and limits Hub to 100 calls in 15 minutes.
applies-to in decorators.json needs at least one item, so a pass cannot be recorded.
Versions are not immutable when allow.put.operations is on.
All ADRs are Proposed.
Type of Change
🐛 Bug fix (non-breaking change which fixes an issue)
✨ New feature (non-breaking change which adds functionality)
💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
📚 Documentation update
🎨 Code style/formatting changes
♻️ Refactoring (no functional changes)
⚡ Performance improvements
✅ Test additions or updates
🔧 Chore (maintenance, dependencies, CI, etc.)
Affected Components
CLI (cli/)
Schema (calm/)
CALM AI (calm-ai/)
CALM Hub (calm-hub/)
CALM Hub UI (calm-hub-ui/)
CALM Lab (calm-lab/)
CALM Models (calm-models/)
CALM Server (calm-server/)
CALM Studio (calm-studio/)
CALM Widgets (calm-widgets/)
CALMGuard (calm-guard/)
Documentation (docs/)
Shared (shared/)
VS Code Extension (calm-plugins/vscode/)
Dependencies
CI/CD
Commit Message Format ✅
docs(calm-hub): propose architecture validation and store write seam ADRs
Testing
I have tested my changes locally
I have added/updated unit tests
All existing tests pass
This PR adds documentation only. It changes no code.
I agree with the direction: validation in Hub behind an SPI, results as validation decorators, and one write seam with an outbox for REST and MCP. Some requests before acceptance:
ADR 0015 L76–81 (only Hub writes validation)
Please make this a general rule: reserved decorator types. Hub keeps a map of type → allowed writers (for example validation → system, control-evaluation → policy-engine with its ADR 0010 service account). The ADR 0016 wrapper enforces it. Other types keep today's rule. Also, when a decorator names a $schema that Hub knows (for example a calm-schema Standard), Hub should check data against it on write.
ADR 0015 L78–79 (supersede, never edit)
Today updateDecorator edits in place (ADR 0004), and no ADR changes that. Please add a short ADR for decorator history: reserved types are append-only, with a supersedes link in a field that Hub owns, not in data.
ADR 0015 L82–84 (applies-to sentinel)
Agreed. Please make sure the control-evaluation Standard uses the same convention, and keep the calm-schema proposal.
ADR 0015 (result shape)
Please model the validation decorator Standard on the control-evaluation one (status, findings, engine, evaluated-at). Then one diagram overlay and one generic view can show both (#3620).
ADR 0016 L17–20 (@Decorator on producer beans)
The design depends on this. Please confirm it in a short spike before acceptance, not after.
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
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
Part 3 of 4 of the CALM Hub extensions framework design for #3396. #3520 had all of this in one PR. It is now a stack of PRs, so that each part gets a better review.
Stack (merge in this order):
#3399 is the test case for these ADRs.
Findings that change the plan:
$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.All ADRs are
Proposed.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 architecture validation and store write seam ADRsTesting
This PR adds documentation only. It changes no code.
Checklist