From 0bf2b875a3e3bbdaede1f826087f3f16f4a45d9f Mon Sep 17 00:00:00 2001 From: root Date: Fri, 22 May 2026 20:54:05 +0200 Subject: [PATCH] phase-M task M48: keep amdvlk quarterly versions (skip no-alpha filter) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit amdvlk tags are quarterly "YYYY.Q#.#" (e.g. 2025.Q2.1). The version comparator already orders them (version.c Case 2b), but the M21 no-alpha post-filter dropped every Q-tag on the "Q", leaving an older non-Q tag (2018.4.2) as the wrong latest. PS skips that filter for amdvlk (L2569 `if spec -notlike amdvlk`). Gated the apply_name_post_filters call on !amdvlk in the gitSource/tag path. Verified locally ROW-IDENTICAL to PS (col5=2025.Q2.1, col6, col9 SHA, col10). Low blast radius — gated to amdvlk; the shared comparator is unchanged. FRD: FRD-011 ADR: ADR-0001 PS-source: photonos-package-report.ps1 L 2569-2574 Parity: strict Co-Authored-By: Claude Opus 4.7 --- .../photonos-package-report/src/check_urlhealth.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/photonos-package-report/photonos-package-report/src/check_urlhealth.c b/photonos-package-report/photonos-package-report/src/check_urlhealth.c index 786a3b7c..dd4f50f4 100644 --- a/photonos-package-report/photonos-package-report/src/check_urlhealth.c +++ b/photonos-package-report/photonos-package-report/src/check_urlhealth.c @@ -1043,8 +1043,14 @@ char *check_urlhealth(pr_task_t *task, * candidates (alpha/beta/rc/preview/dev/pre). */ apply_clean_version_names(names, n); /* M21 (PS L 2522-2524): post-strip filters — - * v-strip + has-digit + no-alpha-after-pN-strip. */ - apply_name_post_filters(names, n); + * v-strip + has-digit + no-alpha-after-pN-strip. + * M48 / PS L 2569: SKIP for amdvlk — its tags are + * quarterly "YYYY.Q#.#" (the comparator handles + * them, Case 2b), but the no-alpha filter would + * drop them on the "Q", leaving older non-Q tags + * as the wrong latest. */ + if (!spec_eq(task->Spec, "amdvlk.spec")) + apply_name_post_filters(names, n); char *latest = pr_get_latest_name(names, n); if (latest && latest[0]) { /* PS L 2538-2553: compare first; only the