8.0.0-dev.4
Amending ingestion mappings - Commodity Swap was being incorrectly mapped
Background
Mapping Price Schedules for Commodity Swap to the correct values
What is being released?
changes to following functions to remove priceSubType and changing priceType to AssetPrice: MapCommmodityFixedPriceToPriceSchedule MapCommmodityFixedPriceScheduleToPriceSchedule
Review Directions
Changes can be reviewed in PR: #5025
Product Qualification - Zero Coupon Enhancement
Background
The Qualify_Transaction_ZeroCoupon function only recognises zero-coupon transactions when the payment frequency is explicitly represented as 1T (term). Transactions where the payment frequency equals the full contract duration are not identified as Zero Coupon, although they represent the same economic outcome.
What is being released?
Extended the qualification logic in to Qualify_Transaction_ZeroCoupon recognise alternative representations of zero-coupon transactions by adding a condition where the payment frequency corresponds to the duration between the effective date and the maturity date. The following new common functions have been introduced to handle frequency-to-day conversions () and dates operations required for the matching logic: - AddPeriod - PeriodCalculation Finally, it has been adjusted the input parameters for the AuxiliarEffectiveDate and AuxiliarTerminationDate to take the EconomicTerms instead of the Trade.
Review Directions
Changes can be reviewed in PR: #4989
Infrastructure - Dependency Update
Version updates include:
DSL10.4.0- Add CVE Scanning Schedule. See DSL release notes: 10.4.0DSL10.5.0- Fix invalid Renovate config: remove redundant * from matchPackageNames. See DSL release notes: 10.5.0DSL10.6.0- Namespaces produced by a tool are now marked, and hand edits to them are reported in review.. See DSL release notes: 10.6.0DSL10.7.0- Generate a LabelProvider per labelled type. See DSL release notes: 10.7.0Rune-Fpml3.5.0- DSL/bundle updates See release notes: 3.5.0
Review Directions
Changes can be reviewed in PR: #5053
Instruction Composition Reset Step 3: Adjust the period
Background
Building upon the functional milestones introduced in the previous release for Step 2 (#4379), the CDM Smart Contract Taskforce is advancing the state-machine execution capabilities within the Instruction Composition Framework. This release delivers the components required to execute Step 3 (Adjust Calculation Period) of the 8-step Interest Rate Reset processing workflow. By introducing this phase, the model can now deterministically apply calendar adjustments and financial business day conventions to unadjusted schedules. For further information, see issue #4389.
What is being released?
This release provides the core business day alignment logic, holiday calendar resolution hooks, and state accumulator mutations necessary to transition an unadjusted calculation period into its adjusted lifecycle state. It incorporates payload bindings for Step 3 into the reusable instruction containers and expands the historical overlay tracking mechanisms to capture the final adjusted period bounds.
Functions
Changes in the cdm.base.datetime namespace:
AdjustDateToBusinessDayConvention: Core mapping function that routes an unadjusted date through a selected business day convention matrix when a calendar clash is detected.ApplyFollowing: Recursive utility evaluating calendar forward-shifts to find the next valid business day.ApplyPreceding: Recursive utility evaluating calendar backward-shifts to find the previous valid business day.ApplyModFollowing: Evaluation function ensuring forward-shifted dates do not cross month boundaries, defaulting to preceding lookbacks where necessary.
Changes in the cdm.event.instructioncomposition.reset namespace:
Create_AdjustPeriodInstruction: An operational mapping function that compiles adjusted starting and ending coordinates for a calculation period using defined business conventions and holiday datasets.GetNonBusinessDates: An externalized code-implementation hook to query and extract non-business dates from financial calendar providers using either distinct date vectors or defined boundary periods.
Changes in the cdm.event.instructioncomposition namespace:
UpdateResetCompositionState: (Updated) Expanded to implement "Step 3" overlay logic. It conditionally captures the incoming adjustPeriod payload to update the active adjustedCalculationPeriod parameter.
Types and Choices
Changes in the cdm.event.instructioncomposition namespace:
CompositionStepInstructions(Updated): Expanded to include adjustPeriod, allowing the global step orchestrator to wrap period adjustment data structures.
Changes in the cdm.event.instructioncomposition.reset namespace:
AdjustPeriodInstruction: Introduced as the official type for Step 3.ResetInstructionState(Updated): Expanded to hold its third phase state variable (adjustedCalculationPeriod), allowing the cumulative workflow to track adjusted 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 3 instruction payload mapping.
- rosetta-source/src/main/rosetta/instructionComposition-func.rosetta: Examine the updated field overlay logic inside UpdateResetCompositionState handling adjusted period state tracking.
- rosetta-source/src/main/rosetta/instructionComposition-reset-type.rosetta: Inspect the new AdjustPeriodInstruction type structure and the updated tracking properties embedded within ResetInstructionState.
- rosetta-source/src/main/rosetta/instructionComposition-reset-func.rosetta: Inspect the schedule compilation logic inside Create_AdjustPeriodInstruction and the GetNonBusinessDates interface.