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.