`plan_file: null`과 `review_file: ~`은 YAML에 실제로 존재하는 키인데
mapstructure가 present nil을 생략과 같은 nil pointer로 접어버려, 승인 경계가
빈 문자열과 공백만 거부하고 null 형태는 조용히 built-in default로 떨어뜨렸다.
Viper가 돌려주는 raw preset 구조에는 두 키가 nil 값으로 남아 있으므로, strict
decode 전에 그 presence를 검사해 필드 경로와 함께 거부하고 실제로 없는 키만
fallback 신호로 남긴다.
두 필드와 두 가지 YAML null 표기를 모두 회귀로 고정하고, 기존 빈/공백, 생략,
상대 경로, clone 독립성, refresh redaction 근거는 그대로 유지한다.
Refs: agent-task/single_request_plan_review_templates/PLAN-cloud-G08.md
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>