TfsNodeStructureTool currently evaluates mapping rules using case-insensitive matching, but performs replacements using case-sensitive behaviour.
This inconsistency allows a rule to be considered a match while failing to apply the corresponding transformation when the source path differs only by case. The result is a silent failure where mappings appear valid but do not execute.
Decision
Mapping behaviour must be case-insensitive for both matching and replacement.
Current Behaviour
- Mapping rules match regardless of case differences in the source path.
- Replacement may fail when casing differs between the mapping definition and the source path.
- This leads to inconsistent and non-deterministic mapping outcomes.
Expected Behaviour
- Matching and replacement both operate using case-insensitive rules.
- Any mapping rule that matches must also reliably transform the source path.
- Case differences in input paths must not affect mapping outcomes.
Proposed Change
Align replacement behaviour with matching by enforcing case-insensitive processing across both operations.
Acceptance Criteria
- Mapping rules apply consistently regardless of case differences in the source path.
- No scenarios exist where a rule matches but does not transform the path.
- Existing mappings continue to behave correctly.
- Behaviour is deterministic across all supported path mappings.
Impact
Failure to apply mappings correctly can result in incorrect area path structures during migration, leading to misplaced work items and loss of structural integrity.
TfsNodeStructureTool currently evaluates mapping rules using case-insensitive matching, but performs replacements using case-sensitive behaviour.
This inconsistency allows a rule to be considered a match while failing to apply the corresponding transformation when the source path differs only by case. The result is a silent failure where mappings appear valid but do not execute.
Decision
Mapping behaviour must be case-insensitive for both matching and replacement.
Current Behaviour
Expected Behaviour
Proposed Change
Align replacement behaviour with matching by enforcing case-insensitive processing across both operations.
Acceptance Criteria
Impact
Failure to apply mappings correctly can result in incorrect area path structures during migration, leading to misplaced work items and loss of structural integrity.