3.2 KiB
FAIL
apps/ely-mark/web/src/main.css:150 — SVG 图标样式同时命中 Mermaid 的整张图,强制图宽、高为 14px,违反 §14 的 Mermaid 渲染要求。复现:在预览模式显示包含 graph TD\n A --> B 的 Mermaid 代码块,真窗口中 SVG 的 viewBox 为 4 4 168 152,实际尺寸为 14×14,节点文字缩成无法阅读的小点;窗口截图确认该结果。独立副本中将选择器收窄为 .milkdown-code-block .tools svg 后,同一图恢复为 168×152。修复方向:将图标尺寸规则限定在工具按钮内,保留预览图的自然尺寸及响应式约束,并验证实际可见图形。证据:/tmp/ely-c141-r1-logs/deep.log、repair.log。
apps/ely-mark/web/src/diagram.js:21 — Mermaid 的主题颜色在生成 SVG 时固化;页面主题 token 更新后,已显示图形继续使用旧主题,违反 §17.3 的主题同步要求。复现:渲染上述图后,经页面主题入口更新 --ely-surface、--ely-fg,节点填充仍为 rgb(27, 25, 23),SVG 内容完全相同;再次显示相同 Markdown 才得到新 token 对应的 rgb(255, 0, 255)。系统深浅色变化走同一 token 更新路径,已有图形也会保留旧色。修复方向:在主题变化时更新现有图形的样式或重新渲染当前 Mermaid 源码,补充显示完成后的主题切换回归断言。证据:/tmp/ely-c141-r1-logs/deep.log。
apps/ely-mark/web/src/main.js:9 — show() 的异步创建缺少调用顺序与当前实例校验,连续模式请求会在同一根节点留下两个独立可写编辑器,违反 §14.1 的单一当前编辑模式约束。复现:在真实 CEF 页面连续调用 ely.show('# OLD', 'visual', texts) 与 ely.show('# NEW', 'source', texts),等待两者完成后,根节点的 mode 为 source,CodeMirror 显示 # NEW,同时仍有显示 OLD 的可编辑 Milkdown;两次调用都报告成功。原因是第二次调用执行时,第一次创建尚未完成,close 仍属于前一个实例;第一次完成后又挂入旧编辑器并覆盖关闭函数。修复方向:按调用顺序管理创建与销毁,校验当前请求身份,销毁过期创建结果,保证根节点始终只保留当前模式的实例。证据:/tmp/ely-c141-r1-logs/deep.log 中 raceMode、raceHeads、raceSource、raceEditors。
tests/scripts/mark-content.sh:39 — 渲染验收只读取 DOM 数量与属性,缺少对实际可见内容的断言,整页不可见也会通过,属于 C14.1 的弱测试。复现:独立构建与原有脚本通过;随后仅在副本的页面样式追加 #document { opacity: 0; },重新构建并运行同一脚本,仍输出 ok: mark content。现有断言也允许前述 14×14 Mermaid 图通过;代码块数量虽由探针读取,脚本同样未检查。修复方向:对标题、代码和图形建立与内容及尺寸相关的真窗口可见性断言,并要求隐藏正文、压缩图形等变异触发失败。证据:/tmp/ely-c141-r1-logs/gate.log、hidden-gate.log;cargo test -p ely-mark 独立运行通过,当前为 0 项单测。审查结束前已删除探针源码、独立构建目录与自建 CEF 缓存,原始范围内 22 个文件的散列保持一致,核对记录在 verification.log。