# 0.1.2 验证记录

验证环境：macOS native；moon 0.1.20260904、moonc 0.10.12。记录日期：2026-10-29。

## 可复现命令

```bash
moon check --target native
moon test --target native
moon build --target native
python3 scripts/verify_native.py
python3 scripts/verify_html.py
```

最后一条需要开发机额外安装 `agent-browser` 和 Chromium；它们不是 SDK 的运行依赖。HTML 和桌面/390px/320px 截图保存在 `_build/qa-v012/`。

本地结果：45 项 MoonBit 测试通过，0 项失败；两个集成脚本均输出 PASS。

## 覆盖场景

| 层级 | 验证内容 |
|---|---|
| MoonBit 测试 | 原有追踪、存储、回放和回归；新增父子关系隔离、独立会话、取消清理、会话完成约束、时间戳精度、旧 JSON 兼容、记录冲突、索引损坏、部分写入文件和多根节点导出 |
| 多进程 | 同一目录下 16 个独立进程生成 48 条记录，ID 无重复，文件完整且列表不遗漏；损坏索引后仍能列出并修复全部记录 |
| CLI | ID 输出、回归通过/失败/缺记录退出码、单条导出、离线回放和并发示例 |
| 浏览器 | 搜索与状态必须命中同一 Span；祖先仅作上下文不计为命中；时间线只显示命中节点；空结果、重置、折叠恢复和键盘操作 |
| HTML 内容 | 重复尖括号/引号不会形成额外 HTML 元素或事件属性；元数据逐项显示；100ms 根跨度与子跨度累计 240ms 分别展示 |
| 视口 | 1440px、390px、320px 页面无横向溢出，并保存截图 |

## 范围与限制

- `TraceSession` 为异步任务提供显式上下文，不会自动把上下文绑定到任意外部框架。调用方需要传递回调上下文并等待子任务完成后再 `finish()`。
- 全局 `start_trace` / `span_async` 仍用于单执行流；不要用全局栈处理重叠请求。
- 文件原子提交在 macOS 本机验证；Linux native 流程进入 GitHub Actions。Windows 代码已实现，未在本机验证。
- 临时文件提交可防止读到半份 JSON；不承诺断电后目录项的持久性。损坏的完整 JSON 文件会报告并保留。
- 存储列表每次扫描目录，适用于当前本地调试规模；尚未实现数据库索引或百万级记录性能保证。
- 旧的负数时间戳是历史截断结果，无法凭现有记录恢复原日期。
- 本轮不调用付费模型接口；真实 Bailian 示例沿用配置，未计入本次离线验收结果。
