Skip to content

fix: GAP-3 余量收口——审计驱动的最小修复(InkAsyncSlot 判 YAGNI)#199

Merged
KerroKapple merged 3 commits into
mainfrom
fix/gap-3-remainder
Jul 17, 2026
Merged

fix: GAP-3 余量收口——审计驱动的最小修复(InkAsyncSlot 判 YAGNI)#199
KerroKapple merged 3 commits into
mainfrom
fix/gap-3-remainder

Conversation

@KerroKapple

Copy link
Copy Markdown
Owner

Summary

GAP-3(AsyncValue error 态统一)余量按逐站点审计收口(24 个 widget 侧站点全判:A 真吞错 / B 良性降级 / C 非槽位特例):

  • A(唯一真吞错,2 站点 1 因)canvasLaneDirectionProvider 漏出 _EdgeLaneErrorSlot 的 watch 范围——方向读失败静默回落 horizontal,泳道按错误方向渲染;更糟的是 lane_toolbar 会基于错误基线把「翻转后的默认值」写库,反向覆盖用户已存方向。修复=方向 error 并入既有横幅链
  • 顺手真 bug_LoadError(message: err.toString()) 是全库唯一 raw toString 上屏点,改走 l10nAsyncError(i18n 零硬编码规则)
  • 死参数InkErrorBanner.onRetry 从未渲染、零调用方传参——删除(重试按钮由各站点按需自置,骨架只管呈现)
  • B 类 12 站点:同 provider 错误均已有同屏横幅(LB-06 覆盖面比 BOARD 记的还全)——4 处关键点加「横幅在 X」注释防误判回归
  • 拍板 InkAsyncSlot 判 YAGNI:GAP-3 卡当年设想的泛型共享件,其前提(全量列表槽位吞错)已被 LB-06 消化,0 个真实站点,不建投机抽象

测试:方向失败→横幅(此前无任何提示);节点失败→l10n 文案且断言 raw toString 绝不上屏;PL-4a 组补方向密封。

Test plan

  • canvas_view 17/17(+2 新测)
  • analyze 0 issues;全套 1697 通过(本地 --exclude-tags golden)

🤖 Generated with Claude Code

Kerro and others added 3 commits July 18, 2026 02:03
审计(24 站点逐判):A 类真吞错仅 1 因——canvasLaneDirectionProvider 漏出
_EdgeLaneErrorSlot watch 范围(方向静默回落 horizontal,且 lane_toolbar 会基于
错误基线写库反向覆盖用户已存方向);并入横幅 watch 链。顺手:全库唯一
raw toString 上屏点(_LoadError)改走 l10nAsyncError;InkErrorBanner.onRetry
死参数删除(从未渲染、零调用方);B 类良性降级 4 站点加横幅指向注释。
InkAsyncSlot 共享件判 YAGNI:列表槽位 LB-06 已全收口,0 个真实站点。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
P2-3:base style 编辑器读失败改为提示并中止(此前空预填,保存即把已存前后缀
覆盖为空——自由文本域无护栏,真实损毁面)。P2-2:raw toString 断言改
InkError(/local_io_error(此前 'LocalIOError' 与 toString 格式不符,零区分度)。
P2-1:「绝迹/唯一」宣称收窄——设置页探测诊断行 raw 异常文本为有意例外并注明。
P3:lane_toolbar 措辞纠偏(二元域无损毁)+置灰/遮蔽/无日志三条记债。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@KerroKapple

Copy link
Copy Markdown
Owner Author

对抗评审结论 APPROVE(无 P1),P2×3 全部落地:

  • P2-3 已修(评审抽查外溢逮到的真损毁面):base style 编辑器读失败不再空预填——snackbar 提示并中止打开(自由文本域,保存即覆盖已存前后缀为空,比 lane_toolbar 二元域危险得多,采纳评审判定)。
  • P2-2 已修:钝牙断言换真牙——InkError.toString() 格式实为 InkError(local_io_error, …),原 textContaining('LocalIOError') 永真;改双断言 InkError(/local_io_error
  • P2-1 已修:「raw toString 绝迹/全库唯一」宣称收窄——设置页安全存储探测行的 raw 异常文本判为有意诊断例外(用户报障需要原文),代码注释+BOARD/MASTERPLAN 措辞同步。
  • P3-1 采纳:lane_toolbar「反向覆盖」表述过强已纠偏(评审的二元域推演成立:写入值恒在存量/意图之内);错误期置灰记债。
  • P3-2/P3-3/P3-4 落债/顺修:dismiss 单值遮蔽、errorUnknown 无日志线索记 BOARD;站点注释补方向。

复验:analyze 0;全套 1697 通过。

@KerroKapple
KerroKapple merged commit 4bcbf27 into main Jul 17, 2026
5 checks passed
@KerroKapple
KerroKapple deleted the fix/gap-3-remainder branch July 17, 2026 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant