Skip to content

docs(adr): ADR to unify constructors and transformations#1041

Merged
Skarlso merged 34 commits into
open-component-model:mainfrom
fabianburth:adr-unify-transfer-and-construct
Nov 13, 2025
Merged

docs(adr): ADR to unify constructors and transformations#1041
Skarlso merged 34 commits into
open-component-model:mainfrom
fabianburth:adr-unify-transfer-and-construct

Conversation

@fabianburth

@fabianburth fabianburth commented Oct 14, 2025

Copy link
Copy Markdown
Contributor

What this PR does / why we need it

Introduce ADR0012 specifying a OCM transformation specification that treats component constructors as a form of transformation. Document the motivation, requirements comparison, and solution: generate a transformation spec from existing constructor files to preserve the current constructor workflow while enabling ocm transfer component-style operations and easing the transition to ocm v2.

Key changes:

  • Add new ADR detailing context, problem statement, and proposed solution.
  • Compare transfer vs constructor requirements and conclude they are functionally equivalent.
  • Provide an example constructor and the generated transformation specification (partial) to illustrate the conversion approach.

This clarifies design decisions, aligns transformations and constructors, and lays groundwork for generating transformation specs from constructor files.

Which issue(s) this PR fixes

open-component-model/ocm-project#719

@github-actions github-actions Bot added the area/documentation Documentation related label Oct 14, 2025
@fabianburth fabianburth self-assigned this Oct 14, 2025
@github-actions github-actions Bot added the size/m Medium label Oct 14, 2025
@fabianburth fabianburth marked this pull request as draft October 14, 2025 13:25
@fabianburth fabianburth added the kind/feature new feature, enhancement, improvement, extension label Oct 14, 2025
@fabianburth fabianburth force-pushed the adr-unify-transfer-and-construct branch 3 times, most recently from fce00f3 to c05733d Compare October 16, 2025 07:16
@fabianburth fabianburth force-pushed the adr-unify-transfer-and-construct branch from fd6ca8f to 42c16a4 Compare October 16, 2025 12:03
@fabianburth fabianburth marked this pull request as ready for review October 16, 2025 12:03
@fabianburth fabianburth force-pushed the adr-unify-transfer-and-construct branch from 258ecbf to 089e455 Compare October 16, 2025 12:22
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
@fabianburth fabianburth requested a review from a team as a code owner October 20, 2025 10:15
@github-actions github-actions Bot added the component/github-actions Changes on GitHub Actions or within `.github/` directory label Oct 20, 2025
Introduce ADR0012 specifying a OCM transformation specification that
treats component constructors as a form of transformation. Document the
motivation, requirements comparison, and solution: generate a transformation
spec from existing constructor files to preserve the current constructor
workflow while enabling `ocm transfer component`-style operations and easing
the transition to ocm v2.

Key changes:
- Add new ADR detailing context, problem statement, and proposed solution.
- Compare transfer vs constructor requirements and conclude they are
  functionally equivalent.
- Provide an example constructor and the generated transformation
  specification (partial) to illustrate the conversion approach.

This clarifies design decisions, aligns transformations and constructors,
and lays groundwork for generating transformation specs from constructor
files.

Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
@fabianburth fabianburth force-pushed the adr-unify-transfer-and-construct branch from b00229e to 478822f Compare October 20, 2025 10:16
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated

@Skarlso Skarlso left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of questions really and one/two improvement requests.

Comment thread docs/adr/0012_construct_as_transformation.md
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Comment thread docs/adr/0012_construct_as_transformation.md
Comment thread docs/adr/0012_construct_as_transformation.md
Comment thread docs/adr/0012_construct_as_transformation.md
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Added a note indicating that the program flow section will be updated
as the implementation progresses, referencing the Builder implementation
of KRO for inspiration.

Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
…rototype

Signed-off-by: Fabian Burth <fabian.burth@sap.com>
…citly as non goal

Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
Skarlso
Skarlso previously approved these changes Nov 13, 2025

@Skarlso Skarlso left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, let's get this thing on the road!

morri-son
morri-son previously approved these changes Nov 13, 2025

@morri-son morri-son left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm already. My requested changes were just correcting formatting issues.

Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Comment thread docs/adr/0012_construct_as_transformation.md Outdated
Signed-off-by: Fabian Burth <fabian.burth@sap.com>
@fabianburth fabianburth dismissed stale reviews from morri-son and Skarlso via 6daecc3 November 13, 2025 14:30
@Skarlso

Skarlso commented Nov 13, 2025

Copy link
Copy Markdown
Contributor

@matthiasbruns good ideas with the graphs, but for now, we are going to skip those in favor of progress basically. The ADR is HUGE as is.

@Skarlso Skarlso merged commit 14b24da into open-component-model:main Nov 13, 2025
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/documentation Documentation related component/github-actions Changes on GitHub Actions or within `.github/` directory kind/feature new feature, enhancement, improvement, extension size/l Large size/m Medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants