@adlc/ 飞行前
在扇出前进行权限和环境飞行前检查(ADLC D2相 0).
进行隔离检查,以验证代理机队需要的每个操作类别 实际上在目前的环境中工作——所以许可提示和 配置失败前装入一批,而不是延后中空.
从ADLC D2字段注释:
许可提示中途飞行是一个隐藏序列点: 一个被屏蔽 代理 × N 队友 = N 摊位,赛事兄弟姐妹,半起步状态. 环境决定论是平行的时钟数学的先决条件.
使用量
preflight [--dir <path>] [--test-cmd "..."] [--gh] [--llm] [--worktrees] [--json]
没有旗帜——只需检查
preflight
运行所需的4个检查( bash, git, write, 分支) 并打印表格加 一个判决线。 0号出口,如果全部通过;2号出口,如果有任何失败.
带有可选检查
preflight --dir .sdlc/.adlc --test-cmd "npm test" --gh --llm --worktrees
旗帜
| 旗帜 | 类型 | 说明 |
|---|---|---|
--dir <path> | 字符串 | 用于写入检查和临时文件的 ADLC 目录( 默认 ): .adlc 或者说 $ADLC_DIR) (中文(简体) ). |
--test-cmd "CMD" | 字符串 | 通过 CMD 运行 sh -c,预计出口0。 失败时显示输出尾端 。 传入但空值( 如未设置) $TEST_CMD)以1号出口被拒绝 --test-cmd requires a non-empty command 从来没有默默地跳过. |
--gh | 布尔 | 运行 gh auth status; 期望退出 0. |
--llm | 布尔 | 打电话 detectProvider() 并说它是无核的。 没有API的电话。 找到了提供的报告. |
--worktrees | 布尔 | git worktree add --detach .worktrees/preflight-test HEAD 然后删除. |
--json | 布尔 | 机器可读输出 : { checks, verdict, failedNames }。 。 。 . |
检查
需要( 总是运行)
| 名称 | 测试什么 |
|---|---|
bash | echo preflight-ok 继承 |
git | git status cwd 中成功( cwd 必须是 git repo) |
write | 写入 + 删除 .adlc/tmp/preflight-test (按需要为mkdir-p) |
branch | 创建和删除 preflight-test-branch总是在最后清理 |
可选( 仅在给定旗帜时运行)
| 名称 | 旗帜 | 测试什么 |
|---|---|---|
worktrees | --worktrees | git worktree add/remove 循环; 总是在最后清理 |
test-cmd | --test-cmd "CMD" | 通过 sh 运行 CMD, 期望退出 0 |
gh | --gh | gh auth status 出口 0 |
llm | --llm | detectProvider() 返回非无效( 无 API 调用) |
退出代码
| 代码 | 含义 |
|---|---|
| 0 个 | 出入口——通过所有检查(需要+明确要求可选) |
| 1个 | 操作/内部出错 |
| 2个 | 门失败——一次或多次要求或明确要求的检查失败 |
注:不要求的可选检查不运行,不能失败.
当国旗像 --gh 通过, 需要检查 .
A 类 --test-cmd 被通过但为空或仅为空白(什么
preflight --test-cmd "$TEST_CMD" 当变量未设置时, 生成 CI
既不跳过也不运行:这是一个操作错误——飞行前打印
error: --test-cmd requires a non-empty command … 到 stderr 时,没有打印
stdout(没有桌子,没有判决,没有) --json 1. 请求的A
检查不能运行时, 决不能看起来像通行证 .
产出
可读( 默认)
──────────────────────
check status detail
──────────────────────
bash ✓ PASS echo preflight-ok succeeded
git ✓ PASS git status succeeded
write ✓ PASS .adlc/tmp/preflight-test written and removed
branch ✓ PASS branch 'preflight-test-branch' created and removed
worktrees ✓ PASS worktree add/remove succeeded
test-cmd ✓ PASS exited 0
──────────────────────
verdict: ALL CHECKS PASSED — environment is ready.
贾森(JSON)--json(中文(简体) )
{
"checks": [
{ "name": "bash", "status": "pass", "detail": "echo preflight-ok succeeded", "required": true },
{ "name": "git", "status": "pass", "detail": "git status succeeded", "required": true },
{ "name": "write", "status": "pass", "detail": ".adlc/tmp/preflight-test written and removed", "required": true },
{ "name": "branch", "status": "pass", "detail": "branch 'preflight-test-branch' created and removed", "required": true }
],
"verdict": "pass",
"failedNames": []
}
已进入ADLC阶段
D2阶段 0 (fan-out前环境门). 在产卵前跑一次
平行的代理舰队,以确保每个操作级都成功. 与
team-develop 作为平行建设管线的第0阶段.
清理保障
创建副作用( 分支、 工作树、 tmp 文件) 的检查
在a中进行清理 finally 区块 - 清除残余物,不论检查通过与否
失败.
与兄弟姐妹工具的关系
merge-forecast——飞行前使用确认环境已就绪;验证出票DAG并预测出出票前相冲突概率.gate-manifest——将出入口通过事件记录入ADLC运单分类账;飞行前应以有条不紊的流程记录通过.
核心差距
无。 所有要求的核心API(detectProvider, (中文(简体) ), git, (中文(简体) ), parseArgs, (中文(简体) ), printJson(中文(简体) )
可在 @adlc/core。 。 。 .