MediaKind 穷尽性守卫 + 文档「第四态」计数纠正 #111
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/100-mediakind-exhaustiveness-guard"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #100
两件独立、不依赖
MediaKind.file任何未决设计的小事。一、
MediaKind穷尽性守卫_PLACEHOLDER_LABEL/_NATIVE_BLOCK_BUILDERS是dict[MediaKind, ...]字面量——basedpyright 不对字典字面量做穷尽检查,往
MediaKind加一个取值却忘了给这两张表补key,类型检查不报错、现有测试全绿,只在运行时
KeyError。补上同本仓GateVerdict/TriggerPath既有先例形状的守卫:assert set(表) == set(get_args(MediaKind))。_TRANSPORT_ALIAS未纳入(dict[str, str],只装sticker→image这一条,不是按MediaKind穷举的表)。二、纠正「第四态/封闭四态」——这是算错了个数,不是滞后一步
MediaKind实际取值是image/video/audio/sticker(issue #70,ADR-0024)。ADR-0028 2026-07-10 那节写的"扩展为封闭四态,新增 file"与 CONTEXT.md/design.md 的
"file(第四态)",两套名单从来没重叠过——
sticker早占了第四态,file若落地是第五态。ADR-0028 按纪律追加更新节,不改写既有决策原文;CONTEXT.md/design.md 就地修订;
docs/research/底稿未动。不对file本体是否落地表态(独立事项)。docs 分支两次本地提交,按规则不推送。
验证
ruff check干净。MediaKind取值,不碰multimodal路由逻辑——git diff main...HEAD对
src/唯一改动是两个模块的 docstring(不涉及逻辑)。未跑两轴 code review:这票是纯加测试 + 纯文档纠正,没有行为分叉可供 Standards/Spec 两轴
挑,用量也有限,判断不值得再起一轮工作流。
🤖 Generated with Claude Code