$ErrorActionPreference = 'Stop' $root = Split-Path -Parent $PSScriptRoot # 这些文件已经由三人分别核对运行时、构建链、配置和文档引用;新 owner 生效后不允许旧候选与供应商残件回流。 $retiredPaths = @( 'static/icons/tab-family.png', 'static/icons/tab-genealogy.png', 'static/icons/tab-profile.png', 'static/vendor/tac/css/tac.css', 'static/vendor/tac/images/dun.jpeg', 'static/vendor/tac/images/icon.png', 'static/vendor/tac/js/tac.min.js', 'docs/design/assets/candidates/2026-07-19/g01-add-sheet-background-source-green-v1.png', 'docs/design/assets/candidates/2026-07-19/g01-add-sheet-background-source-magenta-v2.png', 'docs/design/assets/candidates/2026-07-19/g01-add-sheet-background-source-magenta-v3.png', 'docs/design/assets/candidates/2026-07-19/g01-dialog-close-source-green.png', 'docs/design/assets/g01-background/masters/g01-list-background-direction-a-chroma-master.png', 'docs/design/assets/g01-background/masters/g01-list-background-direction-b-chroma-master.png', 'docs/design/assets/g01-background/masters/g01-list-background-direction-c-paper-master.png', 'docs/design/assets/g01-background/masters/genealogy-page-background-long-flagship-imagegen-source.png', 'design-pipeline/manifests/g01-background-candidates.json', 'design-pipeline/manifests/module-page-backgrounds.json', 'design-pipeline/scripts/build-g01-backgrounds.mjs', 'design-pipeline/scripts/build_g01_backgrounds.py', 'design-pipeline/scripts/build-module-page-backgrounds.mjs', 'design-pipeline/scripts/build_module_page_backgrounds.py', 'design-pipeline/scripts/build-g01-empty-frame.mjs', 'design-pipeline/tests/g01-background-candidates.test.mjs', 'design-pipeline/tests/test_build_g01_backgrounds.py' ) foreach ($relativePath in $retiredPaths) { if (Test-Path -LiteralPath (Join-Path $root $relativePath)) { throw "已退役资产或入口重新出现:$relativePath" } } # 两张用户已批准的 A01 选型图是 reference-only 视觉锚点,不进入 runtime registry,也不能被零引用清理误删。 foreach ($relativePath in @( 'docs/design/assets/a01-vnext/A01-shared-scroll-skins-with-dialog-approved.png', 'docs/design/assets/a01-vnext/A01-shared-skin-family-option-2-selected.png' )) { if (-not (Test-Path -LiteralPath (Join-Path $root $relativePath) -PathType Leaf)) { throw "缺少已批准的 A01 视觉锚点:$relativePath" } } Write-Output 'RETIRED-ASSET-REMOVAL-CONTRACT PASS'