finos / finos/architecture-as-code

Control Diffs

Open
#2,586 0 comments 0 reactions 1 assignee Claimed by @aamanrebello View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.