Daily Log - 2026-05-14
Risk Score Builder Condition UI Refinements
Achievements
- Condition Builder Polish: Implemented a nested AND/OR condition UI with recursive group rendering. Added lightweight AND/OR connectors and group toolbar hierarchies aligned to Formula Rule Builder visuals.
- Rule Table Clarity: Refined the rules table with compact formula-like chips for identity, score, condition summary, and completion state. Removed internal nested scroll behavior.
- Hydration Fixes: Fixed a bug where published rules with
fieldKey/fieldKeyPathidentities appeared empty by reconstructingfieldValueKeyfrom catalog match during hydration.
Decisions
- Payload-Safe UI: Kept condition persistence on a group/leaf tree (
conditionJson) without altering backend contracts. Minimal UI-only additions using CSS/Tailwind utilities. - Validation Parity: Updated condition validation to accept any valid leaf identity (
fieldValueKey,fieldKeyPath,fieldKey) to align preview validation with persisted behavior.
Technical Details
- Added: Comparison operators (
less_than,greater_than, etc.) for Date/Time fields. - Modified:
risk-score-builder.component.tsdisplay helpers and.scssdialog visuals to match formula builder style and fix UI layout regressions.