Severity: π‘ Β· Criterion: K1 (Correctness) Β· Phase: P3 Β· Status (review): π
File(s): src/DockerUpdateGuard/Images/UpdateDetectionService.cs:211-229 (esp. :217)
Finding
GetHigherYearPrefixedCandidates filters tagYear == currentYear β a 2025-*
successor to 2024-* is thus never recognized as UpdateAvailable; the case falls into the
digest/NeedsReview path. The method name ("higher year-prefixed candidates") suggests the
opposite.
Impact
Signal downgrade across year boundaries (real updates appear only as "manual
review"). Recovers as a review, no data loss.
Recommendation
Clarify intent; for the desired cross-year update, allow tagYear >= currentYear
(or comparison via CompareYearPrefixedTags) and test it.
Auto-generated from the repository code review. Source of truth: docs/review/findings.md β F-028 (P3), branch review/review-analysis-plan.
Severity: π‘ Β· Criterion: K1 (Correctness) Β· Phase: P3 Β· Status (review): π
File(s):
src/DockerUpdateGuard/Images/UpdateDetectionService.cs:211-229(esp.:217)Finding
GetHigherYearPrefixedCandidatesfilterstagYear == currentYearβ a2025-*successor to
2024-*is thus never recognized asUpdateAvailable; the case falls into thedigest/
NeedsReviewpath. The method name ("higher year-prefixed candidates") suggests theopposite.
Impact
Signal downgrade across year boundaries (real updates appear only as "manual
review"). Recovers as a review, no data loss.
Recommendation
Clarify intent; for the desired cross-year update, allow
tagYear >= currentYear(or comparison via
CompareYearPrefixedTags) and test it.Auto-generated from the repository code review. Source of truth:
docs/review/findings.mdβ F-028 (P3), branchreview/review-analysis-plan.