Skip to content

[master] Adrian Jenks - Creation of an Agreement Event to support the capture of legal agreement changes (Update expectations)#4644

Open
Oscar-Twomey wants to merge 33 commits into
finos:masterfrom
rosetta-models:adria_635b9f93d2c223867fe2e1f-AgreementAmendments_UpdExp
Open

[master] Adrian Jenks - Creation of an Agreement Event to support the capture of legal agreement changes (Update expectations)#4644
Oscar-Twomey wants to merge 33 commits into
finos:masterfrom
rosetta-models:adria_635b9f93d2c223867fe2e1f-AgreementAmendments_UpdExp

Conversation

@Oscar-Twomey
Copy link
Copy Markdown
Contributor

Update Expectations for #4626

@Oscar-Twomey Oscar-Twomey requested a review from a team as a code owner April 27, 2026 13:44
@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla Bot commented Apr 27, 2026

CLA Signed

The committers listed above are authorized under a signed CLA.

@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 27, 2026

Deploy Preview for finos-cdm ready!

Name Link
🔨 Latest commit 9526fa9
🔍 Latest deploy log https://app.netlify.com/projects/finos-cdm/deploys/6a16c09015efec00085161ad
😎 Deploy Preview https://deploy-preview-4644--finos-cdm.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@CDM-ReleaseManagement-OT
Copy link
Copy Markdown
Contributor

@AdrianJenksD2LT can you please complete the easy CLA authorisation.

[metadata key]
[rootType]

agreementEventInstruction EventBase (0..1) <"Specifies the date of the event and the effective date of the event associated with the agreement event triggered by an amendment">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

For consistency with BusinessEvent, this should extend event base rather than use it as an attribute.

Also, there is an unused type AgreementInstruction below that can be deleted.

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.

Change made as requested

eventQualifier string (0..1) <"The CDM event qualifier, which corresponds to the outcome of the isEvent qualification logic which qualifies the lifecycle event as a function of its features (e.g. PartialTermination, ClearingSubmission, Novation, ...).">
afterAgreement LegalAgreement (0..*) <"The agreement as it looks after the event">

type AgreementEventInstruction: <"Specifies the date of the event and the effective date of the event.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This type is unused and can be deleted.

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.

Change made as requested.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I am still seeing the type

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This should follow the same structure as the BusinessEvent.

AgreementEvent extends AgreementEventInstruction

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

And instruction should be inside AgreementEventInstruction

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.

Amended as requested and now aligned with original Business Event structure

@@ -66,6 +70,48 @@ type BusinessEvent extends EventInstruction: <"A business event represents a lif
condition EventDate:
eventDate exists

type AgreementEvent: <"An agreement event represents a life cycle event of a legal document. The combination of legal term amendments, contracting party cchanges or agreement status changes that are represented by an amendment agreement or application of a protocol that represents a change to the overal Legal agreement representation.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Is there a reason why this doesn't extend AgreementInstruction which extends AgreementBase?

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.

Amended as requested

type AgreementInstruction: <"Instruction to a function that will be used to perform an agreement event">
[rootType]
primitiveInstruction AgreementPrimitiveInstruction (0..1) <"Specifies the primitive instructions that will be used to call the primitive Event function">
beforeAgreement LegalAgreement (0..1) <"Specifies the Legal Agreement that will be acted upon by the primitive event function.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This can just be called before. Agreement is implied.

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.

Amended as requested

beforeAgreement LegalAgreement (0..1) <"Specifies the Legal Agreement that will be acted upon by the primitive event function.">
[metadata reference]

type AgreementPrimitiveInstruction: <"A Primitive Instruction describes the inputs required to pass into the corresponding AgreementPrimitiveEvent function.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I don't think this needs to be split by CSA type - there is no difference between any of the change instruction types, and the party change is common across each.

Also, the party is defined at the top of the agreement, so I don't think the change needs to be applied within the IM/VM/Legacy documents themselves.

Review the existing party change instruction type and see if it can be reused here.

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.

The reason this has been split is due to different terms being applicable to different agreement types. I think we should retain the constraints we have within the agreement digitisation process to ensure only applicable terms are captured based on the agreement type.

We should also consider that organisations may use the amendment process to capture a complete digitised document. For example in the even that an amend and restate process is initiated where the original agreement terms have not been captured.

Regarding Party this change was intended to be outside of the terms change as I agree this does not need to be constrained at the agreement level. So the intention is to have a common Party change function but diversified agreement terms capture based on the agreement type.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

A party change should have its own primitive instruction because the parties will be updated agnostic to the type of agreement -the party is specified a level up at agreement Agreement. It doesn't need to be within each of the terms change types.

The agreement in question is passed in as the before agreement and will be used to set the after CSA agreement typew.

set after → agreementTerms → agreement -> CreditSupportAgreementElections: before -> agreementTerms → agreement -> CreditSupportAgreementElections

For terms change, I think it should be more granular than just the agreement type. This will let you change specific parts of an agreement rather than just overriding it with a new one. Furthermore, the way it is modelled currently, all agreement primitive instruction types use agreement. There's no actual difference between any of them, and you can just use agreement in each case.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

These are formatting changes and can be ignored.

[metadata key]
[rootType]

agreementEventInstruction EventBase (0..1) <"Specifies the date of the event and the effective date of the event associated with the agreement event triggered by an amendment">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

agreementEventInstruction is not an appropriate name here. There is already an agreementInstruction attribute.

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.

Amended to eventInstruction

agreementEventInstruction EventBase (0..1) <"Specifies the date of the event and the effective date of the event associated with the agreement event triggered by an amendment">
agreementInstruction AgreementInstruction (0..*) <"Specifies the instruction associated with the agreement event triggered by an amendment.">
eventQualifier string (0..1) <"The CDM event qualifier, which corresponds to the outcome of the isEvent qualification logic which qualifies the lifecycle event as a function of its features (e.g. PartialTermination, ClearingSubmission, Novation, ...).">
afterAgreement LegalAgreement (0..*) <"The agreement as it looks after the event">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This can just be called before. Agreement is implied.

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.

Amended as requested

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I am still seeing afterAgreement - should just be called after

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.

amended as requested

@@ -66,6 +70,48 @@ type BusinessEvent extends EventInstruction: <"A business event represents a lif
condition EventDate:
eventDate exists

type AgreementEvent: <"An agreement event represents a life cycle event of a legal document. The combination of legal term amendments, contracting party cchanges or agreement status changes that are represented by an amendment agreement or application of a protocol that represents a change to the overal Legal agreement representation.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Upon review of our discussion with Chris, I thought the approach was to extend an AgreementInstruction type which contained an intent and instruction. Let me know if you want to catch up!

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.

Having reviewed the Intent solution that currently exists this is both too broad and also does not contain some of the intent options that an amendment represents. I believe the AgreementEvent should describe the changes while the capturing of the details of the nature of the Amendment Agreement under type amendment - purpose allows the nature of the amendment agreement to be captured alongside any applicable Party and/or terms changes.

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.

Updated to add Intent to the Agreement Event and utilised new enum to reflect the events defined by an amendment document.

[rootType]

agreementEventInstruction EventBase (0..1) <"Specifies the date of the event and the effective date of the event associated with the agreement event triggered by an amendment">
agreementInstruction AgreementInstruction (0..*) <"Specifies the instruction associated with the agreement event triggered by an amendment.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This can be called instruction. There is no need to use agreement in the attribute names

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.

Amended as requested

BENP-REGNOSYS and others added 8 commits May 6, 2026 12:27
…ndments_UpdExp

# Conflicts:
#	rosetta-source/src/main/resources/cdm-sample-files/createiq/other/sandbox/expectations.json
#	rosetta-source/src/main/resources/cdm-sample-files/createiq/test-pack/development/expectations.json
#	rosetta-source/src/main/resources/cdm-sample-files/createiq/test-pack/production/expectations.json
#	rosetta-source/src/main/resources/cdm-sample-files/createiq/test-pack/sandbox/expectations.json
#	rosetta-source/src/main/resources/mapping-analytics/createiq-other-sandbox-aggregated-mapping-failure-report.csv
#	rosetta-source/src/main/resources/mapping-analytics/createiq-other-sandbox-failed-mappings-report.csv
#	rosetta-source/src/main/resources/mapping-analytics/createiq-test-pack-development-aggregated-mapping-failure-report.csv
#	rosetta-source/src/main/resources/mapping-analytics/createiq-test-pack-development-failed-mappings-report.csv
#	rosetta-source/src/main/resources/mapping-analytics/createiq-test-pack-production-aggregated-mapping-failure-report.csv
#	rosetta-source/src/main/resources/mapping-analytics/createiq-test-pack-production-failed-mappings-report.csv
#	rosetta-source/src/main/resources/mapping-analytics/createiq-test-pack-sandbox-aggregated-mapping-failure-report.csv
#	rosetta-source/src/main/resources/mapping-analytics/createiq-test-pack-sandbox-failed-mappings-report.csv
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-clearstream-cta-eng-law/1.4/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-clearstream-cta-ny-law/1.4/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-clearstream-sa-lux-law/0.7/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-euroclear-sa-bel-law/0.9/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-im-csa-jpn-law/1.4/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-im-csa-jpn-law/1.4/sample2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-im-csa-jpn-law/1.4/sample3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-im-csa-jpn-law/1.4/sample4_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-im-csa-jpn-law/1.4/sample5_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-im-csa-jpn-law/1.4/sample6_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-im-csd-eng-law/2.3/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-im-csd-eng-law/2.3/sample2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-im-csd-eng-law/2.3/sample3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-im-csd-eng-law/2.3/sample4_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-im-csd-eng-law/2.3/sample5_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2016-im-csd-eng-law/2.3/sample6_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2017-clearstream-sa-lux-law/0.8/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2017-euroclear-cta-eng-law/1.4/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2017-euroclear-cta-ny-law/1.4/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2018-euroclear-cta-eng-law/0.10/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2018-euroclear-cta-ny-law/3.7/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2018-euroclear-sa-bel-law/1.12/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2019-euroclear-sa-bel-law/0.7/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2019-isda-bank-custodian-sa-bel-law/0.1/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/other/sandbox/2019-isda-bank-custodian-sa-lux-law/0.1/sample1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/development/2019-isda-bank-custodian-sa-ny-law/0.3/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/development/2021-small-sample-document/0.1/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2002-isda-master-agreement-schedule-with-isda-clause-library/2.0/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2002-isda-master-agreement-schedule-with-isda-clause-library/2.0/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2002-isda-master-agreement-schedule-with-isda-clause-library/2.0/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2002-isda-master-agreement/2.1/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2002-isda-master-agreement/2.1/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2002-isda-master-agreement/2.1/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2016-im-csa-ny-law/0.5/tp1-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2016-im-csa-ny-law/0.5/tp1-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2016-im-csa-ny-law/0.5/tp1-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2018-im-csa-ny-law/2.2/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2018-im-csa-ny-law/2.2/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2018-im-csa-ny-law/2.2/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2018-im-csd-eng-law/1.2/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2018-im-csd-eng-law/1.2/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2018-im-csd-eng-law/1.2/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2018-im-csd-eng-law/1.2/tp2-metadata4_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-clearstream-cta/2.2/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-clearstream-cta/2.2/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-clearstream-cta/2.2/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-clearstream-sa-security-provider-lux-law/0.3/tp1-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-clearstream-sa-security-provider-lux-law/0.3/tp1-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-clearstream-sa-security-provider-lux-law/0.3/tp1-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-clearstream-sa-security-taker-lux-law/0.3/tp1-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-clearstream-sa-security-taker-lux-law/0.3/tp1-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-clearstream-sa-security-taker-lux-law/0.3/tp1-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-euroclear-cta/1.2/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-euroclear-cta/1.2/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-euroclear-cta/1.2/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-isda-bank-custodian-cta/2.1/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-isda-bank-custodian-cta/2.1/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-isda-bank-custodian-cta/2.1/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-isda-bank-custodian-sa-eng-law/0.3/tp1-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-isda-bank-custodian-sa-eng-law/0.3/tp1-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-isda-bank-custodian-sa-eng-law/0.3/tp1-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-isda-bank-custodian-sa-eng-law/0.5/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-isda-bank-custodian-sa-eng-law/0.5/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-isda-bank-custodian-sa-eng-law/0.5/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-isda-bank-custodian-sa-ny-law/1.1/tp1-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-isda-bank-custodian-sa-ny-law/1.1/tp1-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/production/2019-isda-bank-custodian-sa-ny-law/1.1/tp1-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2002-isda-master-agreement-with-clause-library/38.0/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2002-isda-master-agreement-with-clause-library/38.0/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2002-isda-master-agreement-with-clause-library/38.0/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2002-isda-master-agreement/13.1/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2002-isda-master-agreement/13.1/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2002-isda-master-agreement/13.1/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2016-im-csa-ny-law/0.10/tp1-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2016-im-csa-ny-law/0.10/tp1-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2016-im-csa-ny-law/0.10/tp1-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2018-im-csa-ny-law/2.4/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2018-im-csa-ny-law/2.4/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2018-im-csa-ny-law/2.4/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2018-im-csd-eng-law/2.4/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2018-im-csd-eng-law/2.4/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2018-im-csd-eng-law/2.4/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-clearstream-cta/3.2/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-clearstream-cta/3.2/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-clearstream-cta/3.2/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-clearstream-sa-security-provider-lux-law/0.8/tp1-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-clearstream-sa-security-provider-lux-law/0.8/tp1-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-clearstream-sa-security-provider-lux-law/0.8/tp1-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-clearstream-sa-security-taker-lux-law/0.7/tp1-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-clearstream-sa-security-taker-lux-law/0.7/tp1-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-clearstream-sa-security-taker-lux-law/0.7/tp1-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-euroclear-cta/3.2/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-euroclear-cta/3.2/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-euroclear-cta/3.2/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-isda-bank-custodian-cta/3.3/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-isda-bank-custodian-cta/3.3/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-isda-bank-custodian-cta/3.3/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-isda-bank-custodian-sa-eng-law/2.1/tp1-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-isda-bank-custodian-sa-eng-law/2.1/tp1-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-isda-bank-custodian-sa-eng-law/2.1/tp1-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-isda-bank-custodian-sa-eng-law/2.1/tp2-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-isda-bank-custodian-sa-eng-law/2.1/tp2-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-isda-bank-custodian-sa-eng-law/2.1/tp2-metadata3_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-isda-bank-custodian-sa-ny-law/1.3/tp1-metadata1_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-isda-bank-custodian-sa-ny-law/1.3/tp1-metadata2_cdm.json
#	rosetta-source/src/main/resources/result-json-files/createiq/test-pack/sandbox/2019-isda-bank-custodian-sa-ny-law/1.3/tp1-metadata3_cdm.json
…3867fe2e1f-AgreementAmendments_UpdExp

# Conflicts:
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-swaption-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-cancellable-option-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-cash-settled-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-partial-exercise-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-swaption-full-physical-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/index-transition/index-transition-xccy-swap-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-cleared-alpha-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-ex52-execution-advice-trade-partial-novation-C02-00-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-alpha-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-beta-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-trade-CFTC-clearing-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-partial-termination-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-partial-termination-xccy-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-partial-termination-xccy-swap-func-output.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-incomplete-processes/msg-ex59-execution-advice-trade-amendment-F02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-incomplete-processes/msg-ex60-execution-advice-trade-amendment-correction-F02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-08-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-09-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-12-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-12-Submission-2.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-cleared-alpha-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-ex52-execution-advice-trade-partial-novation-C02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-alpha-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-beta-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-trade-CFTC-clearing.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-partial-termination-xccy-swap.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-partial-termination-xccy.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-partial-termination.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex52-execution-advice-trade-partial-novation-C02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex59-execution-advice-trade-amendment-F02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex60-execution-advice-trade-amendment-correction-F02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex70-execution-advice-commodity-swap-classification-termination-esma-emir-refit.json
…reementAmendments' into adria_635b9f93d2c223867fe2e1f-AgreementAmendments_UpdExp

# Conflicts:
#	rosetta-source/src/main/rosetta/event-common-func.rosetta
agreementTerms AgreementTerms (0..1) <"Specification of the content of the legal agreement.">
relatedAgreements LegalAgreement (0..*) <"Specifies the agreement(s) that govern the agreement, either as a reference to such agreements when specified as part of the CDM, or through identification of some of the key terms of those agreements, such as the type of agreement, the publisher, the vintage, the agreement identifier and the agreement date.">
umbrellaAgreement UmbrellaAgreement (0..1) <"Specifies a set of legal entities which are part of a legal agreement beyond the two contracting parties to that agreement.">
amendment AgreementAmendment (0..1) <"Specifies the existence and nature of an amendment agreement and the legal documents it amends. Where an amendment impacts the terms or contractual parties the agreement event function must be called to capture those amended terms and or parties.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@AdrianJenksD2LT what is the purpose of this new type?

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.

This type allows us to capture the presence of an Amendment Document. It is important to have an understanding of all amendment documents that have been negotiated against a master or supporting document to allow the document and the associated changes to be linked. Where disputes occur it is critical that the document can be identified that initiated a change in terms. Additionally there are circumstances where an amendment document does not update parties or terms that have been identified as requiring to be digitised however it is still important that the existence of this document and its purpose is captured. Please note that amendments can often update multiple agreements for example it can contain modifications to the ISDA Master agreement as well as any or all underlying Credit Support Annex agreements covering all of Legacy, Initial Margin and Variation Margin agreements.

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.

New type has been removed and all previous elements now moved into the Agreement event.

CreditSupportAgreementInitialMarginElections <"The set of elections which specify an Initial Margin Credit Support Annex or Deed.">
CreditSupportAgreementVariationMarginElections <"The set of elections which specify a Variation Margin Credit Support Annex or Deed.">
CreditSupportAgreementLegacyElections <"The set of elections which specify a Legacy (1994 or 1995) Credit Support Annex or Deed.">
IMCSAElections <"The set of elections which specify an Initial Margin Credit Support Annex or Deed.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

These should not be renamed - they were agreed on when implemented and are not in scope for this contribution.

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.

Reset to previous names

legacyCSAPrimitiveInstruction LegacyCSAPrimitiveInstruction (0..1) <"A Primitive Instruction set for a VM CSA Agreement.">
partyChange AgreementPartyChange (0..1) <"A primitive Instruction set to capture any Party changes applicable to the agreement.">

type AgreementPartyChange extends PartyChangeInstruction: <"A primitive instruction to capture agreement party changes due to an amendment.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

You don't need to create a new type. PartyChangeInstruction is a generic instruction that can be used.

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.

Agreed and change applied


type AgreementPartyChange extends PartyChangeInstruction: <"A primitive instruction to capture agreement party changes due to an amendment.">

type VMCSAPrimitiveInstruction: <"A Primitive Instruction set for a VM CSA Agreement.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I would remove these types and just add the types directly in AgreementPrimitiveInstruction

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.

Agree and change made

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I am still seeing the types.

I am suggesting they be removed and added directly in AgreementPrimitiveInstruction

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.

Amended as requested

@ReleaseManagement-BP
Copy link
Copy Markdown
Contributor

Hey @llynhiavu please could you review this when you have time?

…ndments_UpdExp

# Conflicts:
#	rosetta-source/src/main/resources/functions/business-event/allocation/allocation-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/clearing/clearing-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/compression/compression-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-fra-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-fx-forward-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-ois-swap-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-swaption-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-cancellable-option-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-cash-settled-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-partial-exercise-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-swaption-full-physical-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/index-transition/index-transition-vanilla-swap-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/index-transition/index-transition-xccy-swap-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/novation/full-novation-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/novation/partial-novation-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/stock-split/stock-split-equity-swap-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-cleared-alpha-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-ex52-execution-advice-trade-partial-novation-C02-00-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-alpha-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-beta-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-trade-CFTC-clearing-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-partial-termination-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-partial-termination-xccy-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-partial-termination-xccy-swap-func-output.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-incomplete-processes/msg-ex59-execution-advice-trade-amendment-F02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-incomplete-processes/msg-ex60-execution-advice-trade-amendment-correction-F02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-01-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-02-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-03-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-04-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-05-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-06-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-07-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-07-Submission-2.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-07-Submission-3.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-08-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-09-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-10-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-11-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-12-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-12-Submission-2.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-cleared-alpha-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-ex52-execution-advice-trade-partial-novation-C02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-alpha-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-beta-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-trade-CFTC-clearing.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-package-price.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-package-spread.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-partial-termination-xccy-swap.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-partial-termination-xccy.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-partial-termination.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-incomplete-processes-execution-advice/msg-ex68-execution-advice-warrant.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex52-execution-advice-trade-partial-novation-C02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex59-execution-advice-trade-amendment-F02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex60-execution-advice-trade-amendment-correction-F02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex70-execution-advice-commodity-swap-classification-termination-esma-emir-refit.json
ReleaseManagement-BP and others added 14 commits May 18, 2026 10:41
…reementAmendments' into adria_635b9f93d2c223867fe2e1f-AgreementAmendments_UpdExp

# Conflicts:
#	rosetta-source/src/main/resources/functions/business-event/allocation/allocation-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/clearing/clearing-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/compression/compression-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-fra-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-fx-forward-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-ois-swap-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-swaption-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-cancellable-option-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-cash-settled-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-partial-exercise-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-swaption-full-physical-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/index-transition/index-transition-vanilla-swap-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/index-transition/index-transition-xccy-swap-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/novation/full-novation-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/novation/partial-novation-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/stock-split/stock-split-equity-swap-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-cleared-alpha-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-ex52-execution-advice-trade-partial-novation-C02-00-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-alpha-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-beta-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-trade-CFTC-clearing-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-partial-termination-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-partial-termination-xccy-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-partial-termination-xccy-swap-func-output.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-incomplete-processes/msg-ex59-execution-advice-trade-amendment-F02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-incomplete-processes/msg-ex60-execution-advice-trade-amendment-correction-F02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-01-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-02-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-03-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-04-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-05-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-06-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-07-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-07-Submission-2.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-07-Submission-3.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-08-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-09-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-10-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-11-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-12-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-12-Submission-2.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-cleared-alpha-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-ex52-execution-advice-trade-partial-novation-C02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-alpha-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-beta-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-trade-CFTC-clearing.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-package-price.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-package-spread.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-partial-termination-xccy-swap.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-partial-termination-xccy.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-partial-termination.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-incomplete-processes-execution-advice/msg-ex68-execution-advice-warrant.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex52-execution-advice-trade-partial-novation-C02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex59-execution-advice-trade-amendment-F02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex60-execution-advice-trade-amendment-correction-F02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex70-execution-advice-commodity-swap-classification-termination-esma-emir-refit.json
#	rosetta-source/src/main/rosetta/event-common-func.rosetta
#	rosetta-source/src/main/rosetta/event-common-type.rosetta
…reementAmendments_UpdExp' into adria_635b9f93d2c223867fe2e1f-AgreementAmendments_UpdExp

# Conflicts:
#	rosetta-source/src/main/resources/functions/business-event/allocation/allocation-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/clearing/clearing-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/compression/compression-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-fra-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-fx-forward-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-ois-swap-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/contract-formation/contract-formation-swaption-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-cancellable-option-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-cash-settled-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-partial-exercise-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/exercise/exercise-swaption-full-physical-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/index-transition/index-transition-vanilla-swap-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/index-transition/index-transition-xccy-swap-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/novation/full-novation-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/novation/partial-novation-func-output.json
#	rosetta-source/src/main/resources/functions/business-event/stock-split/stock-split-equity-swap-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-cleared-alpha-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-ex52-execution-advice-trade-partial-novation-C02-00-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-alpha-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-beta-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-trade-CFTC-SEC-and-canada-func-output.json
#	rosetta-source/src/main/resources/functions/fpml-5-10/processes/msg-new-trade-CFTC-clearing-func-output.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-incomplete-processes/msg-ex59-execution-advice-trade-amendment-F02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-incomplete-processes/msg-ex60-execution-advice-trade-amendment-correction-F02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-01-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-02-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-03-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-04-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-05-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-06-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-07-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-07-Submission-2.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-07-Submission-3.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-08-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-09-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-10-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-11-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-12-Submission-1.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-native-cdm-events/Example-12-Submission-2.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-cleared-alpha-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-ex52-execution-advice-trade-partial-novation-C02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-alpha-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-beta-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-trade-CFTC-SEC-and-canada.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-new-trade-CFTC-clearing.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-package-price.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-10-processes/msg-package-spread.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-incomplete-processes-execution-advice/msg-ex68-execution-advice-warrant.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex52-execution-advice-trade-partial-novation-C02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex59-execution-advice-trade-amendment-F02-00.json
#	rosetta-source/src/main/resources/ingest/output/fpml-confirmation-to-workflow-step/fpml-5-13-processes-execution-advice/msg-ex60-execution-advice-trade-amendment-correction-F02-10.json
observation ObservationInstruction (0..1) <"Specifies inputs needed to process an observation.">
valuation ValuationInstruction (0..1) <"Specifies inputs needed to process an update of a valuation.">

type EventBase: <"Specifies a set of common instructions that can be extended through event type specific instructions.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We agreed this morning to remove EventBase. Please add the attribute here back into the types

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.

Updated as requested and EventBase removed and code reset to previous position

imCSAPrimitiveInstruction IMCSAPrimitiveInstruction (0..1) <"A Primitive Instruction set for a VM CSA Agreement.">
legacyCSAPrimitiveInstruction LegacyCSAPrimitiveInstruction (0..1) <"A Primitive Instruction set for a VM CSA Agreement.">
partyChange PartyChangeInstruction (0..1) <"A primitive Instruction set to capture any Party changes applicable to the agreement.">
beforeAgreement LegalAgreement (0..1) <"Specifies the Legal Agreement that will be acted upon by the primitive event function.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This can just be called before. Agreement is implied

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.

Amended as requested

steps WorkflowStep (1..*)

type EventInstruction: <"Specifies instructions to create a BusinessEvent.">
type EventInstruction extends EventBase: <"Specifies instructions to create a BusinessEvent.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

As discussed this morning - this extension can be removed and teh types eventDate and effectiveDate reinstated

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.

Amended as requested

Oscar-Twomey and others added 5 commits May 26, 2026 16:40
…reementAmendments' into adria_635b9f93d2c223867fe2e1f-AgreementAmendments_UpdExp

# Conflicts:
#	rosetta-source/src/main/rosetta/event-common-func.rosetta
#	rosetta-source/src/main/rosetta/event-common-type.rosetta
#	rosetta-source/src/main/rosetta/legaldocumentation-common-enum.rosetta
#	rosetta-source/src/main/rosetta/legaldocumentation-common-type.rosetta
Copy link
Copy Markdown
Contributor

@chrisisla chrisisla left a comment

Choose a reason for hiding this comment

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

Comments at this stage but this will need a further review to iron out the event processing. Very minor point but there are also a few typos and missing punctuation marks (full stops) in the comments.

AmendedTerms <"Represents an amendment to terms which apply to agreement which the amendment related to.">
AmendedParties <"Represents a change to the contractual parties to an agreement through the process of addition or deletion.">
Termination <"Represents a change that results in the related agreement being terminated.">
AmendandRestate <"Represents a change in terms and or parties where the agreement is required to be restated in its entirety.">
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.

"AmendAndRestate" would be better please

Terminated <"The contract has been subject of an early termination event.">

enum AgreementEventIntentEnum: <"The enumerated values to specify the intent of the agreement event.">
AmendedTerms <"Represents an amendment to terms which apply to agreement which the amendment related to.">
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.

Not really sure what this comment is saying...?


func Create_AgreementEvent: <"Creates a agreement event from instructions containing primitive instructions covering term or party changes associated with an amendment agreement">
[creation AgreementEvent]
inputs:
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.

Think this needs an intent as well.

intent is currently mandatory in AgreementEventInstruction but I think it should be optional

then True
else False

func Create_AgreementEvent: <"Creates a agreement event from instructions containing primitive instructions covering term or party changes associated with an amendment agreement">
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.

I don't we need to specify the the type of events or amendments here, maybe just keep it generic: "Creates an agreement event from primitive instructions and their associated event and effective dates." maybe?


BusinessEvent BusinessEvent (0..1) <"A business event function should take as its inputs the after state of previous business event or in case where the is no before state, all of the inputs required to produce the outcome BusinessEvent.">
WorkflowStep WorkflowStep (0..1) <"Create a proposed, accepted or rejected WorkflowStep with details about the message, identifiers, event timestamps, parties and accounts involved in the step and allow the action to be set to New, Correct or Cancel.">
AgreementEvent AgreementEvent (0..1) <"A Agreement event function should take as its inputs the after sate of the previous agreement event or in the case where there is no before state, all of the inputs required to produce the agreement event.">
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.

"An Agreement..."
"... the after state..."

func Create_AgreementPartyChange: <"Specifies the inputs, outputs and constraints when calculating the after agreementState based on a change to the parties.">
inputs:
partyChange PartyChangeInstruction (0..1) <"Instructions to be used as an input to the function when identifying party changes to the agreement.">
beforeAgreement LegalAgreement (1..1) <"States the current agreement parties to be amnended.">
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.

This can be before as the fact it is an agreement is implied by the name of the function.

partyChange PartyChangeInstruction (0..1) <"Instructions to be used as an input to the function when identifying party changes to the agreement.">
beforeAgreement LegalAgreement (1..1) <"States the current agreement parties to be amnended.">
output:
afterAgreement LegalAgreement (1..1) <"States the agreement parties after the amendment change has been processed">
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.

And this can just be after

func Create_IMCSATermsChange: <"Specifies the inputs, outputs and constraints when calculating the after agreementState based on a change in terms due to an amendment agreement.">
inputs:
imCSATermsChange CreditSupportAgreementInitialMarginElections (0..1) <"Instructions to be used as an input to the function when identifying Agreement Term changes.">
beforeAgreement LegalAgreement (1..1) <"States the current Agreement terms to be amended.">
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.

before

func Create_VMCSATermsChange: <"Specifies the inputs, outputs and constraints when calculating the after agreementState based on a change in terms due to an amendment agreement.">
inputs:
vmCSATermsChange CreditSupportAgreementVariationMarginElections (0..1) <"Instructions to be used as an input to the function when identifying Agreement Term changes.">
beforeAgreement LegalAgreement (1..1) <"States the current Agreement terms to be amended.">
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.

before

alias agtPartyChange: <"Create agreementpartychange if agreementPartyChangeInstruction exists, if not, then before must exist.">
if partyChange is absent then beforeAgreement

func Create_VMCSATermsChange: <"Specifies the inputs, outputs and constraints when calculating the after agreementState based on a change in terms due to an amendment agreement.">
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.

None of these Terms Change functions actually do anything, the after will always be empty. Is that intentional at this stage?

eventDate date (1..1) <"Specifies the date of the agreement event.">
effectiveDate date (1..1) <"Specifies the effective date of the agreement event.">
instruction AgreementInstruction (1..*) <"Specifies the instruction associated with the agreement event triggered by an amendment.">
intent AgreementEventIntentEnum (1..*) <"Specifies the purposes for which the amendment agreement exists and how it will impact the agreement to which it applies.">
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Should the cardinality be mandatory for all of these? Or should they be optional?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Event model change to support Legal Agreement Documentation Amendment Process

7 participants