@adlc/自动驾驶
定额分出地发-PR回路. 从打开处选择下一个 GitHub 问题
积压、 形状 ADLC 票、 发件 一个沙箱 @adlc/fleet 运行
问题运行外门 扔出沙盒的克隆人
交叉型(Codex)审查将其绑在它所推取的确切树上,并打开PR.
P6(相接)仍是人. 每次升级都是GitHub标签,操作员可以翻转
从电话.
设计合同: docs/specs/issue-autopilot-local.md
· 决定: docs/adr/0016-issue-autopilot-local-substrate.md。 。 。 .
它会做什么
- 编队,不增加出门逻辑. 自动驾驶是选题+a
配额门+周围的休息环
fleet run --tickets <id> --no-pr --no-complete --max-strikes … --wall-clock-minutes … --pre-strike-argv … --model-plane-read bounded --model-plane-git mirror --model-plane-egress allowlist --worker-deps …。 。 。 . - 配额门为字形. 克洛德的一步只有在
5小时和7天的窗户(以及工人模型的放宽窗)读作
< threshold(默认50%,可收紧永远不能松动),最多抽样 开始前60 s, 在开始后的每个开始都有预留 迭相会. 未知配额=无跑. - 信任在这里. 显密的钥匙是七把有钥匙的
儿童(
KEY_BEARING_ARGV内lib/keys.mjs) (中文(简体) ). 工人只持有 在人工合成的只读存储器中 允许列表只命名模型 API, 以每个运行的赤色 git 镜像为它 只有Git数据库。 盖茨在网络被封锁的每门克隆中运行 沙盒 沙盒 沙盒 沙盒 沙盒 每一次推力都是由租借守卫,并在终点核实. - 一切都是磁盘上的国产机器. 每期1个运行记录
.adlc/autopilot-runs/在世界影响之前写着它的名字,所以坠机 二者之间因检查图/gh下一个 迭相会. 任何东西的删除都是经过所有权审查的,从不强制.
使用量
adlc autopilot loop [--rest 10m] [--dry-run] # the service body
adlc autopilot once [--issue <n>] [--force] [--dry-run] [--dry-run-shape]
adlc autopilot status [--json]
adlc autopilot select [--top <n>] [--json]
adlc autopilot quota [--json] [--model <m>] [--quota-threshold <T>] [--quota-reserve <R>]
adlc autopilot triage --issue <n> [--json]
adlc autopilot reset --issue <n> ( --confirm-delete <OID> [--delete-remote] | --attempts )
adlc autopilot init [--labels] [--service] [--write]
全球运营商- 本地旗: --repo <owner/name> (或 ADLC_AUTOPILOT_REPO· ;
所需经费 loop编号 :once, (中文(简体) ), --model (默认) opus, (中文(简体) ), --adapter
(单位:千美元)claude-code 仅在v1中, --quota-threshold (一至五十个), --quota-reserve
(0-49个, < threshold, (中文(简体) ), --trusted-bin-dirs <abs,…>, (中文(简体) ), --ssh-identity <abs>。 。 。 .
优先级:CLI旗 > ADLC_AUTOPILOT_<UPPER_SNAKE> > 默认。 每个
子命令退出 0/1/2 并支持 --json。 。 。 .
配置
重新承诺.adlc/config.json,一个信任根): fleet 区块舰队
读取,一个 autopilot 块restMinutes, (中文(简体) ), maxOpenPrs, (中文(简体) ), maxRounds, (中文(简体) ),
wallClockMinutes, (中文(简体) ), ciFixRounds, (中文(简体) ), ciWatchMinutes, (中文(简体) ), reviewMaxBytes, (中文(简体) ), repo, (中文(简体) ),
dispatchApproval, (中文(简体) ), protectedPathsExtra),CLI可能会降低但永远不会
提高,和a ticketSync 与票务合作的计画进行验证 A 类
承诺 quotaThreshold编号 :quotaReserve编号 :model编号 :adapter 被警告和
忽略了——配额是操作员的.
服务
adlc autopilot init --service --repo <owner/name> 打印 a systemd --user
单位--write 安装它:绝对路径, EnvironmentFile=<repo>/.env.local
(显示的密钥,文件必须是 0600, (中文(简体) ), Restart=on-failure, (中文(简体) ),
KillMode=control-group准确的SSH认证模式。 礛
systemctl --user enable --now adlc-autopilot。 。 。 .
退出代码
0重复完成(运行、CLARIFY、休息或干燥).1——操作错误:飞行前红色(代号为"物品"-"untrusted-tool:<name>, (中文(简体) ),repo-mismatch, (中文(简体) ),key-file-insecure, (中文(简体) ),spec-approval-stale, (中文(简体) ),plugin-parity,(......),lock-held, (中文(简体) ),bad-input:<field>。 。 。 .2门被拒:一个被钉住的问题被排除(规则被命名),areset被拒绝,运行结束blocked。 。 。 .
ADLC 阶段
P0(triage)通过P5(起诉)作为无人关注的环;P6是人类.
它会消耗票 @adlc/tickets 商店,大门 spec-lint, (中文(简体) ),
coldstart, (中文(简体) ), rails-guard, (中文(简体) ), hollow-test编号 :mutation-gate, (中文(简体) ), prosecute record-cross-model 财务报告和审定财务报表 gate-manifest 记录,和 fleet p4级.
测试
node --test packages/autopilot/test/ - 离线,假的 gh编号 :claude/飞行
孩子们和真正的临时存储器. test/ac-registry.mjs 地图
spec §16 用于输出测试函数和突变固定;
test/spec-coverage.test.mjs 解析被钉住的斑点的外观, 并失败于任意
没有负载试验的标准。 真实的包装和真实的 sshd 检查跳过
当宿主缺少它们时,声音很大.
核心差距
无。 运行时依赖关系是 @adlc/core, (中文(简体) ), @adlc/fleet 财务报告和审定财务报表 @adlc/tickets
只有; 票务同步配置方案从被绑的blob读取并评价
以 lib/schema-lite.mjs 而不是导入 @adlc/ticket-sync。 。 。 .
AC覆盖门
npm run test:gate -w packages/autopilot 运行 test/spec-coverage.test.mjs 与
AUTOPILOT_GATE_FULL=1: 单项的每一个§16标准都登记在册
(单位:千美元)test/ac-registry.mjs),每个已注册的函数被执行,每个
标准中的变异定律被证明为BITE. 执行证是25分
分钟;没有变量,则只进行静态检查(根套件和
变相门保持快速。 在将更改合并到此位置之前运行全闸
软件包.
突变接合器是模块-私有状态下保持的仅测试的断层注射机制,由 lib/mutations.mjs。CLI 切入点 bin/adlc-autopilot.mjs 引用 sealSeams() 在发出命令之前,防止在CLI进程内启动任何接合。 此封条的限制是明确的: 只有通过二进制入口启动的流程被封; 调用者导入 lib/ 模块(如测试跑取器)仍未密封。 在进程中运行的敌对代码已经可以直接从环境中访问敏感密钥,而封存并不能防御执行前代码,例如: --require 或者说 --import 以前运行的预装或加载车钩 main()。 。 。 .