fa6edec83a
Review feedback pointed out two small but important operator-facing gaps in the recent-tag card: one-click deploy should only be available when a real raw Docker tag exists, and the digest that will be deployed should be visible on the card instead of remaining implicit. This patch tightens the candidate filter to require tagName and renders the digest metadata before the deploy actions, with regression coverage for both behaviors. Constraint: The deploy API still requires a raw Docker tag, not a normalized display value Constraint: The recent-tag card should surface the exact digest operators are about to deploy Rejected: Keep accepting normalizedVersion-only candidates | could enable one-click deploy with a non-tag display value Rejected: Rely on displayVersion alone for digest visibility | digest presence should stay explicit even if display text changes later Confidence: high Scope-risk: narrow Reversibility: clean Directive: Any future recent-tag UI should treat tagName as the deployable identity and digest as separately visible metadata Tested: src/web/pages/settings/UpdateCenterSection.test.tsx, npm run typecheck, git diff --check Not-tested: Full PR checks rerun pending after push