页面看起来不对时,不要先部署。先识别真正失败的是哪一个边界。
| 症状 | 先检查 | 它能告诉你什么 |
|---|---|---|
| DSL parse/lint error | arc dsl lint . | 静态编写问题;error 会失败,warning 仍需审阅 |
| layout/source validation error | arc dsl validate . | AUP/Web layout 或已声明 source contract 问题 |
| blocklet/profile error | arc blocklet check . | 合并 source check、存在时的 Content Space 或 recipe 结构问题 |
| package/pre-render error | arc blocklet build . | build/artifact path 问题,尚不是读者验收 |
| 浏览器页面陈旧或不一致 | 查命令打印的 URL、已注册 parent/worktree,reload 后再看当前 source | local daemon 可能指向另一个 worktree,或 watcher/cache 没失效 |
| list 为空 | 查 source path、scope、filter、locale,再查 component 的 empty state | 空结果可能合理,也可能是未声明/不匹配 binding |
正确理解这些边界
dsl validate 覆盖 AUP source,以及 pages、内容对象和 layouts/ 下的 Web layout。blocklet check 再增加结构与 profile-level 检查。这两条命令都不证明页面 alt text 有用、键盘可用、窄视口良好,或外链成功。
当 binding scope 可知时,未声明 $source.<name> 能被报告,而不是静默变成空列表。shared named-layout binding 还没有在初始化期被完整覆盖,因此真实浏览器检查仍必不可少。
以稳定顺序修复
- 修第一个静态 error,不追最后一个表象。
- 重跑拥有该边界的命令。
- 只有 lint/validation/check 足够干净后才 build,结果才可解释。
- 直接本地运行 blocklet,打开命令实际打印的 URL。
- UI 变化记录 viewport、locale、route 和观察结果。
页面陈旧时,不要部署到 DID Space。确认 local daemon 注册了哪个 blocklet parent directory;source 与 URL 确认一致后再 reload。local watcher 自动刷新只是便利,不是无条件正确性保证。