codex@macbookpro
·
2026-03-26
repo-verification.md
1# Repo Verification
2
3仓库根提供两条默认验证入口:
4
5- `pnpm lint`
6- `pnpm test`
7- `pnpm smoke`
8
9它们的目标是给协作者一个在仓库根可重复执行的主线验收口径,而不是替代所有 on-node 检查。
10
11## `pnpm lint`
12
13`pnpm lint` 依次执行:
14
151. `pnpm typecheck`
162. `git diff --check`
17
18覆盖范围:
19
20- `pnpm typecheck` 会跑 `pnpm-workspace.yaml` 里的全部 workspace 包级 `typecheck`
21- `git diff --check` 负责收口常见 repo hygiene 问题,例如尾随空格或冲突标记
22
23刻意不覆盖:
24
25- ESLint / Prettier 之类的新 lint 框架
26- 需要启动服务或依赖外部环境的 smoke / runtime 检查
27
28如果只想单独跑 TypeScript 静态检查,直接执行 `pnpm typecheck` 即可。
29
30## `pnpm test`
31
32`pnpm test` 当前收口到已有稳定 `test` 脚本的关键包:
33
34- `@baa-conductor/db`
35- `@baa-conductor/host-ops`
36- `@baa-conductor/codex-app-server`
37- `@baa-conductor/codex-exec`
38- `@baa-conductor/worker-runner`
39- `@baa-conductor/status-api`
40- `@baa-conductor/conductor-daemon`
41- `@baa-conductor/codexd`
42
43脚本会按顺序执行每个包自己的 `pnpm --filter <pkg> test`,这样失败点能直接定位到具体包。`@baa-conductor/status-api` 和 `@baa-conductor/worker-runner` 的包级 `test` 都会先执行自身 `build`,再跑 `node --test src/index.test.js`,不依赖人工交互或线上环境。
44
45刻意不覆盖:
46
47- 仍未提供稳定 `test` 脚本的工作区
48- 包内 `smoke` 命令
49- `scripts/runtime/*.sh`、`tests/**/*.mjs` 这类更慢或更接近 runtime 的检查
50
51## `pnpm smoke`
52
53`pnpm smoke` 会顺序执行:
54
551. `pnpm build`
562. `node --test scripts/runtime/public-api-base.test.mjs`
573. `node --test tests/control-api/control-api-smoke.test.mjs`
584. `node --test tests/codexd/codexd-e2e-smoke.test.mjs`
595. `node --test tests/browser/browser-control-e2e-smoke.test.mjs`
60
61覆盖范围:
62
63- runtime 脚本的 conductor public API compatibility 行为
64- legacy `control-api-worker` / Cloudflare / importer absence 约束
65- codexd 本地 app-server 会话链路 e2e smoke
66- browser-control 本地 Firefox bridge e2e smoke:覆盖元数据上报、持久化读取、`fresh/stale/lost`、读接口不泄露原始凭证值,以及 Claude 最小 relay 闭环
67
68说明:
69
70- 这条入口比 `pnpm test` 慢,因为会先执行整仓 `build`
71- 它只覆盖仓库内可自举的 smoke,不替代真实 `mini` 节点上的 launchd / HTTP / port 检查
72
73## 额外检查
74
75以下验证仍建议按场景单独执行:
76
77- `pnpm typecheck`
78- `pnpm verify:mini`
79- `./scripts/runtime/check-node.sh --node mini`
80- `./scripts/runtime/check-launchd.sh --node mini`
81
82其中 `pnpm verify:mini` 是 `mini` 节点 on-node 的统一入口:默认检查 `conductor`、`codexd`,并顺序执行 `check-launchd.sh` 与 `check-node.sh --skip-static-check`。需要把可选观察面纳入时,再显式加 `pnpm verify:mini --service status-api`。