Phase 8d-1: Sprint SDK sentinel pattern consistency
Goal: Apply the
_UNSET sentinel pattern to update_sprint optional fields (goal, start_date, end_date) so callers can explicitly clear them to null, matching the pattern already used in update_sprint_item.Owner: Dev agent
Repo:
forgejo_admin/pal-e-docs-sdkDepends on: 8d (sprint mixin merged)
Problem
update_sprint_item uses a sentinel (_UNSET = object()) for points and labels, allowing callers to distinguish "don't send this field" from "clear this field to null." But update_sprint uses plain None defaults for goal, start_date, end_date, so there's no way to explicitly clear those fields. This is an asymmetry in the API surface.Fix
- Change
update_sprintoptional fields to use_UNSETsentinel - Add tests verifying explicit null is sent when
Noneis passed
Related
phase-postgres-8d-sdk-sprints-- parent phase where this was identified- QA finding on PR #8