finos / finos/architecture-as-code
Control Diffs
- Dominant language
- TypeScript
- Stars
- 399
- Forks
- 138
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 38
Description
## Feature Proposal
### Target Project:
Calm Hub UI
Calm CLI (by extension, CALM Shared and CALM Models)
### Description of Feature:
This feature has two components
- The Calm Hub UI component which will allow seeing the diff between architecture controls on CALM-Hub UI.
- The CALM CLI which will allow diffing between the `controls` property on two different CALM JSONs.
### User Stories:
"As a developer, I want to run `calm control-diff` between two architectures so that I can identify what controls have been added or removed."
"As a developer, I want to make at most three clicks on the CALM Hub UI to see the diff in controls between two architectures."
### Current Limitations:
It's just not been implemented yet.
### Proposed Implementation:
We can use the implementation of the diff command as an example for the CLI: https://github.com/finos/architecture-as-code/pull/2442
We can use the implementation of the diff view in Calm Hub UI as an example for the Calm Hub UI: https://github.com/finos/architecture-as-code/pull/2482
### Alternatives Considered:
There is no alternative.
### Testing Strategy:
Existing unit tests and integration tests, followed by user testing.
### Documentation Requirements:
Any documentation relevant to CLI or CALM Hub UI.
### Implementation Checklist:
- [ ] Design reviewed and approved
- [ ] Implementation completed
- [ ] Tests written and passing
- [ ] Documentation updated
- [ ] Relevant workflows updated (if needed)
- [ ] Performance impact assessed
### Additional Context:
.We would want to start by just updating the diffing engine and associated typing in CALM models, similar to how we have done for https://github.com/finos/architecture-as-code/issues/2526. We would then proceed with making changes to tooling after consultation in office hours.
Contributor guide
Assessment
This issue has not been assessed yet.