지식 베이스
Template-Derived Date — Stale Recompute (Liquid / Computed Fields)
Diagnose questionnaire or contract fields where a derived date (end date, expiration, renewal) is correct on first fill but does not update after the user edits upstream fields (effective date, term length, duration). Covers (1) Liquid template patterns: stale assigns when conditionals skip, self-referencing consecutive assigns, broken | date format strings; (2) platform: QuestionnaireFormService mergeBlanks recursively merging DateObject-shaped values into invalid/empty objects (fixed angular-frontend#15092, SPD-42840). Use when: 'end date not updating', 'expiration date wrong after changing term', 'sd_expiration_date stuck', 'effective date changed but end date old', 'NDA term length edit does not refresh end date'. Prefer this over contract-computation-null-propagation when the field had a value and edits to other fields do not refresh it (not blank-from-null-operands). Known example: Dream11 NDA TPP (Rootly #3052, SPD-42840, WSID 456675, Prod IN, Mar–Apr 2026).