coldstart - ADLC P2 车票可执行门
检查门票在建设代理机触摸前是否完全自成一体. 廉价的 LLM 扮演没有前置上下文的新鲜剂的角色和列表 每问一个问题 人类 在它开始执行之前. 空缺口列表 – 出闸口通(出闸口0). 非空出 出站时间为每张票有间隙.
这是 ADLC 阶段 C3 / P2 ——票入楼前的最后一张支票 队列。 每张票有硬币; 抓取1号原因 建设阶段起伏.
使用量
coldstart <ticket-id> [options]
coldstart --all [options]
选项
| 旗帜 | 默认 | 说明 |
|---|---|---|
--tickets <path> | .adlc/tickets.json | 门票文件路径 |
--all | 关 | 在文件的每一张票上跑出大门 |
--offline | 关 | 在不调用 LLM 或不需要 API 密钥的情况下, 运行断层离线计划和输入合同验证 |
--force | 关 | 全部通过缓存 重新审核所有目标票 |
--max-age <days> | 30 | 将一个比这更古老的缓存裁决视为陈旧; 0 将每个缓存条目视为 stale |
--prompt-only | 关 | 打印准确的提示并退出 0 — 无 LLM 呼叫 |
--record-verdict <file|-> | —— 说 | 与 --prompt-only:从 <file> (或时叫: -并记录为 .adlc/manifest.jsonl 通过 gate-manifest - 见下文 |
--json | 关 | 管弦乐手可读 JSON 输出 |
退出代码
| 代码 | 含义 |
|---|---|
0 | 出入口通行证——机票完全可执行 |
1 | 操作错误——输入错误,票号不明,文件缺失,没有提供者 |
2 | 门故障——一张或多张门票有缺口 |
判断形状——什么是"可读"
请审计员作出答复 {"gaps": [...]}A级 赤数组
(单位:千美元)[{"what": …, "why_blocking": …}] ——最常见的模型偏差)是:
被接受为空白列表,字符串条目被包裹为
{"what": "<text>", "why_blocking": "unspecified"}。 。 。 . 其它东西都不是
通过数字 : {}, (中文(简体) ), {"result": "ok"}, (中文(简体) ), {"blockers": [...]}, (中文(简体) ), {"gaps": null}, (中文(简体) ),
{"gaps": "two gaps found"},或没有字符串的条目 what 制造
冷启动退出 1 与 coldstart: unreadable executability verdict — … - 那个
工具无法读取判断, 因此它报告操作错误, 记录
无所事事 从不隐藏 存储的先前缓存条目 gaps 没有
可读列表被跳过而不是作为命中点(问题594)。 这个
ADLC_GATE_MOCK_RESPONSE 试验接缝遵循同样的规则:不可拆卸或
形状异常模拟器是退出 1没有 []。 。 。 .
实例
# Check a single ticket
coldstart T1
# Check all tickets, output JSON
coldstart --all --json
# Print the exact prompt without calling an LLM (paste into any harness)
coldstart T1 --prompt-only
# Use a custom tickets file
coldstart T3 --tickets path/to/tickets.json
缓存
真实( 非--prompt-only(a) 审计记录 {ticketHash, model, gaps} 输入
.adlc/manifest.jsonl 在它运行之后。 NEXT运行,为SOME票,跳过
lLM 呼叫完全当它找到匹配条目时: 相同 ticketHash (单位:千美元)
票的内容没有改变
不同散列)和相同 已解决 型号 id( 不只相同) --tier —— 说
切换 ADLC_MODEL_CHEAP 即使缓存无效 --tier cheap
保持同一旗帜). 缓存运行报告 "cached": true 内 --json
输出和 (cached) 在人可读的报告中.
# First run audits for real and records the verdict
coldstart --all
# Second run, nothing changed: instant, no LLM calls
coldstart --all
# Force a fresh audit regardless of any cache entry
coldstart --all --force
# Don't trust anything cached more than a week ago
coldstart --all --max-age 7
缓存仅适用于真实的LLM路径—— --prompt-only (有无)
--record-verdict)不受影响 ADLC_GATE_MOCK_RESPONSE 测试
切换从不读取或写入缓存( 被嘲弄的判决绝对不能)
影子,或被阴影, 一个真实的.
记录操作员的快速裁决
Claude Code(以及没有赤裸的API密钥的类似用具) --prompt-only 实值
通常如何运行 coldstart : 工具打印审计提示和
运算器(模型本身)回答它并应用判断. 无
--record-verdict自我评估的判决从未被抓住——只有
已打印的提示是可见的. --record-verdict <file|->
关闭该空格: 打印出提示后, 它会读取
操作员的回答来自 <file> (或时叫: -并记录到
.adlc/manifest.jsonl 通过 @adlc/gate-manifest属于自己的 record() - 重新使用其
hash-chaining/signing 逻辑而不是重用它.
# Operator writes their answer to a file, then records it
coldstart T1 --prompt-only --record-verdict verdict.txt
# Or pipe the answer straight from stdin
echo '{"gaps":[],"ticketHash":"<ticketHash from `adlc ticket show T1 --json`>"}' \
| coldstart T1 --prompt-only --record-verdict -
--record-verdict 需求 --prompt-only (另出一出). 记录
条目 gate 实值 coldstart, (中文(简体) ), data.verdict 保存运算符的文本
逐字记录和 data.ticketIds 列出所覆盖的每张票( 有用)
与 --all) (中文(简体) ). P0大门packages/runner/lib/assertions.mjs进一步
需求 data.verdict 要成为 JSON 匹配 {"gaps":[...],"ticketHash":"…"}
带空 gaps 数组和 a ticketHash 匹配当前车票
定义 —— 自由形式的通用语(例如:. "PASS: no gaps found"() 记录
成功但以无效的 JSON 失败 P0 断言 .
什么是差距?
该模型被指示 从回购中获取的信息不算 作为缺失只有真正的人类问题才是差距:
- 引用但未嵌入的数据形状( 如“ 使用 UserSchema ” , 没有 schema)
- 已指定但缺失的合同( 缺失类型文件的对接点)
- 无法进行机械核查的接受标准
- 模糊范围("改进","清理","修补")
- 无法从上下文推断出未声明的目标文件
JSON 输出计划
{
"ok": true,
"results": [
{
"id": "T1",
"pass": true,
"gaps": []
},
{
"id": "T2",
"pass": false,
"gaps": [
{ "what": "UserSchema", "why_blocking": "Shape referenced in body but not defined." }
]
}
]
}
提供者配置
该工具自动检测第一个可用的提供者, 顺序为 :
ANTHROPIC_API_KEY → OPENAI_API_KEY → GEMINI_API_KEY。 。 。 .
强制提供者: ADLC_PROVIDER=openai。 。 。 .
取代便宜级模式: ADLC_MODEL_CHEAP=claude-haiku-4-5。 。 。 .
没有提供者,该工具将退出 1 除非 --prompt-only 通过.
已进入ADLC阶段
C3/P2级 ——票可执行门. 运行后 spec-lint (C1)和之前
门票进入建设队列。 与 C1 并列的廉价温斯集群的一部分
和C5类(rails-guard) (中文(简体) ).
核心差距
@adlc/core 提供 activeTickets 过滤已完成的门票( 丢弃)
并剥去指向它们的边缘,在审计时保持剩余的DAG有效)
打开积压。 临Τㄇ cold ┮羆浪琩ЧΘ
明确姓名的罚单。 其它东西都可以在 @adlc/core数字 :
loadTickets, (中文(简体) ), complete, (中文(简体) ), extractJson, (中文(简体) ), parseArgs, (中文(简体) ), pass, (中文(简体) ), gateFail, (中文(简体) ),
opError, (中文(简体) ), printJson, (中文(简体) ), promptOnly, (中文(简体) ), detectProvider。 。 。 .