# Reasonix Browser Test: Batch A task430 Explorer/Open Editors Smoke

项目根目录：`/mnt/Data1T/mnote`

请先阅读并遵守：`/home/lix/.codex/skills/reasonix-browser-tester/SKILL.md`

## 角色

你是浏览器测试员，不是代码修改员。

禁止修改源码、禁止 git commit、禁止回滚文件。只允许创建测试输出目录、临时测试数据和截图。

## 测试目标

验证 Batch A 的 `task430-vscode-explorer-stage7-smoke.js` 是否能在当前真实 3000/3210 环境实跑，并输出可复核浏览器证据。

## 前置

- 被测入口：`http://127.0.0.1:3000`
- Convex：`http://127.0.0.1:3210`
- 使用真实浏览器或 Playwright。
- 使用全新的 isolated browser context / userDataDir；测试开始前清空 cookies、localStorage、sessionStorage、IndexedDB、Cache Storage。

## 操作

1. 运行：`node --check scripts/task430-vscode-explorer-stage7-smoke.js`
2. 运行：`node scripts/task430-vscode-explorer-stage7-smoke.js`
3. 读取 `tmp/task430-vscode-explorer-stage7-smoke/result.json`。
4. 使用浏览器打开 result 中的 `workspaceId` / `fixture.resourceDoc` 对应页面，或复用脚本末态重新打开页面，截图 FileTree 可见状态。
5. 记录 `result.phases`、`checks`、`skipped`，尤其是：
   - `workspace-bootstrap`
   - `filetree-active-row`
   - `filetree-selected-row`
   - `open-editors-section`
   - `context-menu-minimum`

## 输出目录

`/mnt/Data1T/mnote/tmp/reasonix-batch-a-browser-task430-2026-05-21/`

必须输出：

- `result.json`
- `final.md`
- 至少 1 张截图；失败时必须截图。

## 判定

- `PASS`：语法检查和 smoke 实跑 exit 0，`result.json.ok=true`，并有截图证明浏览器 UI 可打开。
- `PASS_WITH_KNOWN_GAPS`：smoke ok，但 `data-active` / Open Editors 等被记录为已知缺口；必须把缺口写入 result。
- `FAIL`：脚本退出非 0 或 result 缺失。
- `BLOCKED`：3000/3210 不可达或登录/Convex 环境不可用。
