8.0.0-dev.3
Instruction Composition Reset Step 2
Background
Building upon the functional milestones introduced in the Phase 1 release (#4168), the CDM Smart Contract Taskforce is extending the state-machine execution capabilities within the Instruction Composition Framework. This release delivers the complete set of components required to execute Step 2 (Determine Unadjusted Calculation Period & Reset Date) of the 8-step Interest Rate Reset processing workflow. By introducing this phase, the model advances its stateful progression logic, enabling deterministic interpolation of unadjusted transactional schedules from raw product parameters. For further information, see issue #4379.
What is being released?
This release provides the structural payloads, operational transition logic, and state accumulator mutations required to calculate, route, and capture calculation period boundaries. It populates the reusable instruction containers with Step 2 payload bindings and completes the overlay handlers for this phase of the execution timeline.
Functions
Changes that can be found in the cdm.event.instructioncomposition.reset namespace:
Create_DetermineUnadjustedCalculationPeriodInstruction: An operational mapping function that evaluates baseline calculation period schedules alongside theoretical fixings to construct and export the structured unadjusted calculation period boundaries.UpdateResetCompositionState: (Updated) Modified to implement the "Step 2" overlay logic. It conditionally checks for the presence of the determineUnadjustedCalculationPeriod payload, incrementally updating the active period parameters 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 determineUnadjustedCalculationPeriod as an active data payload property, allowing the global step orchestrator to wrap period determination data structures.
Changes that can be found in the cdm.event.instructioncomposition.reset namespace:
DetermineUnadjustedCalculationPeriodInstruction: Introduced to act as the official payload signature for Step 2, carrying the calculated CalculationPeriodBase coordinates and the accompanying unadjusted reset date.ResetInstructionState: (Updated) Expanded to hold its second active phase state variables (unadjustedCalculationPeriod and unadjustedResetDate), allowing the cumulative workflow "Golden Record" to track schedule parameters over its lifecycle.
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 to verify the inclusion of the Step 2 instruction payload mapping.
- rosetta-source/src/main/rosetta/instructionComposition-func.rosetta: Examine the updated field overlay logic inside UpdateResetCompositionState handling calculation period state tracking.
- rosetta-source/src/main/rosetta/instructionComposition-reset-type.rosetta: Inspect the new DetermineUnadjustedCalculationPeriodInstruction type structure and the updated tracking properties embedded within ResetInstructionState.
- rosetta-source/src/main/rosetta/instructionComposition-reset-func.rosetta: nspect the mathematical schedule compilation logic inside Create_DetermineUnadjustedCalculationPeriodInstruction.