diff --git a/src/renderer/src/components/skills/skill-freshness-group.tsx b/src/renderer/src/components/skills/skill-freshness-group.tsx index c6dac96479b..15a3de7cc52 100644 --- a/src/renderer/src/components/skills/skill-freshness-group.tsx +++ b/src/renderer/src/components/skills/skill-freshness-group.tsx @@ -85,7 +85,11 @@ function chipTooltip(chip: SkillLocationChip): string { // Why: a skill is skipped for one concrete reason; lead with the highest-priority // blocking placement so the sentence explains the real cause (an edited copy is // more useful to surface than a downstream symptom). -const SKIPPED_REASON_PRIORITY: SkillLocationChip[] = [ +// Why: current and duplicate copies do not block the canonical update, so they +// must never become the explanation for a skipped skill. +type SkippedReasonChip = Exclude + +const SKIPPED_REASON_PRIORITY: SkippedReasonChip[] = [ 'unrecognized', 'read-only', 'inaccessible', @@ -134,7 +138,7 @@ function skippedReason(locations: readonly SkillLocationRow[]): string { 'auto.components.skills.SkillFreshnessRow.skippedReasonBrokenLink', 'This copy is a shortcut to something that no longer exists, so Orca left it out — you can safely delete it.' ) - default: + case undefined: return translate( 'auto.components.skills.SkillFreshnessRow.cantUpdateReason', 'Orca left this skill out of the update command.'