CreateMilestoneDto.deadline (src/milestones/dto/create-milestone.dto.ts) is validated only with @IsOptional() @IsISO8601() — any syntactically valid ISO-8601 date is accepted, including one already in the past. This is the identical gap already tracked for CreateBountyDto in #108, just in the sibling DTO for milestones — worth fixing together given MilestonesService doesn't have any deadline-expiry handling at all (unlike bounties' expireOverdue), so a past-dated milestone deadline isn't just non-functional at creation time, it has no downstream safety net either.
CreateMilestoneDto.deadline(src/milestones/dto/create-milestone.dto.ts) is validated only with@IsOptional() @IsISO8601()— any syntactically valid ISO-8601 date is accepted, including one already in the past. This is the identical gap already tracked forCreateBountyDtoin #108, just in the sibling DTO for milestones — worth fixing together givenMilestonesServicedoesn't have any deadline-expiry handling at all (unlike bounties'expireOverdue), so a past-dated milestone deadline isn't just non-functional at creation time, it has no downstream safety net either.