Skip to content

7.0.0-dev.131

Choose a tag to compare

@ReleaseManagement-BP ReleaseManagement-BP released this 02 Jul 15:14
9be336d

Instruction Composition Framework Functions

Background

Building upon the structural orchestration engine introduced in the foundational Instruction Composition Framework release (#4165), the CDM Smart Contract Taskforce is progressing with the functional implementation of workflow state machines. This release delivers the specific components necessary to execute Step 1 (Floating Rate Index & Trade Date collection) of the 8-step Interest Rate Reset processing lifecycle. By formalizing this execution pattern, the model transitions from a structural shell into a practical, stateful execution engine that deterministically processes transactional events. For further information, see issue #4168.

What is being released?

This release provides the structural types, functions, state wrappers, and enumerations required to extract, route, and store data elements for the initial phase of the Interest Rate Reset workflow. It populates the top-level orchestration types with specific execution instructions and implements the content layer for the underlying state-machine functions.

Functions

Changes that can be found in the cdm.event.instructioncomposition namespace:

  • NextCompositionStepToExecute: (Updated) Populated with operational execution logic that evaluates the total transaction history to determine the active workflow phase and return the targeted process-specific instruction set.

Changes that can be found in the cdm.event.instructioncomposition.reset namespace:

  • Create_CollectFloatingRateOptionInstruction: An operational mapping function that safely inspects an interest rate trade's InterestRatePayout floating leg, unwraps nested choice type structures, and extracts the underlying benchmark index name and trade date for the initial phase.
  • UpdateResetCompositionState: (Updated) Modified to implement the "Step 1" overlay logic. It conditionally checks for the presence of the collectFloatingRateOption payload, incrementally updating the cumulative state variables or preserving existing historical fields if absent.

Types and Choices

Changes that can be found in the cdm.event.instructioncomposition namespace:

  • CompositionStepInstructions (Updated): Expanded to include collectFloatingRateOption as a concrete data payload property, governed by a new one-of constraint (NonEmptyInstruction) to ensure structural validity when wrapping reusable workflow steps.

Changes that can be found in the cdm.event.instructioncomposition.reset namespace:

  • CollectFloatingRateOptionInstruction: Introduced to act as the official payload signature for Step 1, carrying the extracted FloatingRateIndexEnum and trade execution date.
  • ResetInstructionState: (Updated) Expanded to hold its first active phase state variables (floatingRateIndex and tradeDate), converting this object into a live data accumulator for downstream processing.
  • ResetInstructionSteps: (Updated) Completed to encapsulate and expose the specific process phase enumeration.
  • ResetInstructionCompositionStepsEnum: Defines the strictly sequenced 8-step execution path of an Interest Rate Reset lifecycle (from initial index collection through to calculation and final output generation).

Review Directions

Navigate to the following paths to inspect the new models:

  • rosetta-source/src/main/rosetta/instructionComposition-type.rosetta: Review the updated CompositionStepInstructions container and its NonEmptyInstruction structural condition.
  • rosetta-source/src/main/rosetta/instructionComposition-func.rosetta: Examine the state-machine logic routing inside UpdateResetCompositionState and the operational behavior of NextCompositionStepToExecute.
  • rosetta-source/src/main/rosetta/instructionComposition-reset-type.rosetta: Inspect the new data model payload CollectFloatingRateOptionInstruction, the updated fields inside ResetInstructionState, and the ResetInstructionSteps routing shell.
  • rosetta-source/src/main/rosetta/instructionComposition-reset-func.rosetta: Inspect the deep-choice extraction syntax within Create_CollectFloatingRateOptionInstruction designed to parse out benchmark index details safely.