Implement unsafe icon cache diagnostics (T-611)
This commit is contained in:
+10
-3
@@ -3,13 +3,15 @@ id: T-611
|
||||
title: 建立不安全图标缓存诊断与人工恢复指引
|
||||
phase: 2
|
||||
deps: [T-610]
|
||||
status: TODO
|
||||
status: DONE
|
||||
created: 2026-07-18
|
||||
issue: null
|
||||
context_ref: null
|
||||
context_ref: 6455fec8115497ba73fc092366193ae67269b1bb
|
||||
claim_branch: null
|
||||
work_branch: null
|
||||
work_branch: agent/codex/T-611
|
||||
write_paths:
|
||||
- README.md
|
||||
- docs/README.md
|
||||
- docs/tasks/T-611.md
|
||||
- core/catalog/
|
||||
- app-modern/ui/gio/
|
||||
@@ -91,3 +93,8 @@ write_paths:
|
||||
- 2026-07-18:代码图确认 `loadDisk` 已拒绝 symlink/非普通 entry,`loadUncached` 遇 `ErrIconCacheUnsafe` 直接返回且不 fetch;`classifyIconFailure` 已映射为 `unsafe_cache`,`IconFailedPayload` 已含安全的 reference/DPI,无需扩展 raw error 字段。
|
||||
- 2026-07-18:调用图确认 `IconEventDelivery.LoadAndPublish` 与双端 `IconFailure` 目前都只有测试调用;双端 `ApplyEvent` 只保存 failure code 且布局不读取。任务因此采用“真实 cache→event 集成测试 + UI 安全提示 + 人工 runbook”,明确不宣称生产装配已完成。
|
||||
- 2026-07-18:现有 `docs/api.md` 已冻结磁盘名 `<digest>-<dpi>.icon` 与 `unsafe_cache` 稳定枚举,架构只定义 `%LOCALAPPDATA%/OwnSoftBox/cache/` 逻辑根;T-611 将细化正式 icon root 与 locator 映射,同时保留 constructor root 才是当前代码事实。
|
||||
- 2026-07-18:新增 `docs/troubleshooting.md` 后治理闸门要求根 README 与 docs README 登记所有文档;将这两个纯导航文件补入 `write_paths`,不扩大功能范围。
|
||||
- 2026-07-18:core 新增真实目录与 Windows symlink cache entry 用例,证明 `ErrIconCacheUnsafe` 可识别、Fetcher 零调用、entry/外部 target 不删除不改写;真实 `IconCache → IconEventDelivery` 只发布一个 `IconFailed/unsafe_cache`,后台错误链保留 sentinel 且 event 不含 cache root/raw error。
|
||||
- 2026-07-18:modern/Win7 将 failure map 从单 code 升级为完整 `IconEventIdentity + IconFailureCode`,保持 `IconFailure(appID)` 兼容;详情只为当前 `unsafe_cache` 显示文字标题、fail-closed/人工恢复说明和安全 code/app/`<digest>-<dpi>.icon` locator。语义树回归覆盖普通失败不冒充告警以及新请求、迟到事件、ready、DPI/reference 变化、取消、删除和同引用 snapshot 生命周期。
|
||||
- 2026-07-18:新增不跟随链接的管理员 runbook,同步 API、路由、架构、编码规则和导航;明确安装目标 root 与当前生产 IconCache/Delivery/Fetcher 尚未装配的真实边界,未增加自动 delete/rename/quarantine/retry。
|
||||
- 2026-07-18:验证通过:`GOWORK=off go vet ./catalog`,`GOWORK=off go test -count=10 ./catalog`,modern Go 1.25.0 与 Win7 Go 1.20.14 各 `go test -count=10 ./ui/gio`;Windows symlink 子用例实际 PASS;`./scripts/verify_phase0.ps1`、agent-context、harness governance 与差异检查全部通过。
|
||||
|
||||
Reference in New Issue
Block a user