7.0.0-dev.116
Instruction Composition Framework
Background
The CDM Smart Contract Taskforce is introducing the Instruction Composition Model within the Common Domain Model (CDM). While the CDM has traditionally been declarative, defining what a lifecycle event is, it has not always defined how that event is operationally executed. This gap often forces institutions to implement their own procedural logic externally, increasing reconciliation risks and inconsistent interpretations. This release bridges that gap by establishing a modular, stateful, and deterministic framework to execute the sequential steps and intermediate computations of contractual workflows directly within the model. For further information, see issue #4165.
What is being released?
This release introduces the core architectural types, enums, and structural foundations for the Instruction Composition Framework within the new cdm.event.instructionComposition namespace.
Types
Changes that can be found in the cdm.event.instructionComposition namespace:
InstructionComposition: The root orchestrator representing a specific business process (e.g., an Interest Rate Reset). It maintains the ordered sequence of steps, tracks unique identifiers, links back to the underlying Trade, and hosts the final outputCompositionStep: Represents a single, atomic, and deterministic operational step within the workflow, capturing exactly when and how it was executedCompositionStepInstruction&CompositionStepInstructions: Reusable containers that define the specific instructions and logic passed into each stepCompositionState: A persistent, cumulative state choice object that aggregates intermediate outputs across steps. This ensures complete traceability, auditability, and deterministic replay capabilitiesInstructionCompositionOutput: Holds the definitive outcome of the completed process (e.g., the canonical CDM ResetInstruction) once all sequential steps have successfully executed
Enumerations
Changes that can be found in the cdm.event.instructionComposition namespace:
InstructionCompositionTypeEnum: Establishes the types of orchestrations supported. This release seeds the ResetInstruction type, which maps out the blueprint for the 8-step Interest Rate Reset process
Verification and Testing
As these represent foundational, new architectural data structures and namespaces, there are zero backward compatibility impacts on existing model logic or legacy lifecycle event processes.
Validation has focused on:
- Rosetta compilation syntax verification for the new cdm.event.smartcontract namespace
- Structural integrity of the InstructionComposition type conditional constraints
Review Directions
Navigate to the following paths to inspect the new models:
- rosetta-source/src/main/rosetta/instructionComposition-type.rosetta to review the core types: InstructionComposition, CompositionStep, and CompositionState
- rosetta-source/src/main/rosetta/instructionComposition-enum.rosetta to inspect the InstructionCompositionTypeEnum process mappings